diff --git a/changelog.d/1278-communal-receipt-bands.changed.md b/changelog.d/1278-communal-receipt-bands.changed.md new file mode 100644 index 0000000000..af635bb513 --- /dev/null +++ b/changelog.d/1278-communal-receipt-bands.changed.md @@ -0,0 +1 @@ +`tools/uk_target_surface_receipt.py --communal` sizes the age-universe change planned on microcosm#1278. Beside the 18-24 student rule it now gives, for every local ten-year age band and 80 and over, each area's census communal-establishment share and how many areas reach 20% and 25%: the amount a private-household target would sit below the total-resident row the incumbent evaluation gates at 25%. It also composes the region-tier shares from local authorities and reads NISRA CT0105 for Northern Ireland's districts, marked approximate (CT0105 counts communal residents only, so its bands are spread evenly over single years against NISRA's mid-2025 district population). `--communal-only` writes that receipt without compiling the target surface. The tool's first tests use synthetic facts. An age label such as "Aged 2 years and under" now reads as 0-2. diff --git a/changelog.d/1278-council-tax-band-domain-terminal.added.md b/changelog.d/1278-council-tax-band-domain-terminal.added.md new file mode 100644 index 0000000000..166d0d5907 --- /dev/null +++ b/changelog.d/1278-council-tax-band-domain-terminal.added.md @@ -0,0 +1 @@ +A terminal, release-blocking gate, `uk_council_tax_band_domain_terminal`, checks each household's council-tax band against its nation's bands on the frame the release ships, with the spine gate's parameters (microcosm#1278 review). The spine gate stops at the transferred boundary, so a later step that writes the band, such as a full build's band redraw after geography derivation, was checked by nothing. The release-cut scope owns it. diff --git a/changelog.d/1278-council-tax-band-domain.fixed.md b/changelog.d/1278-council-tax-band-domain.fixed.md new file mode 100644 index 0000000000..0430725779 --- /dev/null +++ b/changelog.d/1278-council-tax-band-domain.fixed.md @@ -0,0 +1 @@ +The UK SPI housing shell now keeps every council-tax band inside the bands its nation uses (microcosm#1278). Its classifier conditions on region but had no nation mask, so SPI-channel households in England and Scotland could draw band I, and Northern Ireland households a band other than the FRS placeholder D. No target counts those rows, and a computed council tax would charge a band missing from a nation's ratio table at the Band D ratio. A drawn band outside the nation's bands is now drawn again from the classifier's probabilities over those bands, with its own identity-keyed uniform: every valid draw is unchanged, the redrawn rows follow the classifier conditioned on the nation, and the stage receipt counts the redraws by nation. The bands live in the new `uk_runtime.council_tax_constants`, which `frs_spine` and `local_targets` now import, and a new release-blocking spine gate, `uk_council_tax_band_domain`, checks every household at the transferred boundary. For it, the shared `enum_domain_gate` takes optional per-partition domains, and a declared domain must equal the shared constant. diff --git a/changelog.d/1278-frs-ni-placeholder-band.fixed.md b/changelog.d/1278-frs-ni-placeholder-band.fixed.md new file mode 100644 index 0000000000..5139069a59 --- /dev/null +++ b/changelog.d/1278-frs-ni-placeholder-band.fixed.md @@ -0,0 +1 @@ +Northern Ireland FRS households take the placeholder council-tax band D whatever `ctband` holds (`frs_spine.frs_council_tax_band`), so the band no longer relies on the FRS leaving `ctband` unset there (microcosm#1278 review). Every Northern Ireland household on the licensed data already holds D, so no band moves. diff --git a/changelog.d/1278-local-binding-adjudications-renewed.changed.md b/changelog.d/1278-local-binding-adjudications-renewed.changed.md new file mode 100644 index 0000000000..f590c9cac3 --- /dev/null +++ b/changelog.d/1278-local-binding-adjudications-renewed.changed.md @@ -0,0 +1 @@ +The six UK local binding adjudications in `uk/local_binding_adjudications.json` are renewed for three months, to 2027-01-14, approved by juaristi22 on 2026-10-14 (microcosm#1278). Each adjudication records the renewal and why the basis still holds. Four reasons are re-worded where the basis moved: the census household cells now reconcile to the nation household controls (microcosm#1198); the HMRC area surface also binds higher rate taxpayer counts, which HMRC classes by the marginal rate paid rather than by a total-income band; the age cells bind mid-2025 for local authorities and mid-2024 for constituencies, and the private-household entry now points to the age-universe change microcosm#1278 plans, which retires it; and the UC area series still count every claim, nil awards included, bridged to the paid caseload until PolicyEngine/chronicle#339 lands. diff --git a/changelog.d/1278-parity-register-council-tax-coverage.fixed.md b/changelog.d/1278-parity-register-council-tax-coverage.fixed.md new file mode 100644 index 0000000000..cb6d9ee6aa --- /dev/null +++ b/changelog.d/1278-parity-register-council-tax-coverage.fixed.md @@ -0,0 +1 @@ +The UK data-target parity register now credits the 25 local council-tax contract rows (`mhclg`, `welshgov` and `scotgov` `council_tax_stock.by_area`) with covering uk-data's `la_council_tax` source; the coverage key still named the retired `voa.council_tax_stock.by_area.` prefix (microcosm#1278). Three stale texts are corrected: the English region concern names the councils' taxbase rows and the nation grain of the cross-grain rule, and the two private-rent concerns describe the pinned feed's calendar-2025 PIPR series rather than a June 2026 snapshot. diff --git a/changelog.d/1278-parity-small-cell-rationale.fixed.md b/changelog.d/1278-parity-small-cell-rationale.fixed.md new file mode 100644 index 0000000000..8c161c3666 --- /dev/null +++ b/changelog.d/1278-parity-small-cell-rationale.fixed.md @@ -0,0 +1 @@ +In the local compile-parity receipt, a cell the incumbent carries but a signed small-cell rule defers now carries its deferral's signed rationale, which names the rule, instead of the generic taxbase reason (microcosm#1278 review). diff --git a/changelog.d/1278-small-cell-deferrals-narrowed-runs.fixed.md b/changelog.d/1278-small-cell-deferrals-narrowed-runs.fixed.md new file mode 100644 index 0000000000..5acaa463ec --- /dev/null +++ b/changelog.d/1278-small-cell-deferrals-narrowed-runs.fixed.md @@ -0,0 +1 @@ +A UK small-cell deferral is now placed in the reconciliation frame of a run with its own ladder as an off-surface cell is (microcosm#1278). When the run's ladder cannot place the deferral's English area but the membership binds cells for that area, the run is a narrowed one (a sample or a test ladder), so the deferral is left out and named in the cross-grain receipt's `small_cell_deferrals.areas_outside_the_ladder`; an area the membership binds nothing for still refuses. While both small-cell rules were unsigned no cell took this path; signing them made every narrowed run refuse. `uk_small_cell_deferred_cells` carries `area_has_bound_cells`, and `tools/uk_target_surface_receipt.py` reports the block. diff --git a/changelog.d/1278-small-cell-rules-signed.changed.md b/changelog.d/1278-small-cell-rules-signed.changed.md new file mode 100644 index 0000000000..dfac006756 --- /dev/null +++ b/changelog.d/1278-small-cell-rules-signed.changed.md @@ -0,0 +1 @@ +Both UK local small-cell rules in `uk/local_small_cell_rule.json` are signed, approved by juaristi22 on 2026-10-14 and expiring 2027-04-01 (microcosm#1278). The regenerated local references now defer the cells the rules name: the 16 council-tax band cells of fewer than 50 dwellings (band G 3, band H 7, band I 6) and the 192 higher rate taxpayer cells HMRC publishes at 5,000 or fewer, where its rounding to the thousand can reach 10% (155 constituencies, 37 local authorities). Each deferred cell still counts in its region's or nation's control through reconciliation. The local surface binds 24,269 references, down from 24,477; the local scorer's frozen count, the target-surface battery pin, the assembly runbook and the local compile-parity receipt move with it. New tests require every committed rule to be signed, pin the deferred cells, and fail 14 days before a rule lapses. diff --git a/changelog.d/1278-support-below-floor.added.md b/changelog.d/1278-support-below-floor.added.md new file mode 100644 index 0000000000..d5bb941165 --- /dev/null +++ b/changelog.d/1278-support-below-floor.added.md @@ -0,0 +1 @@ +UK local builds again flag the areas below the support floor (microcosm#1278). The graph path's area-support table (the candidate manifest's `area_support_summary`) carries `support_below_floor`, set under the floors the `uk_local_area_support` gate declares, and a reviewed exclusion does not clear it. The dense release manifest gains an `area_support` block that names the areas below the floor by grain, as codes only, with the floors; the data contract checks the block when present, and each listed area must carry its reviewed `area_support_exclusion` limitation. The support floors live in one shared helper that both the gate and the flag use. The two support-floor exclusions say where the flag is now recorded; it went with the old driver on 2026-09-25. diff --git a/changelog.d/1278-support-floor-reasons-no-figures.changed.md b/changelog.d/1278-support-floor-reasons-no-figures.changed.md new file mode 100644 index 0000000000..67d62a50ba --- /dev/null +++ b/changelog.d/1278-support-floor-reasons-no-figures.changed.md @@ -0,0 +1 @@ +The two UK local-authority support-floor exclusions (Isles of Scilly, City of London) and the generated deferral rationale for their own cells now say which part of the 50-row / ESS-50 / 50-source floor each area misses, without per-area support figures (microcosm#1278 review). diff --git a/docs/evidence/uk-local-surface-1278/README.md b/docs/evidence/uk-local-surface-1278/README.md new file mode 100644 index 0000000000..b7eb70120f --- /dev/null +++ b/docs/evidence/uk-local-surface-1278/README.md @@ -0,0 +1,16 @@ +# UK local surface, first #1278 PR: measurement scripts + +Evidence for microcosm#1278's first PR. The results are in [experiments/1278-uk-local-surface-receipts.md](../../../experiments/1278-uk-local-surface-receipts.md); this folder holds the scripts that produced the measured ones. + +## Scripts + +- `scripts/compare_twin_bands.py` (C1). Compares the council-tax bands of two spines built from the licensed inputs with the same recipe and seed, one on main and one on the branch. It aligns the base households (those that are not CGT copies) by lineage and reports, by nation, the households whose band lies outside the nation's bands, the bands that changed, and the columns that differ, with the households each moves on at all and by more than 0.1% and 1%. It writes counts only as bands (0, <10, 10-29, 30+) and no weighted figure. +- `scripts/cgt_stage_residual.py` (C8). Reads one built spine at its design weights and compares the liable gainers in each of the CGT stage's own age and region groups with the HMRC margins the stage rakes onto, folded by the stage's own functions. A group below 30 distinct survey source households, or whose weighted gains fail either dominance rule (the largest source household holds at most half of the group's gains; the p% rule at p = 10), is pooled with its neighbour, so no group can be recovered by subtraction and no group's gains reveal one household's. Its output stays outside the repository for now. + +`tools/uk_target_surface_receipt.py --communal-only` produces C7's census sizing; it reads only public census facts from the pinned Chronicle feed. + +## What is not here + +- **Licensed inputs and unit records.** The spines, the survey files and the twin comparison's raw output stay outside the repository. +- **C8's output.** The script was run on main's spine, and its output stays outside the repository for now. A later report should use that one spine: the same figures on the branch's spine would differ only through the households the fix moved, so the two could be subtracted. +- **Weighted households by band before and after the fix.** The difference between the two spines' weighted band totals would isolate the households the fix moved, so neither spine's weighted band totals are reported. diff --git a/docs/evidence/uk-local-surface-1278/scripts/cgt_stage_residual.py b/docs/evidence/uk-local-surface-1278/scripts/cgt_stage_residual.py new file mode 100644 index 0000000000..9d860ecef9 --- /dev/null +++ b/docs/evidence/uk-local-surface-1278/scripts/cgt_stage_residual.py @@ -0,0 +1,195 @@ +"""Stage-level CGT residual at design weights, by the stage's own groups (microcosm#1278, #725). + +Usage: cgt_stage_residual.py + +The CGT stage rakes liable gainers onto HMRC Table 6 (taxpayers and gains by age), folded onto +seven age groups with 75 and over pooled, and onto Table 5 (taxpayers by region), folded onto four +region groups. This script reads a built spine at its design weights and compares the liable +gainers in each group (gains above the annual exempt amount) with those folded margins, through the +stage's own folding functions. A reported group rests on 30 or more distinct survey source +households (clones and copies count once), and a group that reports gains also passes two +dominance rules on its weighted gains, counted by source household: the largest holds at most half +of the group's gains, and what the group holds beyond its two largest is at least 10% of the +largest (the p% rule at p = 10). A group that fails is pooled with its neighbour (the next older +age group, or the next region group in the stage's order; the last group with the one before it) +until every reported group passes, so no group can be recovered by subtracting the others from a +total, and no group's gains reveal one household's. +""" + +from __future__ import annotations + +import json +import sys + +import numpy as np +import pandas as pd + +from microcosm.build.uk_runtime.cgt_imputation import ( + UK_CGT_AGE_GROUP_LOWER_BOUNDS, + UK_CGT_REGION_GROUP_LABELS, + _fold_age_gains_margin, + _fold_age_margin, + _fold_region_margin, + _person_conditioning_cells, + uk_cgt_policy_parameters, +) +from microcosm.build.uk_runtime.hmrc_capital_gains import ( + load_hmrc_cgt_conditioning_facts, +) + +MINIMUM_SOURCES = 30 +#: Dominance rules on a group's weighted gains, by source household. +TOP_SOURCE_SHARE_MAX = 0.5 +P_PERCENT = 0.10 + + +def passes_dominance(contributions: pd.Series) -> bool: + """The largest source holds at most half, and the p% rule holds.""" + + ordered = contributions.sort_values(ascending=False).to_numpy(float) + total = float(ordered.sum()) + if total <= 0.0: + return False + largest = ordered[0] + second = ordered[1] if len(ordered) > 1 else 0.0 + remainder = total - largest - second + return largest <= TOP_SOURCE_SHARE_MAX * total and remainder >= P_PERCENT * largest + + +def pooled_groups( + group_sources: list[set], group_contributions: list[pd.Series] | None = None +) -> list[list[int]]: + """Adjacent groups pooled until each pool passes the floor and, with gains, dominance.""" + + def passes(pool: list[int]) -> bool: + sources = set().union(*(group_sources[index] for index in pool)) + if len(sources) < MINIMUM_SOURCES: + return False + if group_contributions is None: + return True + joined = pd.concat([group_contributions[index] for index in pool]) + return passes_dominance(joined.groupby(level=0).sum()) + + pools: list[list[int]] = [] + current: list[int] = [] + for index in range(len(group_sources)): + current.append(index) + if passes(current): + pools.append(current) + current = [] + if current: + if not pools: + raise SystemExit("The liable gainers cannot be grouped to pass the rules.") + pools[-1].extend(current) + # Joining the tail can break the pool it joins; join backwards until it passes. + while not passes(pools[-1]): + if len(pools) == 1: + raise SystemExit("The liable gainers cannot be grouped to pass the rules.") + tail = pools.pop() + pools[-1].extend(tail) + return pools + + +def age_labels() -> list[str]: + bounds = UK_CGT_AGE_GROUP_LOWER_BOUNDS + return [ + f"{low}-{bounds[index + 1] - 1}" if index + 1 < len(bounds) else f"{low}+" + for index, low in enumerate(bounds) + ] + + +def main(spine_path: str, out_path: str) -> None: + with pd.HDFStore(spine_path, mode="r") as store: + person = store["person"] + household = store["household"] + weight = ( + person["person_household_id"] + .map( + pd.Series( + household["household_weight"].to_numpy(float), + index=household["household_id"], + ) + ) + .to_numpy(float) + ) + source = ( + person["person_household_id"] + .map( + pd.Series( + household["household_source_id"].to_numpy(), + index=household["household_id"], + ) + ) + .to_numpy() + ) + _, age_group, _, region_group = _person_conditioning_cells(person, household) + exempt = uk_cgt_policy_parameters(2024).annual_exempt_amount + gains = person["capital_gains"].to_numpy(float) + liable = gains > exempt + conditioning = load_hmrc_cgt_conditioning_facts() + targets = { + "age_taxpayers": _fold_age_margin(conditioning), + "age_gains": _fold_age_gains_margin(conditioning), + "region_taxpayers": _fold_region_margin(conditioning), + } + + def report(labels, groups, target_counts, target_gains=None): + masks = [liable & (groups == index) for index in range(len(labels))] + contributions = ( + None + if target_gains is None + else [ + pd.Series((weight * gains)[mask]).groupby(source[mask]).sum() + for mask in masks + ] + ) + rows = [] + sources = [set(pd.unique(source[mask])) for mask in masks] + for pool in pooled_groups(sources, contributions): + mask = np.logical_or.reduce([masks[index] for index in pool]) + target_count = float(sum(target_counts[index] for index in pool)) + achieved = float(weight[mask].sum()) + row = { + "group": " + ".join(labels[index] for index in pool), + "target_taxpayers": round(target_count), + "achieved_taxpayers": round(achieved), + "taxpayers_residual": achieved / target_count - 1.0, + } + if target_gains is not None: + target = float(sum(target_gains[index] for index in pool)) + achieved_gains = float((weight * gains)[mask].sum()) + row["target_gains"] = round(target) + row["achieved_gains"] = round(achieved_gains) + row["gains_residual"] = achieved_gains / target - 1.0 + rows.append(row) + return rows + + out = { + "spine": spine_path.rsplit("/", 1)[-1], + "annual_exempt_amount": exempt, + "weights": "design (spine household_weight)", + "minimum_distinct_sources_per_group": MINIMUM_SOURCES, + "gains_dominance": { + "top_source_share_max": TOP_SOURCE_SHARE_MAX, + "p_percent": P_PERCENT, + }, + "age_groups": report( + age_labels(), + age_group, + targets["age_taxpayers"], + targets["age_gains"], + ), + "region_groups": report( + list(UK_CGT_REGION_GROUP_LABELS), + region_group, + targets["region_taxpayers"], + ), + } + with open(out_path, "w", encoding="utf-8") as handle: + json.dump(out, handle, indent=1) + handle.write("\n") + print(json.dumps(out, indent=1)) + + +if __name__ == "__main__": + main(*sys.argv[1:3]) diff --git a/docs/evidence/uk-local-surface-1278/scripts/compare_twin_bands.py b/docs/evidence/uk-local-surface-1278/scripts/compare_twin_bands.py new file mode 100644 index 0000000000..a025184005 --- /dev/null +++ b/docs/evidence/uk-local-surface-1278/scripts/compare_twin_bands.py @@ -0,0 +1,149 @@ +"""microcosm#1278 C1 receipt: compare two spines' council-tax bands (counts as bands only). + +Usage: compare_twin_bands.py + +The two spines are built from the licensed inputs with the same recipe and seed, +one on main and one on the branch, and must hold the same base households (those +that are not CGT copies). Reports, by nation: + - base households whose band lies outside the nation's bands, in each spine; + - base households whose band changed between the spines, by support channel; + - the base-household columns that differ, with the rows they differ on at all and + by more than 0.1% and 1% of the control value (numeric columns). +Every count of rows or households is written only as a band (0, <10, 10-29, 30+), and +the script writes no weighted figure. The output stays with the licensed spines, +outside the repository; experiments/1278-uk-local-surface-receipts.md reports it. +""" + +from __future__ import annotations + +import json +import sys + +import numpy as np +import pandas as pd + +from microcosm.build.uk_runtime.council_tax_constants import ( + UK_COUNCIL_TAX_BANDS_BY_NATION, + UK_NATION_BY_REGION, +) + + +def band(n: int) -> str: + return "0" if n == 0 else "<10" if n < 10 else "10-29" if n < 30 else "30+" + + +def load(path: str) -> dict[str, pd.DataFrame]: + with pd.HDFStore(path, mode="r") as store: + return {name: store[name] for name in ("person", "benunit", "household")} + + +def outside(household: pd.DataFrame) -> pd.Series: + nation = household["region"].astype(str).map(UK_NATION_BY_REGION) + allowed = nation.map(UK_COUNCIL_TAX_BANDS_BY_NATION) + return pd.Series( + [ + b not in a + for b, a in zip( + household["council_tax_band"].astype(str), allowed, strict=True + ) + ], + index=household.index, + ) + + +_COPY_FLAGS = ( + "household_is_capital_gains_clone", + "household_is_cgt_support_copy", + "household_is_cgt_residential_clone", +) +_LINEAGE_KEY = [ + "household_source_id", + "household_support_channel", + "household_support_clone_index", + "household_is_spi_income_band_donor", + "spi_income_band_donor_lower_bound", +] + + +def base_households(household: pd.DataFrame) -> pd.DataFrame: + """Households that are not CGT copies, keyed by lineage. + + Copy stages after the housing shell can mint a different number of copies + when a band moves (they condition on housing and wealth), so household + ids shift; the lineage key names the same household in both spines. + """ + + copy = household[list(_COPY_FLAGS)].astype(bool).any(axis=1) + base = household.loc[~copy].copy() + base.index = pd.MultiIndex.from_frame(base[_LINEAGE_KEY].astype(str)) + if not base.index.is_unique: + raise SystemExit("The lineage key does not name each base household once.") + return base.sort_index() + + +def main(control_path: str, branch_path: str, out_path: str) -> None: + control, branch = load(control_path), load(branch_path) + ch, bh = base_households(control["household"]), base_households(branch["household"]) + if not ch.index.equals(bh.index): + raise SystemExit("The two spines do not hold the same base households.") + nation = ch["region"].astype(str).map(UK_NATION_BY_REGION) + channel = ch["household_support_channel"].astype(str) + changed = ( + ch["council_tax_band"].astype(str).to_numpy() + != bh["council_tax_band"].astype(str).to_numpy() + ) + out_c = outside(ch.reset_index(drop=True)).to_numpy() + out_b = outside(bh.reset_index(drop=True)).to_numpy() + out: dict[str, object] = { + "rows": { + entity: { + "control": band(len(control[entity])), + "branch": band(len(branch[entity])), + "difference": band(abs(len(control[entity]) - len(branch[entity]))), + } + for entity in ("person", "benunit", "household") + }, + "base_households": band(len(ch)), + "rows_outside_their_nation": { + "control_all_rows": band(int(outside(control["household"]).sum())), + "branch_all_rows": band(int(outside(branch["household"]).sum())), + }, + "changed_bands_were_all_outside_in_control": bool((~changed | out_c).all()), + "valid_control_bands_changed": band(int((changed & ~out_c).sum())), + "nations": {}, + "base_household_columns_that_differ": {}, + } + for name in UK_COUNCIL_TAX_BANDS_BY_NATION: + rows = (nation == name).to_numpy() + record = { + "outside_nation_bands_control": band(int((rows & out_c).sum())), + "outside_nation_bands_branch": band(int((rows & out_b).sum())), + "band_changed": { + ch_name: band( + int((rows & changed & (channel == ch_name).to_numpy()).sum()) + ) + for ch_name in ("frs", "spi") + }, + } + out["nations"][name] = record + for column in sorted(set(ch.columns) & set(bh.columns)): + a, b = ch[column].reset_index(drop=True), bh[column].reset_index(drop=True) + same = (a == b) | (a.isna() & b.isna()) + if bool(same.all()): + continue + record = {"any": band(int((~same).sum()))} + if pd.api.types.is_numeric_dtype(a) and pd.api.types.is_numeric_dtype(b): + x, y = a.to_numpy(float), b.to_numpy(float) + gap = np.abs(y - x) / np.maximum(np.abs(x), 1e-9) + for threshold, label in ((0.001, "over_0.1%"), (0.01, "over_1%")): + moved = ~same.to_numpy() & ~(gap <= threshold) + record[label] = band(int(moved.sum())) + out["base_household_columns_that_differ"][column] = record + with open(out_path, "w", encoding="utf-8") as handle: + json.dump(out, handle, indent=1) + handle.write("\n") + print(json.dumps(out, indent=1)[:8000]) + + +if __name__ == "__main__": + main(*sys.argv[1:4]) diff --git a/docs/uk-dense-release-assembly-runbook-762.md b/docs/uk-dense-release-assembly-runbook-762.md index f9583000de..8568f59bb0 100644 --- a/docs/uk-dense-release-assembly-runbook-762.md +++ b/docs/uk-dense-release-assembly-runbook-762.md @@ -110,7 +110,9 @@ uv run --no-sync python tools/score_uk_local_candidate.py ... --output-json /microcosm_uk_2024_25_local.target_selection.json` (the manifest's `outputs.target_registry`); it scores that selection's local rows, -which must be the 21,804 compiled local references of the #1123 surface and +which must be the 24,269 compiled local references of the #1123 surface +with #1240's high-value homes cells, less the 208 cells #1278's signed +small-cell rules defer, and must all appear in the candidate's diagnostics, so scoring needs the full rung. The pre-flight checks the manifest and the signed gate report for everything diff --git a/experiments/1278-uk-local-surface-receipts.md b/experiments/1278-uk-local-surface-receipts.md new file mode 100644 index 0000000000..e399c132f0 --- /dev/null +++ b/experiments/1278-uk-local-surface-receipts.md @@ -0,0 +1,73 @@ +# microcosm#1278: UK local surface, receipts for the first PR + +This receipt gives no counts or weighted figures from the licensed spines. Census and publisher figures are public statistics and appear as published. + +## C1. Council-tax bands stay inside their nation + +**Method.** Two spines were built from the licensed inputs with the same recipe and seed, local only, before the branch was rebased onto later main: +- main at `121fd4dd6`; +- the branch's two C1 commits on that base (the band restriction and its raw-score redraw). + +The shell's code has not changed since: the rebases onto later main (#1271, #1270) touch no part of the redraw. #1270's band redraw after geography derivation runs in the full build, after the spine, and the terminal gate `uk_council_tax_band_domain_terminal` checks it. + +They hold the same set of base households (households that are not CGT copies), named by lineage (source household, support channel, clone index, income-band donor). The comparison script is `docs/evidence/uk-local-surface-1278/scripts/compare_twin_bands.py`; its outputs stay with the licensed spines, outside the repository. + +**Result.** +- **On main**, SPI-channel households in England and Scotland held band I, and SPI-channel households in Northern Ireland held bands other than the placeholder D. +- **On the branch**, no household holds a band its nation does not use. +- **Every band that changed** was outside its nation on main, and no valid band moved. No FRS-channel household's band changed: the shell draws housing only for SPI-channel households and refuses to modify an FRS row. +- **Downstream:** columns that later stages draw for each household from its housing or wealth (the council-tax amounts, the WAS wealth, the LCFS spending, the ETB VAT rate and the NTS travel) move on few households. Columns that a later stage rakes or scales over a whole cell (household weights, energy use, road fuel and the totals that contain them) move a little on more households, because a few moved households change the cell's factor. The number of CGT copies also differs, because the copy stages condition on housing and wealth. + +Weighted households by band and nation are not reported for either spine: the difference between the two spines' totals would isolate the households the fix moved. + +**The first attempt refused on licensed data.** The first version renormalised `predict_proba` over the nation's bands. For some English households the classifier scores band I so far above A-H that its softmax gives A-H probability exactly zero, and the stage refused. The redraw now takes a softmax of the raw class scores over the nation's bands: the same conditional distribution, without the underflow (the second C1 commit). + +## C2. Signed small-cell rules + +Both rules in `uk/local_small_cell_rule.json` are signed: approved by juaristi22 on 2026-10-14, expiring 2027-04-01. `tools/generate_uk_local_target_references.py` regenerated the local references on the pinned feed (`735820c`). The cells are publisher target cells, not survey records. + +| Status of a local cell | main (`579296653`) | This branch | +| --- | --- | --- | +| Active (bound) | 24,477 | 24,269 | +| Signed deferral | 348 | 556 | +| No fact for the area | 1,239 | 1,239 | +| Signed deferral, other compile error | 1 | 1 | + +The 208 new deferrals are exactly the cells the two rules name: +- `council_tax_band_household_floor`, published value below 50 dwellings: 16 local-authority cells. Band G 3 (MHCLG 1, Scottish Government 2), band H 7 (Scottish Government 5, Welsh Government 2), band I 6 (Welsh Government). +- `hmrc_rounded_thousand_floor`, published value below 5,500: 192 higher rate taxpayer cells, 155 constituencies and 37 local authorities. + +No deferral was removed, and no other status moved. Each deferred cell still counts in its region's or nation's control through reconciliation. + +The local compile-parity receipt (`uk/ledger_compile_parity_local_incumbent_2025_signed_differences.json`, regenerated with `tools/build_uk_ledger_compile_parity_signed_differences.py --surface local`) now compares 24,269 compiled cells with the incumbent's 23,545: +- 207 of the 208 deferred cells had no incumbent row, so the ledger-only differences fall from 5,198 to 4,991; +- the other one has an incumbent row, so it moves from calibration drift (19,276 to 19,275) to fixture-only (4,266 to 4,267). + +## C7. Sizing the age-universe change from census data + +`tools/uk_target_surface_receipt.py --communal-only` on the `942a1fa` feed; its census packages are unchanged in `735820c`, the feed main now pins. These are public census figures: +- ONS RM120 for England and Wales; +- NRS UV101a for Scotland; +- NISRA CT0105 for Northern Ireland, approximate. + +Under the planned change, a band's private-household target sits below the incumbent's total-resident row by the band's communal share. The release's incumbent evaluation gates that row at 25%. + +| Band | Constituencies at 20%+ | at 25%+ | Local authorities at 20%+ | at 25%+ | Median constituency share | +| --- | --- | --- | --- | --- | --- | +| 10-20 | 32 | 19 | 9 | 3 | 0.8% | +| 20-30 | 6 | 2 | 3 | 2 | 0.9% | +| 80 and over | 0 | 0 | 0 | 0 | 7.3% | +| Every other band | 0 | 0 | 0 | 0 | under 1.2% | + +- Northern Ireland's districts reach neither threshold in any band. +- The region-tier shares, composed from local authorities, run from 5.4% to 8.5% for 80 and over and from 2.2% to 6.3% for 10-20 outside Northern Ireland; Northern Ireland's approximate shares are 2.7% and 0.7%. + +**What this means.** Under the change, about 21 constituency cells (19 in the 10-20 band, 2 in 20-30) and 5 local-authority cells would sit at least 25% below the incumbent's rows by construction. That blocks release unless the evaluation compares on one universe too: a ruling for the November change. + +## C8. CGT stage residual at design weights + +`docs/evidence/uk-local-surface-1278/scripts/cgt_stage_residual.py` measures the CGT stage's residual on a built spine at its design weights (microcosm#725). It compares the liable gainers (gains above the annual exempt amount) in the stage's own groups with the HMRC margins the stage rakes onto, folded by the stage's own functions: +- Table 6 by age, in seven groups with 75 and over pooled; +- Table 5 by region, in four groups (taxpayers only). + +A group below 30 distinct survey source households is pooled with its neighbour, and so is a group whose weighted gains fail either dominance rule, counted by source household: the largest holds at most half of the group's gains, and what the group holds beyond its two largest is at least 10% of the largest (the p% rule at p = 10). No group can then be recovered by subtracting the others from a total, and no group's gains reveal one household's. The script has been run on the spine built from main (`121fd4dd6`); its results are not in this receipt. The calibrated view, by region and by seat, waits for the pre-Budget build (M4). diff --git a/packages/microcosm-build/src/microcosm/build/gates.py b/packages/microcosm-build/src/microcosm/build/gates.py index abc494a99a..6b5be4ced7 100644 --- a/packages/microcosm-build/src/microcosm/build/gates.py +++ b/packages/microcosm-build/src/microcosm/build/gates.py @@ -1863,6 +1863,10 @@ def _enum_domain_names(domain: Iterable[object] | object) -> tuple[str, ...]: def enum_domain_gate( column_values: Mapping[str, Iterable[object]], enum_domains: Mapping[str, Iterable[object] | object], + *, + partitions: Mapping[str, Iterable[object]] | None = None, + partition_domains: Mapping[str, Mapping[str, Iterable[object] | object]] + | None = None, ) -> GateResult: """Validate exported enum inputs against their engine enum domains. @@ -1876,17 +1880,28 @@ def enum_domain_gate( column_values: Exported enum column -> stored values. enum_domains: Exported enum column -> valid enum members, member names, or an enum class exposing ``__members__``. + partitions: Optional column -> one partition label per stored value, + in the same order (a household's nation, say). + partition_domains: Optional column -> partition label -> the members + valid for rows with that label. Each must lie inside the column's + enum domain. A value passes only when it is in the enum domain and + in its row's partition domain; a label with no declared domain + fails its rows. Returns: Pass iff every provided enum column's non-missing values are inside - its declared domain. Missing values are treated as invalid because a - present enum input column should be fully interpretable by the engine; - omit the column to let the engine default it. + its declared domain, and inside its row's partition domain where one + is declared. Missing values are treated as invalid because a present + enum input column should be fully interpretable by the engine; omit + the column to let the engine default it. """ + partitions = partitions or {} + partition_domains = partition_domains or {} failures: list[str] = [] invalid_counts: dict[str, int] = {} invalid_examples: dict[str, list[str]] = {} allowed_values: dict[str, list[str]] = {} + partition_allowed_values: dict[str, dict[str, list[str]]] = {} columns_checked = 0 for column, values in sorted(column_values.items()): @@ -1894,10 +1909,41 @@ def enum_domain_gate( continue allowed = set(_enum_domain_names(enum_domains[column])) allowed_values[column] = sorted(allowed) + labels: list[str] | None = None + by_partition: dict[str, set[str]] = {} + if column in partition_domains: + if column not in partitions: + raise ValueError( + f"{column}: partition domains need the rows' partition labels." + ) + by_partition = { + str(label): set(_enum_domain_names(domain)) + for label, domain in partition_domains[column].items() + } + outside_enum = { + label: sorted(domain - allowed) + for label, domain in sorted(by_partition.items()) + if domain - allowed + } + if outside_enum: + raise ValueError( + f"{column}: partition domains {outside_enum} lie outside " + "the enum domain." + ) + partition_allowed_values[column] = { + label: sorted(domain) for label, domain in sorted(by_partition.items()) + } + labels = [str(label) for label in partitions[column]] + values = list(values) + if len(labels) != len(values): + raise ValueError( + f"{column}: {len(labels)} partition labels for " + f"{len(values)} values." + ) columns_checked += 1 invalid: list[str] = [] total = 0 - for value in values: + for index, value in enumerate(values): total += 1 if value is None or ( isinstance(value, (float, np.floating)) and np.isnan(value) @@ -1907,26 +1953,33 @@ def enum_domain_gate( name = _enum_member_name(value) if name not in allowed: invalid.append(name) + continue + if labels is not None and name not in by_partition.get(labels[index], ()): + invalid.append(f"{name}@{labels[index]}") if not invalid: continue examples = sorted(set(invalid))[:8] invalid_counts[column] = len(invalid) invalid_examples[column] = examples + domain_text = "its partition's domain" if labels is not None else "enum domain" failures.append( - f"{column}: {len(invalid)}/{total} value(s) outside enum domain; " + f"{column}: {len(invalid)}/{total} value(s) outside {domain_text}; " f"invalid examples {examples}; allowed values {sorted(allowed)[:8]}." ) + details: dict[str, object] = { + "columns_checked": columns_checked, + "invalid_counts": invalid_counts, + "invalid_examples": invalid_examples, + "allowed_values": allowed_values, + } + if partition_allowed_values: + details["partition_allowed_values"] = partition_allowed_values return GateResult( name="enum_domain", passed=not failures, failures=tuple(failures), - details={ - "columns_checked": columns_checked, - "invalid_counts": invalid_counts, - "invalid_examples": invalid_examples, - "allowed_values": allowed_values, - }, + details=details, ) @@ -2476,6 +2529,65 @@ def support_gate( ) +def area_support_shortfalls( + rows: float, + effective_sample_size: float, + sources: float, + *, + minimum_rows: int, + minimum_effective_sample_size: float, + minimum_distinct_sources: int, +) -> list[str]: + """The support floors one area misses, worded as :func:`area_support_gate` reports them.""" + + shortfalls = [] + if rows < minimum_rows: + shortfalls.append(f"rows {int(rows)} < {minimum_rows}") + if effective_sample_size < minimum_effective_sample_size: + shortfalls.append( + "ESS " + f"{float(effective_sample_size):.6g} < " + f"{float(minimum_effective_sample_size):.6g}" + ) + if sources < minimum_distinct_sources: + shortfalls.append( + f"distinct sources {int(sources)} < {minimum_distinct_sources}" + ) + return shortfalls + + +def area_support_below_floor( + area_support: pd.DataFrame, + *, + minimum_rows: int, + minimum_effective_sample_size: float, + minimum_distinct_sources: int, +) -> pd.Series: + """Whether each area of a support table misses any floor, by the gate's rule. + + A reviewed exclusion does not lift the flag: an excluded area is still + below the floor, which is what a consumer of the area's estimates needs. + """ + + return pd.Series( + [ + bool( + area_support_shortfalls( + row.nonzero_households, + row.effective_sample_size, + row.nonzero_source_households, + minimum_rows=minimum_rows, + minimum_effective_sample_size=minimum_effective_sample_size, + minimum_distinct_sources=minimum_distinct_sources, + ) + ) + for row in area_support.itertuples(index=False) + ], + index=area_support.index, + dtype=bool, + ) + + def area_support_gate( area_support: pd.DataFrame, *, @@ -2585,21 +2697,14 @@ def area_support_gate( index=False ): key = f"{row.geography_level}/{row.area_code}" - shortfalls = [] - if row.nonzero_households < minimum_rows: - shortfalls.append(f"rows {int(row.nonzero_households)} < {minimum_rows}") - if row.effective_sample_size < minimum_effective_sample_size: - shortfalls.append( - "ESS " - f"{float(row.effective_sample_size):.6g} < " - f"{float(minimum_effective_sample_size):.6g}" - ) - if row.nonzero_source_households < minimum_distinct_sources: - shortfalls.append( - "distinct sources " - f"{int(row.nonzero_source_households)} < " - f"{minimum_distinct_sources}" - ) + shortfalls = area_support_shortfalls( + row.nonzero_households, + row.effective_sample_size, + row.nonzero_source_households, + minimum_rows=minimum_rows, + minimum_effective_sample_size=minimum_effective_sample_size, + minimum_distinct_sources=minimum_distinct_sources, + ) record = exclusions.get(key) if record is not None and shortfalls: used_exclusions[key] = { diff --git a/packages/microcosm-build/src/microcosm/build/uk/gates.json b/packages/microcosm-build/src/microcosm/build/uk/gates.json index aa3f980035..8440336fd4 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/gates.json +++ b/packages/microcosm-build/src/microcosm/build/uk/gates.json @@ -1151,6 +1151,55 @@ }, "notes": "The person capital_gains_asset_type value must be one of the eight values the hmrc_cgt_asset_type_spine stage declares (none, sub_aea, the Chronicle Table 7 asset-type value ids); the build supplies the declared domain as evidence because the column is a frame input, not a PolicyEngine-UK enum (microcosm#725). Evaluated at the transferred boundary, after the stage that writes the column has run." }, + { + "id": "uk_council_tax_band_domain", + "gate": "enum_domain", + "phase": "transferred", + "criticality": "release_blocking", + "parameters": { + "columns": [ + "council_tax_band" + ], + "partition_column": "region", + "domains_by_nation": { + "ENGLAND": [ + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H" + ], + "WALES": [ + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I" + ], + "SCOTLAND": [ + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H" + ], + "NORTHERN_IRELAND": [ + "D" + ] + } + }, + "notes": "Each household's council-tax band must be one its nation uses: A-H in England and Scotland, A-I in Wales, and only the FRS placeholder D in Northern Ireland, which pays domestic rates (microcosm#1278). The engine enum holds A-I for every nation, so its domain alone passes a band I in England: no English target counts that band, and a computed council tax would charge it at the Band D ratio. The nation comes from the household region through the region tier, and the declared domains must equal UK_COUNCIL_TAX_BANDS_BY_NATION. Evaluated at the transferred boundary, after spi_housing_shell, the last spine stage that writes the band." + }, { "id": "uk_uc_deduction_combination_enum_domain", "gate": "enum_domain", @@ -1175,6 +1224,55 @@ }, "notes": "The person student-loan plan assignment must remain inside the PolicyEngine-UK StudentLoanPlan enum domain." }, + { + "id": "uk_council_tax_band_domain_terminal", + "gate": "enum_domain", + "phase": "terminal", + "criticality": "release_blocking", + "parameters": { + "columns": [ + "council_tax_band" + ], + "partition_column": "region", + "domains_by_nation": { + "ENGLAND": [ + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H" + ], + "WALES": [ + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I" + ], + "SCOTLAND": [ + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H" + ], + "NORTHERN_IRELAND": [ + "D" + ] + } + }, + "notes": "The nation check of uk_council_tax_band_domain, on the frame the release ships (microcosm#1278 review). The spine entry stops at the transferred boundary, so a later step that writes council_tax_band, such as a full build's band redraw after geography derivation, is checked only here. Its parameters must equal the spine entry's." + }, { "id": "uk_calibration_reference_coverage", "gate": "calibration_reference_coverage", diff --git a/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_local_incumbent_2025_signed_differences.json b/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_local_incumbent_2025_signed_differences.json index be03bcae6a..c3f6b51dfe 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_local_incumbent_2025_signed_differences.json +++ b/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_local_incumbent_2025_signed_differences.json @@ -1,11 +1,11 @@ { - "compiled_count": 24477, + "compiled_count": 24269, "counts_by_kind": { - "calibration_drift": 19276, - "fixture_only": 4266, - "ledger_only": 5198 + "calibration_drift": 19275, + "fixture_only": 4267, + "ledger_only": 4991 }, - "difference_count": 28740, + "difference_count": 28533, "differences": [ { "fixture_value": 70.0, @@ -21329,6 +21329,13 @@ "period": 2025, "reason": "Signed deferrals on the taxbase basis (microcosm#929): the incumbent's English band-H cells stay deferred under council_tax_band_h_spine_support_absent (microcosm#762 A14; 296 authorities), and the City of London and Isles of Scilly cells sit under the local-authority support floor. Scotland and Wales now bind their own returns, so no coverage gap remains on the incumbent's rows." }, + { + "fixture_value": 50.0, + "kind": "fixture_only", + "name": "mhclg.council_tax_stock.by_area.band_g@E09000002", + "period": 2025, + "reason": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14." + }, { "fixture_value": 110.0, "kind": "fixture_only", @@ -29883,13 +29890,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E06000001", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -29932,20 +29932,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E06000008", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E06000009", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -29995,13 +29981,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E06000017", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 12000.0, @@ -30324,13 +30303,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000010", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 18000.0, @@ -30352,13 +30324,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000033", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -30415,13 +30380,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000042", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -30443,20 +30401,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000046", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000047", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -30464,13 +30408,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000062", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -30590,13 +30527,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000080", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -30646,13 +30576,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000088", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 15000.0, @@ -30821,13 +30744,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000117", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -30842,13 +30758,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000120", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -30856,13 +30765,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000122", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -30877,13 +30779,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000125", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -30933,13 +30828,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000133", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 10000.0, @@ -30947,20 +30835,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000135", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 2000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000136", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -30968,13 +30842,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000138", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -30982,13 +30849,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000140", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 12000.0, @@ -31017,13 +30877,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000145", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -31080,13 +30933,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000174", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -31185,13 +31031,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000199", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -31325,13 +31164,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E07000223", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 13000.0, @@ -31969,13 +31801,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001068", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -31983,13 +31808,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001070", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 12000.0, @@ -32011,20 +31829,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001074", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001075", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -32130,13 +31934,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001091", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 8000.0, @@ -32144,13 +31941,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001093", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -32158,13 +31948,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001095", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -32179,13 +31962,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001098", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -32193,62 +31969,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001100", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001101", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001102", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001103", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001104", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 2000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001105", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001106", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001107", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -32256,27 +31976,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001109", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001110", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001111", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -32284,20 +31983,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001113", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001114", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -32319,27 +32004,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001118", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001119", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 2000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001120", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -32375,20 +32039,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001126", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001127", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 8000.0, @@ -32487,13 +32137,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001142", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -32529,13 +32172,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001148", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 15000.0, @@ -32648,13 +32284,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001165", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -32711,13 +32340,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001174", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 17000.0, @@ -32753,13 +32375,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001180", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -32823,13 +32438,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001190", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 12000.0, @@ -32851,13 +32459,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001194", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -32865,13 +32466,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001196", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 16000.0, @@ -32893,13 +32487,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001200", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 14000.0, @@ -32921,13 +32508,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001204", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 16000.0, @@ -32970,13 +32550,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001211", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -33110,13 +32683,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001231", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -33173,13 +32739,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001240", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -33250,13 +32809,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001251", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -33278,20 +32830,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001255", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001256", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 20000.0, @@ -33320,20 +32858,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001261", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001262", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 12000.0, @@ -33397,13 +32921,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001272", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -33495,13 +33012,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001286", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -33558,13 +33068,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001295", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 12000.0, @@ -33572,13 +33075,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001297", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 12000.0, @@ -33586,13 +33082,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001299", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -33614,20 +33103,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001303", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001304", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 15000.0, @@ -33642,13 +33117,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001307", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -33684,27 +33152,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001313", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001314", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001315", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 8000.0, @@ -33712,13 +33159,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001317", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -33726,13 +33166,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001319", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -33754,13 +33187,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001323", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -33775,34 +33201,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001326", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001327", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001328", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001329", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 8000.0, @@ -33845,13 +33243,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001336", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -33859,20 +33250,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001338", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001339", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -33880,13 +33257,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001341", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -33894,20 +33264,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001343", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001344", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -33964,13 +33320,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001353", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 10000.0, @@ -33978,13 +33327,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001355", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -34062,20 +33404,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001367", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001368", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 13000.0, @@ -34132,20 +33460,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001377", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001378", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -34153,34 +33467,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001380", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001381", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001382", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001383", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -34188,13 +33474,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001385", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -34216,20 +33495,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001389", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001390", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -34265,13 +33530,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001396", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -34328,13 +33586,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001405", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -34349,13 +33600,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001408", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -34363,27 +33607,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001410", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001411", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001412", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -34405,13 +33628,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001416", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 15000.0, @@ -34468,13 +33684,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001425", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -34482,20 +33691,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001427", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001428", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 8000.0, @@ -34524,13 +33719,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001433", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 18000.0, @@ -34545,13 +33733,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001436", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 13000.0, @@ -34573,13 +33754,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001440", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 8000.0, @@ -34615,13 +33789,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001446", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -34650,20 +33817,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001451", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001452", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 12000.0, @@ -34720,20 +33873,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001461", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001462", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 8000.0, @@ -34755,20 +33894,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 2000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001466", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001467", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -34776,20 +33901,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001469", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001470", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -34839,13 +33950,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001478", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 13000.0, @@ -34895,13 +33999,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001486", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -34937,13 +34034,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001492", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -35049,13 +34139,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001508", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -35063,20 +34146,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001510", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001511", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 15000.0, @@ -35119,13 +34188,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001518", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 10000.0, @@ -35133,27 +34195,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 2000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001520", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001521", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001522", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 8000.0, @@ -35161,13 +34202,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001524", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 16000.0, @@ -35210,13 +34244,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001531", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 15000.0, @@ -35280,13 +34307,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001541", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -35322,13 +34342,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001547", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -35350,20 +34363,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001551", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001552", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 10000.0, @@ -35420,20 +34419,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001561", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001562", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 15000.0, @@ -35462,13 +34447,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001567", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 15000.0, @@ -35511,13 +34489,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001574", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -35651,20 +34622,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001594", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@E14001595", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -35742,13 +34699,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000002", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -35756,13 +34706,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 2000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000004", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -35770,27 +34713,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000006", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000007", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000008", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 8000.0, @@ -35798,34 +34720,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000010", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000011", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000012", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000013", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -35833,34 +34727,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000015", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000016", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000017", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@N05000018", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -35882,27 +34748,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@N09000004", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@N09000005", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@N09000006", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -35938,34 +34783,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@W06000001", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W06000002", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W06000003", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W06000004", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 10000.0, @@ -35980,13 +34797,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@W06000008", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -36008,13 +34818,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W06000012", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 9000.0, @@ -36050,20 +34853,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 2000.0, - "name": "hmrc.higher_rate_taxpayers.count@W06000019", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W06000020", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -36085,20 +34874,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@W06000024", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000081", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -36106,27 +34881,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000083", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000084", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000085", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -36134,13 +34888,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000087", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -36176,13 +34923,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000093", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -36190,20 +34930,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000095", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000096", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 7000.0, @@ -36211,27 +34937,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000098", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000099", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000100", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 11000.0, @@ -36239,20 +34944,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000102", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000103", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 6000.0, @@ -36274,27 +34965,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000107", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 3000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000108", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, - { - "kind": "ledger_only", - "ledger_value": 5000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000109", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 8000.0, @@ -36309,13 +34979,6 @@ "period": 2025, "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." }, - { - "kind": "ledger_only", - "ledger_value": 4000.0, - "name": "hmrc.higher_rate_taxpayers.count@W07000112", - "period": 2025, - "reason": "Coverage the incumbent lacks: our side compiles a published per-area fact the incumbent's surface NaN-masks or never carries (for example Northern Ireland SPI and tenure rows). Confirmed by roster diff (PR #795 round-3 review): the incumbent's 360-row LA file carries N09000001-N09000010 only, omitting N09000011 (Newry, Mourne and Down) entirely - the 361st crosswalk area is a genuine incumbent roster gap, not a dropped row." - }, { "kind": "ledger_only", "ledger_value": 270455882.35294116, @@ -65681,13 +64344,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 29.0, - "name": "scotgov.council_tax_stock.by_area.band_g@S12000013", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 3107.0, @@ -65730,13 +64386,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 27.0, - "name": "scotgov.council_tax_stock.by_area.band_g@S12000023", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 4734.0, @@ -65870,13 +64519,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 49.0, - "name": "scotgov.council_tax_stock.by_area.band_h@S12000005", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 152.0, @@ -65884,13 +64526,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 49.0, - "name": "scotgov.council_tax_stock.by_area.band_h@S12000008", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 719.0, @@ -65905,13 +64540,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 5.0, - "name": "scotgov.council_tax_stock.by_area.band_h@S12000013", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 81.0, @@ -65954,13 +64582,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 5.0, - "name": "scotgov.council_tax_stock.by_area.band_h@S12000023", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 493.0, @@ -66045,13 +64666,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 37.0, - "name": "scotgov.council_tax_stock.by_area.band_h@S12000042", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 683.0, @@ -66087,27 +64701,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only. Microcosm binds the 32 Scottish councils' CTAXBASE chargeable dwellings by band A-H (chronicle#264, the concept the scotgov.council_tax_stock country rows already bind; Shetland band H is signed deferred for support), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 3.0, - "name": "welshgov.council_tax_stock.by_area.band_h@W06000019", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." - }, - { - "kind": "ledger_only", - "ledger_value": 2.0, - "name": "welshgov.council_tax_stock.by_area.band_h@W06000024", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." - }, - { - "kind": "ledger_only", - "ledger_value": 42.0, - "name": "welshgov.council_tax_stock.by_area.band_i@W06000001", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 55.0, @@ -66143,13 +64736,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 20.0, - "name": "welshgov.council_tax_stock.by_area.band_i@W06000008", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 80.0, @@ -66171,13 +64757,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 19.0, - "name": "welshgov.council_tax_stock.by_area.band_i@W06000012", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 108.0, @@ -66213,20 +64792,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 18.0, - "name": "welshgov.council_tax_stock.by_area.band_i@W06000019", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." - }, - { - "kind": "ledger_only", - "ledger_value": 25.0, - "name": "welshgov.council_tax_stock.by_area.band_i@W06000020", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." - }, { "kind": "ledger_only", "ledger_value": 637.0, @@ -66248,13 +64813,6 @@ "period": 2025, "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." }, - { - "kind": "ledger_only", - "ledger_value": 7.0, - "name": "welshgov.council_tax_stock.by_area.band_i@W06000024", - "period": 2025, - "reason": "No incumbent counterpart: the incumbent bound VOA local rows for England only, and Wales alone has a band I. Microcosm binds the 22 Welsh authorities' StatsWales CT1 chargeable dwellings by band A-I (a1 minus h7 empty minus h8 second homes; chronicle#264), microcosm#929." - }, { "fixture_value": 13381.0, "kind": "calibration_drift", @@ -142719,14 +141277,6 @@ "period": 2025, "reason": "Signed basis translation (microcosm#929, ruled by María on 2026-09-11 and 2026-09-15): the incumbent binds the VOA CTSOP valuation-list stock, every banded dwelling including exempt, empty and second homes; Microcosm binds the MHCLG Council Taxbase return (chronicle#264), CTB line 7 chargeable dwellings after the disabled-relief adjustment (band A adds the A- column) minus line 11 second homes minus line 15 empty dwellings, the dwellings a household file can carry. England's valuation list runs 6.3 % over the household rows, so the taxbase cells sit below the VOA cells by roughly that margin, authority by authority (Westminster band A 1,660 VOA against 1,328 taxbase). Receipts: experiments/929-council-tax-taxbase-receipts.md Parts C and D." }, - { - "fixture_value": 50.0, - "kind": "calibration_drift", - "ledger_value": 49.0, - "name": "mhclg.council_tax_stock.by_area.band_g@E09000002", - "period": 2025, - "reason": "Signed basis translation (microcosm#929, ruled by María on 2026-09-11 and 2026-09-15): the incumbent binds the VOA CTSOP valuation-list stock, every banded dwelling including exempt, empty and second homes; Microcosm binds the MHCLG Council Taxbase return (chronicle#264), CTB line 7 chargeable dwellings after the disabled-relief adjustment (band A adds the A- column) minus line 11 second homes minus line 15 empty dwellings, the dwellings a household file can carry. England's valuation list runs 6.3 % over the household rows, so the taxbase cells sit below the VOA cells by roughly that margin, authority by authority (Westminster band A 1,660 VOA against 1,328 taxbase). Receipts: experiments/929-council-tax-taxbase-receipts.md Parts C and D." - }, { "fixture_value": 16820.0, "kind": "calibration_drift", diff --git a/packages/microcosm-build/src/microcosm/build/uk/local_area_support_exclusions.json b/packages/microcosm-build/src/microcosm/build/uk/local_area_support_exclusions.json index a7d8bd8056..bd64d10531 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/local_area_support_exclusions.json +++ b/packages/microcosm-build/src/microcosm/build/uk/local_area_support_exclusions.json @@ -3,14 +3,14 @@ "description": "Reviewed UK local-area support-floor exclusions and signed families that bind despite those floors. Every entry carries measured evidence and an in-force adjudication.", "exclusions": { "local_authority/E06000053": { - "reason": "Reviewed exclusion of the local-authority support floor for Isles of Scilly (E06000053): population-proportional ladder assignment gives the area 24 positive-weight rows at the ruled K=15 (ESS 8.1 on the R17 release candidate; 7 rows at K=4 and 17 at K=10, microcosm#761 receipts section R1, identical on spine-i and spine-k), so the 50-row / ESS-50 / 50-source floor is unreachable by clone count. The area stays in the solve with its measured support and is flagged support_below_floor in area_support_summary.csv; consumers must treat its estimates as unsupported. Re-measured on every candidate; a passing area retires this entry (a stale exclusion fails the gate). Per microcosm#762 A14 the authority's own local-authority cells are signed-deferred (`local_authority_support_floor_excluded`).", + "reason": "Reviewed exclusion of the local-authority support floor for Isles of Scilly (E06000053): population-proportional ladder assignment gives the area too few positive-weight rows, at the ruled K=15 and at every smaller K measured, to meet the 50-row floor, and its effective sample size on the R17 release candidate misses the ESS-50 floor (microcosm#761 receipts section R1, identical on spine-i and spine-k), so the 50-row / ESS-50 / 50-source floor is unreachable by clone count. The area stays in the solve with its measured support and is flagged support_below_floor in the build's area-support table (the candidate manifest's area_support_summary) and named in the release manifest's area_support block; consumers must treat its estimates as unsupported. Re-measured on every candidate; a passing area retires this entry (a stale exclusion fails the gate). Re-worded in microcosm#1278: where the flag is recorded (2026-10-14), and without per-area support figures (2026-10-15). Per microcosm#762 A14 the authority's own local-authority cells are signed-deferred (`local_authority_support_floor_excluded`).", "approved_by": "juaristi22", "adjudication": "microcosm#762 (A4, ruling 2026-09-02)", "approved_on": "2026-09-02", "expires_on": "2026-12-02" }, "local_authority/E09000001": { - "reason": "Reviewed exclusion of the local-authority support floor for City of London (E09000001): population-proportional ladder assignment gives the area 72 positive-weight rows at the ruled K=15 (ESS 11.0 on the R17 release candidate; 14 rows at K=4 and 49 at K=10, microcosm#761 receipts section R1, identical on spine-i and spine-k), so the measured ESS of 11.0 fails the ESS-50 floor even though 72 rows clear the 50-row floor. This receipt does not establish whether the separate 50-source floor passes or how further cloning would affect ESS. The area stays in the solve with its measured support and is flagged support_below_floor in area_support_summary.csv; consumers must treat its estimates as unsupported. Re-measured on every candidate; a passing area retires this entry (a stale exclusion fails the gate). Per microcosm#762 A14 the authority's own local-authority cells are signed-deferred (`local_authority_support_floor_excluded`).", + "reason": "Reviewed exclusion of the local-authority support floor for City of London (E09000001): population-proportional ladder assignment gives the area enough positive-weight rows at the ruled K=15 to clear the 50-row floor, but its effective sample size on the R17 release candidate misses the ESS-50 floor (microcosm#761 receipts section R1, identical on spine-i and spine-k). This receipt does not establish whether the separate 50-source floor passes or how further cloning would affect ESS. The area stays in the solve with its measured support and is flagged support_below_floor in the build's area-support table (the candidate manifest's area_support_summary) and named in the release manifest's area_support block; consumers must treat its estimates as unsupported. Re-measured on every candidate; a passing area retires this entry (a stale exclusion fails the gate). Re-worded in microcosm#1278: where the flag is recorded (2026-10-14), and without per-area support figures (2026-10-15). Per microcosm#762 A14 the authority's own local-authority cells are signed-deferred (`local_authority_support_floor_excluded`).", "approved_by": "juaristi22", "adjudication": "microcosm#762 (A4, ruling 2026-09-02)", "approved_on": "2026-09-02", diff --git a/packages/microcosm-build/src/microcosm/build/uk/local_binding_adjudications.json b/packages/microcosm-build/src/microcosm/build/uk/local_binding_adjudications.json index ebc9babc73..f03c70e73c 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/local_binding_adjudications.json +++ b/packages/microcosm-build/src/microcosm/build/uk/local_binding_adjudications.json @@ -3,46 +3,46 @@ "description": "Reviewed adjudications of the UK local binding fences (uk_local_target_census.json binding_fences). Binding a target family whose fence has no in-force entry here fails in the rowwise doctrine solve before any solve runs. Keys are fence ids; the reason states the ruling (accept the stated basis, or replace it with the named alternative) and cites the evidence.", "exclusions": { "census_disclosure_control_noise": { - "reason": "Accept the stated basis: constituency and local-authority household counts bind to the published disclosure-controlled census values compiled from the pinned Chronicle feed (ons.census.households: ONS TS041 PCON24/LAD, NRS UV404 UKPC24 and council all-occupied totals, NISRA PCON24/LGD14). Per-area dispersion of the retired OA-ladder sums against the published cells at review: England mean 7.4 / max 29, Wales 6.4 / 15, Scotland net −557 (NRS applies disclosure control per output level; same shortfall at both grains), Northern Ireland mean 7 / max 16 after the NI constituency leg moved to NISRA's published DZ2021→PARLCON24 lookup (the earlier postcode inference was a mapping defect of 10 Data Zones, max 694, not perturbation). When a same-concept control is bound above them, the standing cross-grain rule declared in uk_runtime.ledger_targets reconciles each leg to its nearest covering control (country or region since microcosm#905). The census cells count the occupied-household universe and pair only through the household-composition bridge, never with dwelling stock; that cross-grain rescale applies once the bridge is bound. Bound from microcosm#791 (2026-09-11): the three ONS household-composition cells that held the bridge reviewed-unbound now bind on the frs_relationships household type, so the cross-grain rescale runs on the A15-uprated cells; the ten-cell partition and the A15 control are both ons.households_total, so the declared factor is 1 by closure and the receipt records the bridge as bound. Fence evidence: uk_local_target_census.json#/binding_fences/census_disclosure_control_noise; the published cells preserve the source cell-key controls. Re-worded 2026-09-10 (microcosm#887 review round 1); re-worded 2026-09-11 (microcosm#791: the three composition cells re-bound, bridge bound). Re-worded 2026-09-15 (microcosm#929: region controls).", + "reason": "Accept the stated basis: constituency and local-authority household counts bind to the published disclosure-controlled census values compiled from the pinned Chronicle feed (ons.census.households: ONS TS041 PCON24/LAD, NRS UV404 UKPC24 and council all-occupied totals, NISRA PCON24/LGD14). Per-area dispersion of the retired OA-ladder sums against the published cells at review: England mean 7.4 / max 29, Wales 6.4 / 15, Scotland net −557 (NRS applies disclosure control per output level; same shortfall at both grains), Northern Ireland mean 7 / max 16 after the NI constituency leg moved to NISRA's published DZ2021→PARLCON24 lookup (the earlier postcode inference was a mapping defect of 10 Data Zones, max 694, not perturbation). When a same-concept control is bound above them, the standing cross-grain rule declared in uk_runtime.ledger_targets reconciles each leg to its nearest covering control (country or region since microcosm#905). The census cells count the occupied-household universe and pair only through the household-composition bridge, never with dwelling stock; that cross-grain rescale applies once the bridge is bound. Bound from microcosm#791 (2026-09-11): the three ONS household-composition cells that held the bridge reviewed-unbound now bind on the frs_relationships household type, so the cross-grain rescale runs on the A15-uprated cells; the ten-cell partition and the A15 control are both ons.households_total, so the declared factor is 1 by closure and the receipt records the bridge as bound. Fence evidence: uk_local_target_census.json#/binding_fences/census_disclosure_control_noise; the published cells preserve the source cell-key controls. Re-worded 2026-09-10 (microcosm#887 review round 1); re-worded 2026-09-11 (microcosm#791: the three composition cells re-bound, bridge bound). Re-worded 2026-09-15 (microcosm#929: region controls). Re-worded 2026-10-14 (microcosm#1278): since microcosm#1198 the constituency and local-authority cells reconcile to the nation household controls (England's regions from the Labour Force Survey, Scotland from National Records of Scotland, Wales from the Welsh Government estimate rolled forward by population, Northern Ireland from the census rolled forward by dwelling stock), and A15 targets their sum.", "approved_by": "juaristi22", - "adjudication": "microcosm#802", - "approved_on": "2026-08-31", - "expires_on": "2026-11-30" + "adjudication": "microcosm#802; renewed three months on 2026-10-14 by juaristi22 (microcosm#1278): the published cells are still disclosure-controlled, and they now reconcile to the nation household controls.", + "approved_on": "2026-10-14", + "expires_on": "2027-01-14" }, "hmrc_spi_frame_model_proxy": { "reason": "Accept the stated basis: the constituency and local-authority HMRC families bind on the modeled income_tax > 0 frame, the same SPI-frame proxy the national hmrc.* surface binds through (uk_population_targets.json bindings), so both grains share one frame and the standing cross-grain rule can reconcile them. The proxy's known biases (zero-liability taxpayers excluded; modeled liabilities the SPI would not observe included) are accepted for the first candidate and re-measured per family in the microcosm#762 receipts. Fence evidence: uk_local_target_census.json#/binding_fences/hmrc_spi_frame_model_proxy.", "approved_by": "juaristi22", - "adjudication": "microcosm#762 (A1, rulings 2026-09-02)", - "approved_on": "2026-09-02", - "expires_on": "2026-12-02" + "adjudication": "microcosm#762 (A1, rulings 2026-09-02); renewed three months on 2026-10-14 by juaristi22 (microcosm#1278): both grains still bind the HMRC area families on the modeled taxpayer frame.", + "approved_on": "2026-10-14", + "expires_on": "2027-01-14" }, "full_frs_tei_band_unavailable": { - "reason": "Accept the stated basis: the hmrc_income_by_area family binds only the unbanded per-area employment and self-employment amount/count references (count_x_mean over the SPI by-area record sets); the published by-area SPI facts carry no total-income band dimension, so no Total-Income-banded local reference exists or may be minted while the 208 national banded facts remain fenced exclusions of the HMRC replay classification. Fence evidence: uk_local_target_census.json#/binding_fences/full_frs_tei_band_unavailable; membership: local_target_reference_membership.json (no banded target ids).", + "reason": "Accept the stated basis: the hmrc_income_by_area family binds the unbanded per-area employment and self-employment amount/count references (count_x_mean over the SPI by-area record sets) and, since microcosm#1198, the higher rate taxpayer counts, which HMRC classes by the marginal rate paid rather than by a total-income band; the published by-area SPI facts carry no total-income band dimension, so no Total-Income-banded local reference exists or may be minted while the 208 national banded facts remain fenced exclusions of the HMRC replay classification. Fence evidence: uk_local_target_census.json#/binding_fences/full_frs_tei_band_unavailable; membership: local_target_reference_membership.json (no banded target ids).", "approved_by": "juaristi22", - "adjudication": "microcosm#762 (A1, rulings 2026-09-02)", - "approved_on": "2026-09-02", - "expires_on": "2026-12-02" + "adjudication": "microcosm#762 (A1, rulings 2026-09-02); renewed three months on 2026-10-14 by juaristi22 (microcosm#1278): the by-area SPI facts still carry no total-income band.", + "approved_on": "2026-10-14", + "expires_on": "2027-01-14" }, "population_universe_private_households": { - "reason": "Accept the stated basis: age-structure targets at constituency and local-authority grain bind the ONS mid-2024 total-usual-resident universe as published, the same universe the national ons.population.age_*_by_region controls bind, so any cross-grain reconciliation happens on one universe. The private-household vs communal-establishment gap (about 1.8% of population in Census 2021, concentrated in the 20-29 and 80+ bands) is recorded as the expected direction of residual error and is not rescaled locally; a declared communal-establishment adjustment would be a chronicle fact request, never a runtime correction. Fence evidence: uk_local_target_census.json#/binding_fences/population_universe_private_households.", + "reason": "Accept the stated basis: age-structure targets at constituency and local-authority grain bind the mid-year total-usual-resident universe as published (mid-2025 for local authorities, mid-2024 for constituencies; microcosm#1198), the same universe the national ons.population.age_*_by_region controls bind, so any cross-grain reconciliation happens on one universe. The private-household vs communal-establishment gap (about 1.8% of population in Census 2021, concentrated in the 20-29 and 80+ bands) is recorded as the expected direction of residual error and is not rescaled locally; a declared communal-establishment adjustment would be a chronicle fact request, never a runtime correction. Fence evidence: uk_local_target_census.json#/binding_fences/population_universe_private_households. Re-worded 2026-10-14 (microcosm#1278): the communal-establishment residents by age the adjustment needs are now Chronicle facts (ONS RM120, NRS UV101a, NISRA CT0105), and microcosm#1278 plans the declared adjustment at every grain, national controls included, so that reconciliation still runs on one universe.", "approved_by": "juaristi22", - "adjudication": "microcosm#762 (A1, rulings 2026-09-02)", - "approved_on": "2026-09-02", - "expires_on": "2026-12-02" + "adjudication": "microcosm#762 (A1, rulings 2026-09-02); renewed three months on 2026-10-14 by juaristi22 (microcosm#1278): pending the age-universe change, which moves every age target to the private-household universe and then retires this entry.", + "approved_on": "2026-10-14", + "expires_on": "2027-01-14" }, "uc_unit_vs_household_grain": { - "reason": "Replace the stated basis with the named alternative: the uc_households family binds at benefit-unit grain. uc_households per area counts UC benefit units mapped to their households (the DWP claim-household definition) and the four children bands classify each UC benefit unit by its own num_children (benunit-to-household sum), matching the national dwp.uc.households* re-bind of PR #813; the household-children basis is retired. Fence evidence: uk_local_target_census.json#/binding_fences/uc_unit_vs_household_grain; runtime: microcosm.build.uk_runtime.local_targets.compute_household_metrics.", + "reason": "Replace the stated basis with the named alternative: the uc_households family binds at benefit-unit grain. uc_households per area counts UC benefit units mapped to their households (the DWP claim-household definition) and the four children bands classify each UC benefit unit by its own num_children (benunit-to-household sum), matching the national dwp.uc.households* re-bind of PR #813; the household-children basis is retired. Fence evidence: uk_local_target_census.json#/binding_fences/uc_unit_vs_household_grain; runtime: microcosm.build.uk_runtime.local_targets.compute_household_metrics. Re-worded 2026-10-14 (microcosm#1278): the area series count every household on Universal Credit, nil awards included, while the national rows count paid claims; until PolicyEngine/chronicle#339 re-extracts the area series with Payment Indicator, the cross-grain bridge scales every area by the Great Britain paid share (microcosm#736).", "approved_by": "juaristi22", - "adjudication": "microcosm#762 (A1, rulings 2026-09-02)", - "approved_on": "2026-09-02", - "expires_on": "2026-12-02" + "adjudication": "microcosm#762 (A1, rulings 2026-09-02); renewed three months on 2026-10-14 by juaristi22 (microcosm#1278): the benefit-unit grain stands; the all-claims area series is bridged to the paid caseload until PolicyEngine/chronicle#339 lands.", + "approved_on": "2026-10-14", + "expires_on": "2027-01-14" }, "voa_dwellings_vs_household_frame": { "reason": "Re-adjudicated onto the councils' taxbase returns (microcosm#929, plan approved 2026-09-15): the band cells bind the dwellings the councils charge, not the VOA valuation-list stock. England binds MHCLG CTB line 7 minus lines 11 and 15 (chargeable dwellings after the disabled-relief adjustment, less second homes and empty dwellings; band A adds the A- column) per billing authority; Wales binds StatsWales CT1 a1 minus h7 minus h8 by band A-I; Scotland binds CTAXBASE chargeable dwellings per council, the concept its country rows already bound. Measured before the change on the 10 September dense rebuild, the VOA basis ran 6.3 % over the England household rows (0.97-1.20x per authority, median 1.05x) and 6.6 % over Wales, which is where the family's uniform negative bias came from; the taxbase basis leaves England and Wales within about 1 % of the occupied-household frame and Scotland at +1.2 % (chargeable dwellings include some without a resident household). That residual is the expected gap this fence licenses; a country or region control of the same basis reconciles each leg under the standing cross-grain rule. Fence evidence: uk_local_target_census.json#/binding_fences/voa_dwellings_vs_household_frame; lineage: uk-data#371, uk-data#457, microcosm#147 A3, microcosm#762 A1.", "approved_by": "juaristi22", - "adjudication": "microcosm#929 (basis ruling 2026-09-15, replacing microcosm#762 A1 of 2026-09-02)", - "approved_on": "2026-09-15", - "expires_on": "2026-12-15" + "adjudication": "microcosm#929 (basis ruling 2026-09-15, replacing microcosm#762 A1 of 2026-09-02); renewed three months on 2026-10-14 by juaristi22 (microcosm#1278): the taxbase basis is unchanged.", + "approved_on": "2026-10-14", + "expires_on": "2027-01-14" }, "high_value_home_stock_derived_estimate": { "reason": "Accepted as the family's basis (microcosm#1240, plan approved 2026-10-13): no publisher counts owner-occupied dwellings above value thresholds by constituency or local authority, and Chronicle registers the Land Registry inputs raw-only (chronicle#343). The estimate's assumptions are declared in the fence and receipted in uk/high_value_home_stock.provenance.json (coverage ratios, the census-implied and controlled owner shares, the uprating fallback counts, the national counts beside the OBR costing note's table 1.1 and the no-correction sensitivities). Renew on the first dense build's receipts: the regional 2m-plus shares and the seat rank correlations against the derived stock and VOA band H decide whether the basis stands. Fence: uk_local_target_census.json#/binding_fences/high_value_home_stock_derived_estimate; membership: local_target_reference_membership.json (the high_value_homes/over_* ids at constituency and local_authority grain, England and Wales).", diff --git a/packages/microcosm-build/src/microcosm/build/uk/local_small_cell_rule.json b/packages/microcosm-build/src/microcosm/build/uk/local_small_cell_rule.json index 10dd319d2b..584d1a85b4 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/local_small_cell_rule.json +++ b/packages/microcosm-build/src/microcosm/build/uk/local_small_cell_rule.json @@ -11,10 +11,10 @@ ], "absolute_floor": 50, "reason": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation.", - "tracking": "microcosm#1123", - "approved_by": null, - "approved_on": null, - "status": "proposed", + "tracking": "microcosm#1278", + "approved_by": "juaristi22", + "approved_on": "2026-10-14", + "status": "approved", "expires_on": "2027-04-01" }, { @@ -24,10 +24,10 @@ ], "absolute_floor": 5500, "reason": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation.", - "tracking": "microcosm#1198 review (should-fix 7)", - "approved_by": null, - "approved_on": null, - "status": "proposed", + "tracking": "microcosm#1278", + "approved_by": "juaristi22", + "approved_on": "2026-10-14", + "status": "approved", "expires_on": "2027-04-01" } ] diff --git a/packages/microcosm-build/src/microcosm/build/uk/local_target_reference_membership.json b/packages/microcosm-build/src/microcosm/build/uk/local_target_reference_membership.json index 7968207907..97d0f92623 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/local_target_reference_membership.json +++ b/packages/microcosm-build/src/microcosm/build/uk/local_target_reference_membership.json @@ -3,12 +3,12 @@ "target_period": 2025, "candidate_count": 26065, "contract_target_count": 55, - "active_reference_count": 24477, + "active_reference_count": 24269, "status_counts": { - "active": 24477, + "active": 24269, "no_fact_for_area": 1239, "signed_deferral_compile_error": 1, - "signed_deferred": 348 + "signed_deferred": 556 }, "areas_by_geography_level": { "constituency": [ @@ -9280,7 +9280,7 @@ "target_id": "hmrc.self_employment_income.amount", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E09000001" ], @@ -9290,7 +9290,7 @@ "target_id": "hmrc.self_employment_income.count", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E09000001" ], @@ -9300,7 +9300,7 @@ "target_id": "hmrc.employment_income.amount", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E09000001" ], @@ -9310,7 +9310,7 @@ "target_id": "hmrc.employment_income.count", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E09000001" ], @@ -9320,7 +9320,7 @@ "target_id": "ons.age.0_10", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9331,7 +9331,7 @@ "target_id": "ons.age.10_20", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9342,7 +9342,7 @@ "target_id": "ons.age.20_30", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9353,7 +9353,7 @@ "target_id": "ons.age.30_40", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9364,7 +9364,7 @@ "target_id": "ons.age.40_50", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9375,7 +9375,7 @@ "target_id": "ons.age.50_60", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9386,7 +9386,7 @@ "target_id": "ons.age.60_70", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9397,7 +9397,7 @@ "target_id": "ons.age.70_80", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9408,7 +9408,7 @@ "target_id": "dwp.uc.households_by_area", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9419,7 +9419,7 @@ "target_id": "ons.tenure.owned_outright", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9430,7 +9430,7 @@ "target_id": "ons.tenure.owned_mortgage", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9441,7 +9441,7 @@ "target_id": "ons.tenure.private_rent", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9452,7 +9452,7 @@ "target_id": "ons.tenure.social_rent", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9463,7 +9463,7 @@ "target_id": "mhclg.council_tax_stock.by_area.band_a", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9474,7 +9474,7 @@ "target_id": "mhclg.council_tax_stock.by_area.band_b", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9485,7 +9485,7 @@ "target_id": "mhclg.council_tax_stock.by_area.band_c", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9496,7 +9496,7 @@ "target_id": "mhclg.council_tax_stock.by_area.band_d", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9507,7 +9507,7 @@ "target_id": "mhclg.council_tax_stock.by_area.band_e", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9518,7 +9518,7 @@ "target_id": "mhclg.council_tax_stock.by_area.band_f", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9529,7 +9529,7 @@ "target_id": "mhclg.council_tax_stock.by_area.band_g", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9540,7 +9540,7 @@ "target_id": "welshgov.council_tax_stock.by_area.band_a", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9551,7 +9551,7 @@ "target_id": "welshgov.council_tax_stock.by_area.band_b", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9562,7 +9562,7 @@ "target_id": "welshgov.council_tax_stock.by_area.band_c", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9573,7 +9573,7 @@ "target_id": "welshgov.council_tax_stock.by_area.band_d", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9584,7 +9584,7 @@ "target_id": "welshgov.council_tax_stock.by_area.band_e", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9595,7 +9595,7 @@ "target_id": "welshgov.council_tax_stock.by_area.band_f", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9606,7 +9606,7 @@ "target_id": "welshgov.council_tax_stock.by_area.band_g", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9617,7 +9617,7 @@ "target_id": "welshgov.council_tax_stock.by_area.band_h", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9628,7 +9628,7 @@ "target_id": "welshgov.council_tax_stock.by_area.band_i", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9639,7 +9639,7 @@ "target_id": "scotgov.council_tax_stock.by_area.band_a", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9650,7 +9650,7 @@ "target_id": "scotgov.council_tax_stock.by_area.band_b", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9661,7 +9661,7 @@ "target_id": "scotgov.council_tax_stock.by_area.band_c", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9672,7 +9672,7 @@ "target_id": "scotgov.council_tax_stock.by_area.band_d", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9683,7 +9683,7 @@ "target_id": "scotgov.council_tax_stock.by_area.band_e", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9694,7 +9694,7 @@ "target_id": "scotgov.council_tax_stock.by_area.band_f", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9705,7 +9705,7 @@ "target_id": "scotgov.council_tax_stock.by_area.band_g", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9716,7 +9716,7 @@ "target_id": "scotgov.council_tax_stock.by_area.band_h", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9727,7 +9727,7 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E09000001" ], @@ -9737,7 +9737,7 @@ "target_id": "microcosm.high_value_homes.over_1m", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9748,7 +9748,7 @@ "target_id": "microcosm.high_value_homes.over_1_5m", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" @@ -9759,12 +9759,290 @@ "target_id": "microcosm.high_value_homes.over_2m", "geography_level": "local_authority", "reason_id": "local_authority_support_floor_excluded", - "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "area_ids": [ "E06000053", "E09000001" ], "defer_if_compiles": true + }, + { + "target_id": "mhclg.council_tax_stock.by_area.band_g", + "geography_level": "local_authority", + "reason_id": "council_tax_band_household_floor", + "rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "area_ids": [ + "E09000002" + ], + "defer_if_compiles": true, + "expires_on": "2027-04-01" + }, + { + "target_id": "scotgov.council_tax_stock.by_area.band_g", + "geography_level": "local_authority", + "reason_id": "council_tax_band_household_floor", + "rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "area_ids": [ + "S12000013", + "S12000023" + ], + "defer_if_compiles": true, + "expires_on": "2027-04-01" + }, + { + "target_id": "scotgov.council_tax_stock.by_area.band_h", + "geography_level": "local_authority", + "reason_id": "council_tax_band_household_floor", + "rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "area_ids": [ + "S12000005", + "S12000008", + "S12000013", + "S12000023", + "S12000042" + ], + "defer_if_compiles": true, + "expires_on": "2027-04-01" + }, + { + "target_id": "welshgov.council_tax_stock.by_area.band_h", + "geography_level": "local_authority", + "reason_id": "council_tax_band_household_floor", + "rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "area_ids": [ + "W06000019", + "W06000024" + ], + "defer_if_compiles": true, + "expires_on": "2027-04-01" + }, + { + "target_id": "welshgov.council_tax_stock.by_area.band_i", + "geography_level": "local_authority", + "reason_id": "council_tax_band_household_floor", + "rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "area_ids": [ + "W06000001", + "W06000008", + "W06000012", + "W06000019", + "W06000020", + "W06000024" + ], + "defer_if_compiles": true, + "expires_on": "2027-04-01" + }, + { + "target_id": "hmrc.higher_rate_taxpayers.count", + "geography_level": "constituency", + "reason_id": "hmrc_rounded_thousand_floor", + "rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "area_ids": [ + "E14001068", + "E14001070", + "E14001074", + "E14001075", + "E14001091", + "E14001093", + "E14001095", + "E14001098", + "E14001100", + "E14001101", + "E14001102", + "E14001103", + "E14001104", + "E14001105", + "E14001106", + "E14001107", + "E14001109", + "E14001110", + "E14001111", + "E14001113", + "E14001114", + "E14001118", + "E14001119", + "E14001120", + "E14001126", + "E14001127", + "E14001142", + "E14001148", + "E14001165", + "E14001174", + "E14001180", + "E14001190", + "E14001194", + "E14001196", + "E14001200", + "E14001204", + "E14001211", + "E14001231", + "E14001240", + "E14001251", + "E14001255", + "E14001256", + "E14001261", + "E14001262", + "E14001272", + "E14001286", + "E14001295", + "E14001297", + "E14001299", + "E14001303", + "E14001304", + "E14001307", + "E14001313", + "E14001314", + "E14001315", + "E14001317", + "E14001319", + "E14001323", + "E14001326", + "E14001327", + "E14001328", + "E14001329", + "E14001336", + "E14001338", + "E14001339", + "E14001341", + "E14001343", + "E14001344", + "E14001353", + "E14001355", + "E14001367", + "E14001368", + "E14001377", + "E14001378", + "E14001380", + "E14001381", + "E14001382", + "E14001383", + "E14001385", + "E14001389", + "E14001390", + "E14001396", + "E14001405", + "E14001408", + "E14001410", + "E14001411", + "E14001412", + "E14001416", + "E14001425", + "E14001427", + "E14001428", + "E14001433", + "E14001436", + "E14001440", + "E14001446", + "E14001451", + "E14001452", + "E14001461", + "E14001462", + "E14001466", + "E14001467", + "E14001469", + "E14001470", + "E14001478", + "E14001486", + "E14001492", + "E14001508", + "E14001510", + "E14001511", + "E14001518", + "E14001520", + "E14001521", + "E14001522", + "E14001524", + "E14001531", + "E14001541", + "E14001547", + "E14001551", + "E14001552", + "E14001561", + "E14001562", + "E14001567", + "E14001574", + "E14001594", + "E14001595", + "N05000002", + "N05000004", + "N05000006", + "N05000007", + "N05000008", + "N05000010", + "N05000011", + "N05000012", + "N05000013", + "N05000015", + "N05000016", + "N05000017", + "N05000018", + "W07000081", + "W07000083", + "W07000084", + "W07000085", + "W07000087", + "W07000093", + "W07000095", + "W07000096", + "W07000098", + "W07000099", + "W07000100", + "W07000102", + "W07000103", + "W07000107", + "W07000108", + "W07000109", + "W07000112" + ], + "defer_if_compiles": true, + "expires_on": "2027-04-01" + }, + { + "target_id": "hmrc.higher_rate_taxpayers.count", + "geography_level": "local_authority", + "reason_id": "hmrc_rounded_thousand_floor", + "rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "area_ids": [ + "E06000001", + "E06000008", + "E06000009", + "E06000017", + "E07000010", + "E07000033", + "E07000042", + "E07000046", + "E07000047", + "E07000062", + "E07000080", + "E07000088", + "E07000117", + "E07000120", + "E07000122", + "E07000125", + "E07000133", + "E07000135", + "E07000136", + "E07000138", + "E07000140", + "E07000145", + "E07000174", + "E07000199", + "E07000223", + "N09000004", + "N09000005", + "N09000006", + "W06000001", + "W06000002", + "W06000003", + "W06000004", + "W06000008", + "W06000012", + "W06000019", + "W06000020", + "W06000024" + ], + "defer_if_compiles": true, + "expires_on": "2027-04-01" } ], "uprating_holds": [ @@ -138329,14 +138607,6 @@ "from": "2025-10", "to": "2025" }, - { - "name": "mhclg.council_tax_stock.by_area.band_g@E09000002", - "target_id": "mhclg.council_tax_stock.by_area.band_g", - "geography_level": "local_authority", - "geography_id": "E09000002", - "from": "2025-10", - "to": "2025" - }, { "name": "mhclg.council_tax_stock.by_area.band_g@E09000003", "target_id": "mhclg.council_tax_stock.by_area.band_g", @@ -140161,14 +140431,6 @@ "from": "2025-09", "to": "2025" }, - { - "name": "scotgov.council_tax_stock.by_area.band_g@S12000013", - "target_id": "scotgov.council_tax_stock.by_area.band_g", - "geography_level": "local_authority", - "geography_id": "S12000013", - "from": "2025-09", - "to": "2025" - }, { "name": "scotgov.council_tax_stock.by_area.band_g@S12000014", "target_id": "scotgov.council_tax_stock.by_area.band_g", @@ -140217,14 +140479,6 @@ "from": "2025-09", "to": "2025" }, - { - "name": "scotgov.council_tax_stock.by_area.band_g@S12000023", - "target_id": "scotgov.council_tax_stock.by_area.band_g", - "geography_level": "local_authority", - "geography_id": "S12000023", - "from": "2025-09", - "to": "2025" - }, { "name": "scotgov.council_tax_stock.by_area.band_g@S12000026", "target_id": "scotgov.council_tax_stock.by_area.band_g", @@ -140377,14 +140631,6 @@ "from": "2025-09", "to": "2025" }, - { - "name": "scotgov.council_tax_stock.by_area.band_h@S12000005", - "target_id": "scotgov.council_tax_stock.by_area.band_h", - "geography_level": "local_authority", - "geography_id": "S12000005", - "from": "2025-09", - "to": "2025" - }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000006", "target_id": "scotgov.council_tax_stock.by_area.band_h", @@ -140393,14 +140639,6 @@ "from": "2025-09", "to": "2025" }, - { - "name": "scotgov.council_tax_stock.by_area.band_h@S12000008", - "target_id": "scotgov.council_tax_stock.by_area.band_h", - "geography_level": "local_authority", - "geography_id": "S12000008", - "from": "2025-09", - "to": "2025" - }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000010", "target_id": "scotgov.council_tax_stock.by_area.band_h", @@ -140417,14 +140655,6 @@ "from": "2025-09", "to": "2025" }, - { - "name": "scotgov.council_tax_stock.by_area.band_h@S12000013", - "target_id": "scotgov.council_tax_stock.by_area.band_h", - "geography_level": "local_authority", - "geography_id": "S12000013", - "from": "2025-09", - "to": "2025" - }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000014", "target_id": "scotgov.council_tax_stock.by_area.band_h", @@ -140473,14 +140703,6 @@ "from": "2025-09", "to": "2025" }, - { - "name": "scotgov.council_tax_stock.by_area.band_h@S12000023", - "target_id": "scotgov.council_tax_stock.by_area.band_h", - "geography_level": "local_authority", - "geography_id": "S12000023", - "from": "2025-09", - "to": "2025" - }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000026", "target_id": "scotgov.council_tax_stock.by_area.band_h", @@ -140577,14 +140799,6 @@ "from": "2025-09", "to": "2025" }, - { - "name": "scotgov.council_tax_stock.by_area.band_h@S12000042", - "target_id": "scotgov.council_tax_stock.by_area.band_h", - "geography_level": "local_authority", - "geography_id": "S12000042", - "from": "2025-09", - "to": "2025" - }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000045", "target_id": "scotgov.council_tax_stock.by_area.band_h", @@ -140665,14 +140879,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001068", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001068", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001069", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -140681,14 +140887,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001070", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001070", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001071", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -140713,22 +140911,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001074", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001074", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001075", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001075", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001076", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -140849,14 +141031,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001091", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001091", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001092", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -140865,14 +141039,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001093", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001093", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001094", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -140881,14 +141047,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001095", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001095", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001096", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -140905,14 +141063,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001098", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001098", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001099", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -140921,70 +141071,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001100", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001100", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001101", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001101", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001102", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001102", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001103", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001103", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001104", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001104", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001105", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001105", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001106", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001106", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001107", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001107", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001108", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -140993,30 +141079,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001109", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001109", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001110", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001110", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001111", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001111", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001112", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141025,22 +141087,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001113", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001113", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001114", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001114", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001115", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141065,30 +141111,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001118", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001118", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001119", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001119", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001120", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001120", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001121", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141129,22 +141151,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001126", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001126", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001127", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001127", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001128", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141257,14 +141263,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001142", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001142", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001143", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141305,14 +141303,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001148", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001148", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001149", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141441,14 +141431,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001165", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001165", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001166", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141513,14 +141495,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001174", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001174", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001175", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141561,14 +141535,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001180", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001180", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001181", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141641,14 +141607,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001190", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001190", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001191", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141673,14 +141631,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001194", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001194", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001195", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141689,14 +141639,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001196", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001196", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001197", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141721,14 +141663,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001200", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001200", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001201", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141753,14 +141687,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001204", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001204", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001205", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141809,14 +141735,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001211", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001211", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001212", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -141969,14 +141887,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001231", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001231", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001232", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142041,14 +141951,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001240", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001240", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001241", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142129,14 +142031,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001251", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001251", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001252", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142161,22 +142055,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001255", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001255", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001256", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001256", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001257", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142209,22 +142087,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001261", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001261", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001262", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001262", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001263", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142297,14 +142159,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001272", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001272", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001273", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142409,14 +142263,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001286", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001286", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001287", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142481,14 +142327,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001295", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001295", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001296", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142497,14 +142335,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001297", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001297", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001298", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142513,14 +142343,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001299", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001299", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001300", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142545,22 +142367,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001303", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001303", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001304", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001304", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001305", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142577,14 +142383,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001307", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001307", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001308", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142625,30 +142423,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001313", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001313", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001314", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001314", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001315", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001315", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001316", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142657,14 +142431,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001317", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001317", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001318", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142673,14 +142439,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001319", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001319", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001320", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142705,14 +142463,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001323", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001323", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001324", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142729,38 +142479,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001326", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001326", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001327", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001327", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001328", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001328", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001329", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001329", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001330", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142809,14 +142527,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001336", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001336", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001337", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142825,22 +142535,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001338", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001338", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001339", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001339", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001340", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142849,14 +142543,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001341", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001341", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001342", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142865,22 +142551,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001343", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001343", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001344", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001344", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001345", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142945,14 +142615,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001353", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001353", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001354", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -142961,14 +142623,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001355", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001355", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001356", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143057,22 +142711,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001367", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001367", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001368", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001368", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001369", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143137,22 +142775,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001377", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001377", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001378", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001378", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001379", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143161,38 +142783,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001380", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001380", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001381", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001381", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001382", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001382", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001383", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001383", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001384", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143201,14 +142791,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001385", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001385", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001386", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143233,22 +142815,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001389", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001389", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001390", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001390", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001391", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143289,14 +142855,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001396", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001396", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001397", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143361,14 +142919,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001405", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001405", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001406", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143385,14 +142935,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001408", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001408", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001409", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143401,30 +142943,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001410", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001410", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001411", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001411", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001412", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001412", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001413", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143449,14 +142967,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001416", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001416", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001417", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143521,14 +143031,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001425", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001425", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001426", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143537,22 +143039,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001427", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001427", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001428", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001428", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001429", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143585,14 +143071,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001433", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001433", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001434", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143609,14 +143087,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001436", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001436", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001437", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143641,14 +143111,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001440", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001440", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001441", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143689,14 +143151,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001446", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001446", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001447", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143729,22 +143183,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001451", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001451", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001452", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001452", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001453", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143809,22 +143247,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001461", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001461", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001462", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001462", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001463", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143849,22 +143271,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001466", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001466", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001467", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001467", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001468", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143873,22 +143279,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001469", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001469", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001470", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001470", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001471", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -143945,14 +143335,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001478", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001478", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001479", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144009,14 +143391,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001486", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001486", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001487", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144057,14 +143431,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001492", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001492", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001493", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144185,14 +143551,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001508", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001508", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001509", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144201,22 +143559,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001510", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001510", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001511", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001511", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001512", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144265,14 +143607,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001518", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001518", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001519", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144281,30 +143615,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001520", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001520", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001521", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001521", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001522", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001522", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001523", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144313,14 +143623,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001524", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001524", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001525", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144369,14 +143671,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001531", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001531", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001532", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144449,14 +143743,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001541", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001541", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001542", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144497,14 +143783,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001547", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001547", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001548", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144529,22 +143807,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001551", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001551", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001552", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001552", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001553", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144609,22 +143871,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001561", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001561", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001562", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001562", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001563", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144657,14 +143903,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001567", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001567", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001568", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144713,14 +143951,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001574", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001574", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001575", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144873,22 +144103,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001594", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001594", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001595", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "E14001595", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001596", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144977,14 +144191,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000002", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000002", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@N05000003", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -144993,14 +144199,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000004", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000004", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@N05000005", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145009,30 +144207,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000006", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000006", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000007", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000007", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000008", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000008", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@N05000009", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145041,38 +144215,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000010", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000010", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000011", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000011", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000012", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000012", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000013", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000013", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@N05000014", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145081,46 +144223,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000015", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000015", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000016", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000016", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000017", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000017", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000018", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "N05000018", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000081", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000081", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000082", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145129,30 +144231,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000083", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000083", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000084", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000084", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000085", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000085", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000086", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145161,14 +144239,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000087", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000087", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000088", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145209,14 +144279,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000093", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000093", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000094", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145225,22 +144287,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000095", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000095", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000096", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000096", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000097", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145249,30 +144295,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000098", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000098", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000099", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000099", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000100", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000100", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000101", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145281,22 +144303,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000102", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000102", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000103", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000103", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000104", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145321,30 +144327,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000107", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000107", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000108", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000108", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000109", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000109", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000110", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145361,22 +144343,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000112", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "constituency", - "geography_id": "W07000112", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E06000001", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E06000001", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E06000002", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145425,22 +144391,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E06000008", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E06000008", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E06000009", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E06000009", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E06000010", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145497,14 +144447,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E06000017", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E06000017", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E06000018", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145873,14 +144815,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000010", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000010", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000011", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145905,14 +144839,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000033", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000033", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000034", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -145977,14 +144903,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000042", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000042", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000043", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146009,22 +144927,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000046", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000046", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000047", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000047", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000061", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146033,14 +144935,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000062", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000062", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000063", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146177,14 +145071,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000080", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000080", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000081", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146241,14 +145127,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000088", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000088", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000089", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146441,14 +145319,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000117", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000117", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000118", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146465,14 +145335,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000120", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000120", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000121", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146481,14 +145343,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000122", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000122", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000123", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146505,14 +145359,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000125", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000125", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000126", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146569,14 +145415,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000133", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000133", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000134", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146585,22 +145423,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000135", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000135", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000136", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000136", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000137", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146609,14 +145431,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000138", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000138", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000139", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146625,14 +145439,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000140", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000140", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000141", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146665,14 +145471,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000145", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000145", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000146", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146737,14 +145535,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000174", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000174", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000175", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -146857,14 +145647,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000199", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000199", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000200", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -147017,14 +145799,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000223", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "E07000223", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000224", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -147737,30 +146511,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@N09000004", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "N09000004", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N09000005", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "N09000005", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N09000006", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "N09000006", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@N09000007", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -147801,38 +146551,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000001", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "W06000001", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000002", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "W06000002", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000003", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "W06000003", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000004", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "W06000004", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W06000005", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -147849,14 +146567,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000008", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "W06000008", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W06000009", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -147881,14 +146591,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000012", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "W06000012", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W06000013", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -147929,22 +146631,6 @@ "from": "2023", "to": "2025" }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000019", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "W06000019", - "from": "2023", - "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000020", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "W06000020", - "from": "2023", - "to": "2025" - }, { "name": "hmrc.higher_rate_taxpayers.count@W06000021", "target_id": "hmrc.higher_rate_taxpayers.count", @@ -147968,20 +146654,12 @@ "geography_id": "W06000023", "from": "2023", "to": "2025" - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000024", - "target_id": "hmrc.higher_rate_taxpayers.count", - "geography_level": "local_authority", - "geography_id": "W06000024", - "from": "2023", - "to": "2025" } ], "holds_by_target": { "hmrc.employment_income.amount": 1008, "hmrc.employment_income.count": 1008, - "hmrc.higher_rate_taxpayers.count": 919, + "hmrc.higher_rate_taxpayers.count": 727, "hmrc.self_employment_income.amount": 1007, "hmrc.self_employment_income.count": 1008, "mhclg.council_tax_stock.by_area.band_a": 294, @@ -147990,7 +146668,7 @@ "mhclg.council_tax_stock.by_area.band_d": 294, "mhclg.council_tax_stock.by_area.band_e": 294, "mhclg.council_tax_stock.by_area.band_f": 294, - "mhclg.council_tax_stock.by_area.band_g": 294, + "mhclg.council_tax_stock.by_area.band_g": 293, "ons.age.0_10": 650, "ons.age.10_20": 650, "ons.age.20_30": 650, @@ -148011,8 +146689,8 @@ "scotgov.council_tax_stock.by_area.band_d": 32, "scotgov.council_tax_stock.by_area.band_e": 32, "scotgov.council_tax_stock.by_area.band_f": 32, - "scotgov.council_tax_stock.by_area.band_g": 32, - "scotgov.council_tax_stock.by_area.band_h": 31 + "scotgov.council_tax_stock.by_area.band_g": 30, + "scotgov.council_tax_stock.by_area.band_h": 26 }, "targets": { "hmrc.self_employment_income.amount": { @@ -159903,7 +158581,7 @@ "matched_fact_count_overall": 2, "matched_fact_count_at_or_before_period": 2, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 588000000.0 }, { @@ -173060,7 +171738,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 2000.0 }, { @@ -186217,7 +184895,7 @@ "matched_fact_count_overall": 2, "matched_fact_count_at_or_before_period": 2, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 1197000000.0 }, { @@ -199374,7 +198052,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 9000.0 }, { @@ -209751,7 +208429,7 @@ "matched_fact_count_overall": 6, "matched_fact_count_at_or_before_period": 6, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 187.0 }, { @@ -212532,7 +211210,7 @@ "matched_fact_count_overall": 6, "matched_fact_count_at_or_before_period": 6, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 351.0 }, { @@ -222909,7 +221587,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 195.0 }, { @@ -225690,7 +224368,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 577.0 }, { @@ -236067,7 +234745,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 296.0 }, { @@ -238848,7 +237526,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 5042.0 }, { @@ -249225,7 +247903,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 238.0 }, { @@ -252006,7 +250684,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 4269.0 }, { @@ -262383,7 +261061,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 286.0 }, { @@ -265164,7 +263842,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 1965.0 }, { @@ -275541,7 +274219,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 323.0 }, { @@ -278322,7 +277000,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 1414.0 }, { @@ -288699,7 +287377,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 281.0 }, { @@ -291480,7 +290158,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 1048.0 }, { @@ -301857,7 +300535,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 279.0 }, { @@ -304638,7 +303316,7 @@ "matched_fact_count_overall": 4, "matched_fact_count_at_or_before_period": 4, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 638.0 }, { @@ -314997,7 +313675,7 @@ "matched_fact_count_overall": 12, "matched_fact_count_at_or_before_period": 12, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 71.25 }, { @@ -317778,7 +316456,7 @@ "matched_fact_count_overall": 12, "matched_fact_count_at_or_before_period": 12, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 445.3333333333333 }, { @@ -366489,7 +365167,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 320.0 }, { @@ -369270,7 +367948,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 1114.0 }, { @@ -371191,7 +369869,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 98.0 }, { @@ -373972,7 +372650,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 680.0 }, { @@ -375893,7 +374571,7 @@ "matched_fact_count_overall": 2, "matched_fact_count_at_or_before_period": 2, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 344.0 }, { @@ -378674,7 +377352,7 @@ "matched_fact_count_overall": 2, "matched_fact_count_at_or_before_period": 2, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 2373.0 }, { @@ -380595,7 +379273,7 @@ "matched_fact_count_overall": 2, "matched_fact_count_at_or_before_period": 2, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 162.0 }, { @@ -383376,7 +382054,7 @@ "matched_fact_count_overall": 2, "matched_fact_count_at_or_before_period": 2, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 730.0 }, { @@ -403116,7 +401794,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 11.0 }, { @@ -405897,7 +404575,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 2.0 }, { @@ -406973,7 +405651,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 24.0 }, { @@ -409754,7 +408432,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 238.0 }, { @@ -410830,7 +409508,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 93.0 }, { @@ -413611,7 +412289,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 547.0 }, { @@ -414687,7 +413365,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 232.0 }, { @@ -417468,7 +416146,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 550.0 }, { @@ -418544,7 +417222,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 281.0 }, { @@ -421325,7 +420003,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 1898.0 }, { @@ -422401,7 +421079,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 234.0 }, { @@ -425182,7 +423860,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 968.0 }, { @@ -426258,7 +424936,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 102.0 }, { @@ -429039,7 +427717,7 @@ "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 1050.0 }, { @@ -429047,13 +427725,12 @@ "target_id": "mhclg.council_tax_stock.by_area.band_g", "geography_level": "local_authority", "geography_id": "E09000002", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 84, "matched_fact_count_at_or_before_period": 84, - "resolved_period": 2025, - "resolved_value": 49.0, - "resolved_fact_period": "2025-10", - "resolved_fact_key": "ledger_aggregate_fact_v2_3ca6c45eb82aee61095f7fba" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 49.0 }, { "name": "mhclg.council_tax_stock.by_area.band_g@E09000003", @@ -435105,10 +433782,10 @@ } }, "welshgov.council_tax_stock.by_area.band_h": { - "status": "active", + "status": "partially_active", "geography_levels": { "local_authority": { - "status": "active", + "status": "partially_active", "candidate_count": 22, "candidates": [ { @@ -435324,13 +434001,12 @@ "target_id": "welshgov.council_tax_stock.by_area.band_h", "geography_level": "local_authority", "geography_id": "W06000019", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 120, "matched_fact_count_at_or_before_period": 90, - "resolved_period": 2025, - "resolved_value": 3.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_a5c499bad2643b3b1a4e9d78" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3.0 }, { "name": "welshgov.council_tax_stock.by_area.band_h@W06000020", @@ -435389,23 +434065,22 @@ "target_id": "welshgov.council_tax_stock.by_area.band_h", "geography_level": "local_authority", "geography_id": "W06000024", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 120, "matched_fact_count_at_or_before_period": 90, - "resolved_period": 2025, - "resolved_value": 2.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_77bd808425425977713eb8f1" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 2.0 } ] } } }, "welshgov.council_tax_stock.by_area.band_i": { - "status": "active", + "status": "partially_active", "geography_levels": { "local_authority": { - "status": "active", + "status": "partially_active", "candidate_count": 22, "candidates": [ { @@ -435413,13 +434088,12 @@ "target_id": "welshgov.council_tax_stock.by_area.band_i", "geography_level": "local_authority", "geography_id": "W06000001", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 120, "matched_fact_count_at_or_before_period": 90, - "resolved_period": 2025, - "resolved_value": 42.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_a36a5a1f235d94480831068c" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 42.0 }, { "name": "welshgov.council_tax_stock.by_area.band_i@W06000002", @@ -435491,13 +434165,12 @@ "target_id": "welshgov.council_tax_stock.by_area.band_i", "geography_level": "local_authority", "geography_id": "W06000008", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 120, "matched_fact_count_at_or_before_period": 90, - "resolved_period": 2025, - "resolved_value": 20.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_87e4127b5a9f7f959da3334f" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 20.0 }, { "name": "welshgov.council_tax_stock.by_area.band_i@W06000009", @@ -435543,13 +434216,12 @@ "target_id": "welshgov.council_tax_stock.by_area.band_i", "geography_level": "local_authority", "geography_id": "W06000012", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 120, "matched_fact_count_at_or_before_period": 90, - "resolved_period": 2025, - "resolved_value": 19.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_dc2a9a2b66247b37be097a12" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 19.0 }, { "name": "welshgov.council_tax_stock.by_area.band_i@W06000013", @@ -435621,26 +434293,24 @@ "target_id": "welshgov.council_tax_stock.by_area.band_i", "geography_level": "local_authority", "geography_id": "W06000019", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 120, "matched_fact_count_at_or_before_period": 90, - "resolved_period": 2025, - "resolved_value": 18.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_ecf60cdebd8dbe7b3fb65824" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 18.0 }, { "name": "welshgov.council_tax_stock.by_area.band_i@W06000020", "target_id": "welshgov.council_tax_stock.by_area.band_i", "geography_level": "local_authority", "geography_id": "W06000020", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 120, "matched_fact_count_at_or_before_period": 90, - "resolved_period": 2025, - "resolved_value": 25.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_5b45f52c03f12769ba20c0d2" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 25.0 }, { "name": "welshgov.council_tax_stock.by_area.band_i@W06000021", @@ -435686,13 +434356,12 @@ "target_id": "welshgov.council_tax_stock.by_area.band_i", "geography_level": "local_authority", "geography_id": "W06000024", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 120, "matched_fact_count_at_or_before_period": 90, - "resolved_period": 2025, - "resolved_value": 7.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_44a486c38cb6e24d8e2d696a" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 7.0 } ] } @@ -438261,10 +436930,10 @@ } }, "scotgov.council_tax_stock.by_area.band_g": { - "status": "active", + "status": "partially_active", "geography_levels": { "local_authority": { - "status": "active", + "status": "partially_active", "candidate_count": 32, "candidates": [ { @@ -438337,13 +437006,12 @@ "target_id": "scotgov.council_tax_stock.by_area.band_g", "geography_level": "local_authority", "geography_id": "S12000013", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 3, "matched_fact_count_at_or_before_period": 3, - "resolved_period": 2025, - "resolved_value": 29.0, - "resolved_fact_period": "2025-09", - "resolved_fact_key": "ledger_aggregate_fact_v2_3c4cef548a5df19779bdd581" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 29.0 }, { "name": "scotgov.council_tax_stock.by_area.band_g@S12000014", @@ -438428,13 +437096,12 @@ "target_id": "scotgov.council_tax_stock.by_area.band_g", "geography_level": "local_authority", "geography_id": "S12000023", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 3, "matched_fact_count_at_or_before_period": 3, - "resolved_period": 2025, - "resolved_value": 27.0, - "resolved_fact_period": "2025-09", - "resolved_fact_key": "ledger_aggregate_fact_v2_728bf55a5dc6c846f63df557" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 27.0 }, { "name": "scotgov.council_tax_stock.by_area.band_g@S12000026", @@ -438699,13 +437366,12 @@ "target_id": "scotgov.council_tax_stock.by_area.band_h", "geography_level": "local_authority", "geography_id": "S12000005", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 3, "matched_fact_count_at_or_before_period": 3, - "resolved_period": 2025, - "resolved_value": 49.0, - "resolved_fact_period": "2025-09", - "resolved_fact_key": "ledger_aggregate_fact_v2_fac7305277638488671cf6fc" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 49.0 }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000006", @@ -438725,13 +437391,12 @@ "target_id": "scotgov.council_tax_stock.by_area.band_h", "geography_level": "local_authority", "geography_id": "S12000008", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 3, "matched_fact_count_at_or_before_period": 3, - "resolved_period": 2025, - "resolved_value": 49.0, - "resolved_fact_period": "2025-09", - "resolved_fact_key": "ledger_aggregate_fact_v2_1852a696d0bf5a54a68bd460" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 49.0 }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000010", @@ -438764,13 +437429,12 @@ "target_id": "scotgov.council_tax_stock.by_area.band_h", "geography_level": "local_authority", "geography_id": "S12000013", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 3, "matched_fact_count_at_or_before_period": 3, - "resolved_period": 2025, - "resolved_value": 5.0, - "resolved_fact_period": "2025-09", - "resolved_fact_key": "ledger_aggregate_fact_v2_9e34f4031f1be6d3df9405d2" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5.0 }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000014", @@ -438855,13 +437519,12 @@ "target_id": "scotgov.council_tax_stock.by_area.band_h", "geography_level": "local_authority", "geography_id": "S12000023", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 3, "matched_fact_count_at_or_before_period": 3, - "resolved_period": 2025, - "resolved_value": 5.0, - "resolved_fact_period": "2025-09", - "resolved_fact_key": "ledger_aggregate_fact_v2_f7b79da8e7ac960ec8076ee6" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5.0 }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000026", @@ -439036,13 +437699,12 @@ "target_id": "scotgov.council_tax_stock.by_area.band_h", "geography_level": "local_authority", "geography_id": "S12000042", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 3, "matched_fact_count_at_or_before_period": 3, - "resolved_period": 2025, - "resolved_value": 37.0, - "resolved_fact_period": "2025-09", - "resolved_fact_key": "ledger_aggregate_fact_v2_7dd4ab9f131acdb0c2e971f8" + "signed_reason_id": "council_tax_band_household_floor", + "signed_rationale": "A council-tax band cell of fewer than 50 dwellings (Blaenau Gwent band H 3, Barking and Dagenham band G 49) cannot be met by a sample of households: the capped loss stops paying for it and it sits past the target-fit fence for good (microcosm#1123 item 7). The deferred cell's dwellings still count in its leg's band control through reconciliation. Rule council_tax_band_household_floor in uk/local_small_cell_rule.json: published value below 50; approved by juaristi22 on 2026-10-14.", + "deferred_value": 37.0 }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000045", @@ -439117,7 +437779,7 @@ "status": "partially_active", "geography_levels": { "constituency": { - "status": "active", + "status": "partially_active", "candidate_count": 593, "candidates": [ { @@ -439190,13 +437852,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001068", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_705cf1353425f629bdb5841b" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001069", @@ -439216,13 +437877,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001070", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_17419d99bb7f3212a7ce8022" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001071", @@ -439268,26 +437928,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001074", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_1c6236f261d76f45494b5bff" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001075", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001075", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_144f25a6059ab2ade4da3cfb" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001076", @@ -439489,13 +438147,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001091", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_82704bbddffea9cfe3b112c9" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001092", @@ -439515,13 +438172,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001093", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_ef585e96c6111c8539de950d" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001094", @@ -439541,13 +438197,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001095", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_8fb68bdbd662bbdde24d28e7" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001096", @@ -439580,13 +438235,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001098", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_bbea58851adec478a9ebdc73" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001099", @@ -439606,104 +438260,96 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001100", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_8e6bf0d9df8f57cd8f4c994a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001101", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001101", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_0fd47ce74c0c4b705e4b941b" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001102", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001102", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_b5e254fe6bb513c2198b4274" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001103", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001103", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_dfd83f792e00fa5fafca41db" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001104", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001104", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_350038d1485434bfeb593af5" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001105", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001105", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 2000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_fa1a07c56d57fd7c79a6d581" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 2000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001106", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001106", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_0a9f1a980d3c274178238073" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001107", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001107", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_eda46cb493d99485688acc51" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001108", @@ -439723,39 +438369,36 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001109", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_33c9d6fa2d14fdf06ec16e44" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001110", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001110", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_ee3341b85f3eaf65d5c8f8de" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001111", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001111", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_c24d1872360a1f074a71cb7a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001112", @@ -439775,26 +438418,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001113", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_ca9add4950917c7f38b928af" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001114", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001114", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_41b2f283d56fd73c86682182" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001115", @@ -439840,39 +438481,36 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001118", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_bb86aa57f93484f1e0ec120a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001119", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001119", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_4b768ee72bab1bd8e702ae39" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001120", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001120", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 2000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_48d3188882c47d7a9be35cea" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 2000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001121", @@ -439944,26 +438582,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001126", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_0802c28d61042dfa123d21af" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001127", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001127", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_f3afe243ec415a95d3c6feaf" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001128", @@ -440152,13 +438788,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001142", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_788762a3926f94816a41dad3" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001143", @@ -440230,13 +438865,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001148", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_31e22f2082da6bf526cf815a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001149", @@ -440451,13 +439085,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001165", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_c8836b604531c2f23b2db703" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001166", @@ -440568,13 +439201,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001174", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_db19337508aa7733195b9921" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001175", @@ -440646,13 +439278,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001180", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_5d60df4e4cd9995cd52240fa" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001181", @@ -440776,13 +439407,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001190", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_c36228326bdf11f4ff36f59e" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001191", @@ -440828,13 +439458,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001194", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_40e0708307bf9bce041013c3" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001195", @@ -440854,13 +439483,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001196", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_c7b1e041bd881c0bc927a19c" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001197", @@ -440906,13 +439534,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001200", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_6de29525b7ffbfd6bf077ee3" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001201", @@ -440958,13 +439585,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001204", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_e3eb4068378bd0379ac89fdd" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001205", @@ -441049,13 +439675,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001211", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_1636b09c18dc2e1ee2453168" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001212", @@ -441309,13 +439934,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001231", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_081fd93440c1bde1531f4727" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001232", @@ -441426,13 +440050,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001240", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_5e0d47dbb00e4312c1d7a525" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001241", @@ -441569,13 +440192,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001251", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_3697623952c0f0f08a5b21a3" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001252", @@ -441621,26 +440243,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001255", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_6536e073b27e916437474231" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001256", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001256", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_035584a3be5d32121b82779e" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001257", @@ -441699,26 +440319,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001261", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_e2565d98c6cee316d348d74e" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001262", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001262", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_6caa79358d20086eb8dbb565" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001263", @@ -441842,13 +440460,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001272", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_c7cd5f7a212fb2e4337c65d7" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001273", @@ -442024,13 +440641,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001286", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_90fe1d0aa9f6c780ac1b4516" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001287", @@ -442141,13 +440757,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001295", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_1ba502a1b22d4ea25511eb03" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001296", @@ -442167,13 +440782,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001297", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_860891df8a460acc6fb1411a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001298", @@ -442193,13 +440807,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001299", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_86b6d1c96fea613d8cc69b02" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001300", @@ -442245,26 +440858,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001303", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_7ba24e86061abcf1904354ca" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001304", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001304", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_267fdf29bd1e27c5f1aff4cc" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001305", @@ -442297,13 +440908,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001307", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_68227fd53901d14f510e091b" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001308", @@ -442375,39 +440985,36 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001313", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_9a3536d51baec4e2e5123ed1" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001314", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001314", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_21344bd5b9d3d897e41ff1f7" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001315", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001315", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_532bb8db1d6e2e9afeb519dd" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001316", @@ -442427,13 +441034,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001317", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_bfa484f969e427523829ee88" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001318", @@ -442453,13 +441059,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001319", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_43c43707ecf997e461a2821d" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001320", @@ -442505,13 +441110,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001323", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_a5c1bef28395ddec08670ea1" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001324", @@ -442544,52 +441148,48 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001326", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_93066c1eee81cf6d92341e64" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001327", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001327", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_ff81ddea5aa86ab5353bcf11" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001328", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001328", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_6158f83bb97d0f8650c18338" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001329", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001329", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_1beb2c2c71d8424d5cfcb30a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001330", @@ -442674,13 +441274,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001336", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_bc0484fbd6cf6f6a9c578762" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001337", @@ -442700,26 +441299,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001338", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_0d3a1afa26d521fe65e93beb" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001339", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001339", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_b84badf30a1a0e2c265c0b31" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001340", @@ -442739,13 +441336,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001341", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_2dbea55f649809df678fa001" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001342", @@ -442765,26 +441361,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001343", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_aff4c0ea870022ccceaac6ae" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001344", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001344", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_1e1341c62ca385bd3730ea44" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001345", @@ -442895,13 +441489,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001353", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_08c6b0e0e816e8c04bb6534a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001354", @@ -442921,13 +441514,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001355", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_fa279a99877ad380be2f4d20" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001356", @@ -443077,26 +441669,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001367", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_cd86c1d6659c5c84b6426544" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001368", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001368", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_8fdbe4908cc8c17e9da790de" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001369", @@ -443207,26 +441797,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001377", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_9ed4ed11074ddba44c8640b6" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001378", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001378", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_974f0b50ec07dd387c2194c6" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001379", @@ -443246,52 +441834,48 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001380", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_2f754584dbedd8ba60d37ed3" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001381", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001381", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_d831abf2f06efc3e3a2eb6b1" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001382", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001382", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_cf77d3036b3e29416c0f5748" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001383", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001383", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_0a22910f2911253e0be0d083" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001384", @@ -443311,13 +441895,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001385", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_98dec4967b1e5798c3b4220e" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001386", @@ -443363,26 +441946,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001389", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_8dedca38a9c47649cec07ae4" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001390", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001390", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_58e62cd88b945591a8c3600a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001391", @@ -443454,13 +442035,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001396", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_8751e4165092a033d9ec627b" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001397", @@ -443571,13 +442151,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001405", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_277bd043b7b8d76c01ea304b" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001406", @@ -443610,13 +442189,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001408", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_19601d9a5c2e4f772153cf7c" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001409", @@ -443636,39 +442214,36 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001410", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_7deb6f139a981d93ec9c550f" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001411", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001411", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_00dd17225e6c1da60894bdb1" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001412", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001412", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_f30295ae66d30395923d5c1f" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001413", @@ -443714,13 +442289,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001416", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_8c84d965b9b386812633cba2" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001417", @@ -443831,13 +442405,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001425", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_b57b958d8a59190c78fddaef" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001426", @@ -443857,26 +442430,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001427", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_210359106b02ff044fef9ca3" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001428", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001428", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_dc197ea7207a6016b22e6fdc" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001429", @@ -443935,13 +442506,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001433", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_24161bfa044f842b7d54958c" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001434", @@ -443974,13 +442544,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001436", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_c22186aba582df20153a801c" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001437", @@ -444026,13 +442595,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001440", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_310c6bf2d5edf5b56c6ad5e4" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001441", @@ -444104,13 +442672,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001446", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_da240a997c939c69816a5afa" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001447", @@ -444169,26 +442736,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001451", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_7889a8104f34ce67841bed3f" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001452", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001452", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_4c0186fdf07b37a9686817ec" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001453", @@ -444299,26 +442864,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001461", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_8994fd77f06219948528b895" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001462", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001462", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_29ed81a681ef9293568cb20c" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001463", @@ -444364,26 +442927,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001466", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 2000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_6a07d33f2954e4d1fb01b95e" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 2000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001467", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001467", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_87909f91baa09cd7f319f001" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001468", @@ -444403,26 +442964,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001469", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_2727dc4807530eb028737ecc" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001470", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001470", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_5cf2403f9ff6bae2f4731151" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001471", @@ -444520,13 +443079,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001478", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_8960ff4e47d1ac2b6b621769" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001479", @@ -444624,13 +443182,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001486", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_16615e70dd9f3a156ea1b4d9" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001487", @@ -444702,13 +443259,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001492", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_46ef660134e37f15c113cf7c" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001493", @@ -444910,13 +443466,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001508", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_a2687e7bc8734c9893869574" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001509", @@ -444936,26 +443491,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001510", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_2ae22bf675e1ff8a71cc2146" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001511", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001511", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_ca6dfe775e8ca5b6a3c09e7d" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001512", @@ -445040,13 +443593,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001518", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_802725f0546d0f3898025d93" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001519", @@ -445066,39 +443618,36 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001520", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 2000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_5220331769d42ac0d555147e" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 2000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001521", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001521", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_7815d8a08489dbb9dbf09d2b" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001522", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001522", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_292303591b340ed6cd562a41" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001523", @@ -445118,13 +443667,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001524", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_c52b309383d4abd4fb3bc1b1" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001525", @@ -445209,13 +443757,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001531", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_2c8e3900929962a831615b50" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001532", @@ -445339,13 +443886,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001541", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_ebeb1f17f474020823100b53" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001542", @@ -445417,13 +443963,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001547", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_aa1740bd1865331c6dcaa40c" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001548", @@ -445469,26 +444014,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001551", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_93c7ea5b267a9bd23c16e4e9" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001552", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001552", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_ed0ae11beb106616686bc561" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001553", @@ -445599,26 +444142,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001561", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_9e29047cf5a71a62ed3c02f5" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001562", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001562", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_dce1bfdbbe996bcb6350a30f" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001563", @@ -445677,13 +444218,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001567", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_709022ee64ced4650c2df34f" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001568", @@ -445768,13 +444308,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001574", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_8c5c2b5aaa0d18b4710d7f1d" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001575", @@ -446028,26 +444567,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001594", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_424da357adf059ee0a57586a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001595", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "E14001595", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_f113a492399fc28fabf7dda8" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E14001596", @@ -446197,13 +444734,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000002", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_7cae55caae3a679e2a3da182" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000003", @@ -446223,13 +444759,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000004", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 2000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_b7883a0eb0bb707da51df465" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 2000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000005", @@ -446249,39 +444784,36 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000006", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_e23bfb31272fb059bf2ff0b2" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000007", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000007", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_032cde6a0477708d46f873fe" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000008", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000008", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_ca1edd1ab81e4a5c5d610d49" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000009", @@ -446301,52 +444833,48 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000010", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_b70c57a9bc2edcc51378538a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000011", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000011", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_cbfd4fd598291ed8dc8c1e8f" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000012", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000012", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_847f08589adbda890311473e" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000013", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000013", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_5e46b4e3cf76cfe0a2ac71fc" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000014", @@ -446366,65 +444894,60 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000015", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_7e353404e82dc4fb5d95c03f" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000016", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000016", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_0ba5ac0d995b9c3c6990eae6" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000017", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000017", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_294e06b7e0709d9d3c25113d" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N05000018", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "N05000018", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_72167d8bdab24b00dd0c5d56" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000081", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000081", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_b7afddc294d358b01e8f7e8a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000082", @@ -446444,39 +444967,36 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000083", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_607e92fa6defcef8ab7fba8f" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000084", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000084", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_8cb7db6d32d670117f840f57" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000085", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000085", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_1a4766453c88ef8b0144e251" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000086", @@ -446496,13 +445016,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000087", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_16e182a20d2393d405343751" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000088", @@ -446574,13 +445093,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000093", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_9edf657ff51e18037f8a9508" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000094", @@ -446600,26 +445118,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000095", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_b387812435f41de857df3e9e" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000096", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000096", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_03d121f03501221c058cda0a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000097", @@ -446639,39 +445155,36 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000098", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_d37983b73547a15b35d7eaec" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000099", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000099", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_43aa83ec44c23697acc705bf" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000100", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000100", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_05f4d75fdf3fd7c94a59df3a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000101", @@ -446691,26 +445204,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000102", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_f29474e4f2b7db86f50b4b03" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000103", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000103", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_41fb2c398acaacd017a35561" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000104", @@ -446756,39 +445267,36 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000107", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_a999767beafeb5db33fa7b07" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000108", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000108", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_23af4697ac2933542d188b6c" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000109", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000109", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_25fa48db7fbe560cfab4e4fc" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W07000110", @@ -446821,13 +445329,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "constituency", "geography_id": "W07000112", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_063903bc338a60604f95e79e" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 } ] }, @@ -446840,13 +445347,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E06000001", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_b1eed6e38a6ca5f43d7e1458" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E06000002", @@ -446931,26 +445437,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E06000008", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_c7017b244229dac3a08b4403" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E06000009", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E06000009", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_5f39a1838beee9c4be17e212" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E06000010", @@ -447048,13 +445552,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E06000017", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_3b6c96ff949489aa49a71931" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E06000018", @@ -447683,13 +446186,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000010", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_7c5d411ad73d4cf255993396" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000011", @@ -447735,13 +446237,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000033", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_e0bae0baa53b140215750666" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000034", @@ -447852,13 +446353,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000042", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_3434263aaf2ed9e534f1c2a2" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000043", @@ -447904,26 +446404,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000046", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_2061da2236df0e8c68ecd13f" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000047", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000047", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_fac02943b99567db6ecd8e28" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000061", @@ -447943,13 +446441,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000062", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_15fb0abd818b3343ad9d2dd5" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000063", @@ -448177,13 +446674,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000080", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_3786f2b22a31b4de82e0a49a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000081", @@ -448281,13 +446777,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000088", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_26c7f3b134b48894dde52d87" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000089", @@ -448606,13 +447101,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000117", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_03a2cfe4df0ea6f00c6d6600" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000118", @@ -448645,13 +447139,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000120", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_007b5686a04b6913bc7dcf01" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000121", @@ -448671,13 +447164,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000122", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_993b2998310ea2190759b755" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000123", @@ -448710,13 +447202,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000125", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_f67d0f078bf04ef7035c5608" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000126", @@ -448814,13 +447305,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000133", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_03c08032b0aafe019a391342" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000134", @@ -448840,26 +447330,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000135", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_a762b21608b8ea275f987c91" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000136", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000136", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 2000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_7bea18aae6f8c1ee81f13238" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 2000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000137", @@ -448879,13 +447367,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000138", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_44243872d89eaf7066354540" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000139", @@ -448905,13 +447392,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000140", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_12f843033fa69e8d43a0dfed" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000141", @@ -448970,13 +447456,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000145", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_d3a844a827135fe06cfc2517" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000146", @@ -449087,13 +447572,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000174", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_2c708aa679344b7c1e7afc10" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000175", @@ -449282,13 +447766,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000199", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_20703d38fc761daebd0e975d" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000200", @@ -449542,13 +448025,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "E07000223", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_1d6f14f0bc8338e34395d3b4" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@E07000224", @@ -450261,7 +448743,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 4000.0 }, { @@ -450724,39 +449206,36 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "N09000004", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_dfdaa500ad0217adfd497f67" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N09000005", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "N09000005", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_335e570aeecbcb2524feb36a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N09000006", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "N09000006", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_7b6e3a2c559689de2dcae74a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@N09000007", @@ -450828,52 +449307,48 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "W06000001", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 4000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_62dc960ea38d9919a8029ddd" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 4000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W06000002", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "W06000002", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_c2b45f85d1be3a27da2a7518" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W06000003", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "W06000003", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_6665619ae864ef8628cac4c8" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W06000004", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "W06000004", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_d27476d3d7a4c1ec8a3a8d0a" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W06000005", @@ -450906,13 +449381,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "W06000008", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_6f2e17c11c37362544bc8270" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W06000009", @@ -450958,13 +449432,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "W06000012", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_63f689962899287fd0d1b56f" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W06000013", @@ -451036,26 +449509,24 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "W06000019", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 2000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_d129d8b97f9043c0aeb673c7" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 2000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W06000020", "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "W06000020", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 5000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_e93b5b132fab4f0a1afc8549" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 5000.0 }, { "name": "hmrc.higher_rate_taxpayers.count@W06000021", @@ -451101,13 +449572,12 @@ "target_id": "hmrc.higher_rate_taxpayers.count", "geography_level": "local_authority", "geography_id": "W06000024", - "status": "active", + "status": "signed_deferred", "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, - "resolved_period": 2025, - "resolved_value": 3000.0, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_4d190d6adc490af687f20e8b" + "signed_reason_id": "hmrc_rounded_thousand_floor", + "signed_rationale": "HMRC publishes the SPI area cells rounded to the thousand, so a published cell can be up to 500 from its true count: up to 10% of a cell of 5,000, and up to 25% of the smallest cell, 2,000. The floor defers the cells where the rounding can reach 10%. 192 of the 919 cells sit there (155 constituencies, 37 local authorities). The deferred cell's taxpayers still count in its region's or nation's control through reconciliation. Rule hmrc_rounded_thousand_floor in uk/local_small_cell_rule.json: published value below 5500; approved by juaristi22 on 2026-10-14.", + "deferred_value": 3000.0 } ] } @@ -459247,7 +457717,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 45.365 }, { @@ -462028,7 +460498,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 1302.843 }, { @@ -470871,7 +469341,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 4.39 }, { @@ -473652,7 +472122,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 534.704 }, { @@ -482495,7 +480965,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 1.463 }, { @@ -485276,7 +483746,7 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "signed_reason_id": "local_authority_support_floor_excluded", - "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): respectively 7 and 14 positive-weight rows at K=4, and 17 and 49 at K=10. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", + "signed_rationale": "E06000053 and E09000001 are reviewed exclusions of the local-authority support floor (uk/local_area_support_exclusions.json, microcosm#762 A4): each misses the floor at every K measured. Their own local-authority cells are signed-deferred on the same evidence; their rows stay in the solve through the constituency families and the national rows (A14 amendment to A4).", "deferred_value": 222.128 }, { diff --git a/packages/microcosm-build/src/microcosm/build/uk/local_target_references.json b/packages/microcosm-build/src/microcosm/build/uk/local_target_references.json index 7c91f24b2c..19b46ad566 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/local_target_references.json +++ b/packages/microcosm-build/src/microcosm/build/uk/local_target_references.json @@ -602945,52 +602945,6 @@ "uprating_from_period": "2025-10", "uprating_to_period": 2025 }, - { - "name": "mhclg.council_tax_stock.by_area.band_g@E09000002", - "ledger_selector": { - "source_name": "mhclg", - "record_set_spec_id": [ - "uk.local_geography.council_tax.england_ctb.line_07_chargeable_dwellings_adjusted_for_disabled_relief.v1", - "uk.local_geography.council_tax.england_ctb.line_11_second_homes.v1", - "uk.local_geography.council_tax.england_ctb.line_15_empty_dwellings.v1" - ], - "geography_level": "local_authority", - "geography_id": "E09000002" - }, - "entity": "household", - "measure": "council_tax/band_g", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "mhclg.council_tax_stock.by_area.band_g", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E09000002" - }, - "value_operation": "linear_combination", - "value_operands": [ - { - "weight": 1, - "source_concept": "mhclg.council_taxbase.chargeable_dwellings_adjusted_for_disabled_relief", - "source_measure_id": "band_g", - "label": "line_07[G]" - }, - { - "weight": -1, - "source_concept": "mhclg.council_taxbase.second_homes", - "source_measure_id": "band_g", - "label": "line_11[G]" - }, - { - "weight": -1, - "source_concept": "mhclg.council_taxbase.empty_dwellings", - "source_measure_id": "band_g", - "label": "line_15[G]" - } - ], - "uprating_from_period": "2025-10", - "uprating_to_period": 2025 - }, { "name": "mhclg.council_tax_stock.by_area.band_g@E09000003", "ledger_selector": { @@ -613427,59 +613381,6 @@ } ] }, - { - "name": "welshgov.council_tax_stock.by_area.band_h@W06000019", - "ledger_selector": { - "source_name": "welshgov", - "record_set_spec_id": [ - "uk.local_geography.council_tax.wales_ct1.a1_all_chargeable_dwellings.v1", - "uk.local_geography.council_tax.wales_ct1.h7_total_chargeable_empty_properties.v1", - "uk.local_geography.council_tax.wales_ct1.h8_total_chargeable_second_homes.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000019" - }, - "entity": "household", - "measure": "council_tax/band_h", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "welshgov.council_tax_stock.by_area.band_h", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000019" - }, - "value_operation": "linear_combination", - "value_operands": [ - { - "weight": 1, - "source_concept": "welshgov.council_tax_dwellings.all_chargeable_dwellings", - "source_measure_id": "a1", - "label": "a1[H]", - "dimension_values": { - "council_tax_band": "H" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_empty_properties", - "source_measure_id": "h7", - "label": "h7[H]", - "dimension_values": { - "council_tax_band": "H" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_second_homes", - "source_measure_id": "h8", - "label": "h8[H]", - "dimension_values": { - "council_tax_band": "H" - } - } - ] - }, { "name": "welshgov.council_tax_stock.by_area.band_h@W06000020", "ledger_selector": { @@ -613692,112 +613593,6 @@ } ] }, - { - "name": "welshgov.council_tax_stock.by_area.band_h@W06000024", - "ledger_selector": { - "source_name": "welshgov", - "record_set_spec_id": [ - "uk.local_geography.council_tax.wales_ct1.a1_all_chargeable_dwellings.v1", - "uk.local_geography.council_tax.wales_ct1.h7_total_chargeable_empty_properties.v1", - "uk.local_geography.council_tax.wales_ct1.h8_total_chargeable_second_homes.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000024" - }, - "entity": "household", - "measure": "council_tax/band_h", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "welshgov.council_tax_stock.by_area.band_h", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000024" - }, - "value_operation": "linear_combination", - "value_operands": [ - { - "weight": 1, - "source_concept": "welshgov.council_tax_dwellings.all_chargeable_dwellings", - "source_measure_id": "a1", - "label": "a1[H]", - "dimension_values": { - "council_tax_band": "H" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_empty_properties", - "source_measure_id": "h7", - "label": "h7[H]", - "dimension_values": { - "council_tax_band": "H" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_second_homes", - "source_measure_id": "h8", - "label": "h8[H]", - "dimension_values": { - "council_tax_band": "H" - } - } - ] - }, - { - "name": "welshgov.council_tax_stock.by_area.band_i@W06000001", - "ledger_selector": { - "source_name": "welshgov", - "record_set_spec_id": [ - "uk.local_geography.council_tax.wales_ct1.a1_all_chargeable_dwellings.v1", - "uk.local_geography.council_tax.wales_ct1.h7_total_chargeable_empty_properties.v1", - "uk.local_geography.council_tax.wales_ct1.h8_total_chargeable_second_homes.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000001" - }, - "entity": "household", - "measure": "council_tax/band_i", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "welshgov.council_tax_stock.by_area.band_i", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000001" - }, - "value_operation": "linear_combination", - "value_operands": [ - { - "weight": 1, - "source_concept": "welshgov.council_tax_dwellings.all_chargeable_dwellings", - "source_measure_id": "a1", - "label": "a1[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_empty_properties", - "source_measure_id": "h7", - "label": "h7[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_second_homes", - "source_measure_id": "h8", - "label": "h8[I]", - "dimension_values": { - "council_tax_band": "I" - } - } - ] - }, { "name": "welshgov.council_tax_stock.by_area.band_i@W06000002", "ledger_selector": { @@ -614063,59 +613858,6 @@ } ] }, - { - "name": "welshgov.council_tax_stock.by_area.band_i@W06000008", - "ledger_selector": { - "source_name": "welshgov", - "record_set_spec_id": [ - "uk.local_geography.council_tax.wales_ct1.a1_all_chargeable_dwellings.v1", - "uk.local_geography.council_tax.wales_ct1.h7_total_chargeable_empty_properties.v1", - "uk.local_geography.council_tax.wales_ct1.h8_total_chargeable_second_homes.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000008" - }, - "entity": "household", - "measure": "council_tax/band_i", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "welshgov.council_tax_stock.by_area.band_i", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000008" - }, - "value_operation": "linear_combination", - "value_operands": [ - { - "weight": 1, - "source_concept": "welshgov.council_tax_dwellings.all_chargeable_dwellings", - "source_measure_id": "a1", - "label": "a1[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_empty_properties", - "source_measure_id": "h7", - "label": "h7[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_second_homes", - "source_measure_id": "h8", - "label": "h8[I]", - "dimension_values": { - "council_tax_band": "I" - } - } - ] - }, { "name": "welshgov.council_tax_stock.by_area.band_i@W06000009", "ledger_selector": { @@ -614276,7 +614018,7 @@ ] }, { - "name": "welshgov.council_tax_stock.by_area.band_i@W06000012", + "name": "welshgov.council_tax_stock.by_area.band_i@W06000013", "ledger_selector": { "source_name": "welshgov", "record_set_spec_id": [ @@ -614285,7 +614027,7 @@ "uk.local_geography.council_tax.wales_ct1.h8_total_chargeable_second_homes.v1" ], "geography_level": "local_authority", - "geography_id": "W06000012" + "geography_id": "W06000013" }, "entity": "household", "measure": "council_tax/band_i", @@ -614295,60 +614037,7 @@ "contract_target_id": "welshgov.council_tax_stock.by_area.band_i", "measure_kind": "prepared_column", "geography_level": "local_authority", - "geography_id": "W06000012" - }, - "value_operation": "linear_combination", - "value_operands": [ - { - "weight": 1, - "source_concept": "welshgov.council_tax_dwellings.all_chargeable_dwellings", - "source_measure_id": "a1", - "label": "a1[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_empty_properties", - "source_measure_id": "h7", - "label": "h7[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_second_homes", - "source_measure_id": "h8", - "label": "h8[I]", - "dimension_values": { - "council_tax_band": "I" - } - } - ] - }, - { - "name": "welshgov.council_tax_stock.by_area.band_i@W06000013", - "ledger_selector": { - "source_name": "welshgov", - "record_set_spec_id": [ - "uk.local_geography.council_tax.wales_ct1.a1_all_chargeable_dwellings.v1", - "uk.local_geography.council_tax.wales_ct1.h7_total_chargeable_empty_properties.v1", - "uk.local_geography.council_tax.wales_ct1.h8_total_chargeable_second_homes.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000013" - }, - "entity": "household", - "measure": "council_tax/band_i", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "welshgov.council_tax_stock.by_area.band_i", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000013" + "geography_id": "W06000013" }, "value_operation": "linear_combination", "value_operands": [ @@ -614593,112 +614282,6 @@ } ] }, - { - "name": "welshgov.council_tax_stock.by_area.band_i@W06000019", - "ledger_selector": { - "source_name": "welshgov", - "record_set_spec_id": [ - "uk.local_geography.council_tax.wales_ct1.a1_all_chargeable_dwellings.v1", - "uk.local_geography.council_tax.wales_ct1.h7_total_chargeable_empty_properties.v1", - "uk.local_geography.council_tax.wales_ct1.h8_total_chargeable_second_homes.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000019" - }, - "entity": "household", - "measure": "council_tax/band_i", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "welshgov.council_tax_stock.by_area.band_i", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000019" - }, - "value_operation": "linear_combination", - "value_operands": [ - { - "weight": 1, - "source_concept": "welshgov.council_tax_dwellings.all_chargeable_dwellings", - "source_measure_id": "a1", - "label": "a1[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_empty_properties", - "source_measure_id": "h7", - "label": "h7[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_second_homes", - "source_measure_id": "h8", - "label": "h8[I]", - "dimension_values": { - "council_tax_band": "I" - } - } - ] - }, - { - "name": "welshgov.council_tax_stock.by_area.band_i@W06000020", - "ledger_selector": { - "source_name": "welshgov", - "record_set_spec_id": [ - "uk.local_geography.council_tax.wales_ct1.a1_all_chargeable_dwellings.v1", - "uk.local_geography.council_tax.wales_ct1.h7_total_chargeable_empty_properties.v1", - "uk.local_geography.council_tax.wales_ct1.h8_total_chargeable_second_homes.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000020" - }, - "entity": "household", - "measure": "council_tax/band_i", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "welshgov.council_tax_stock.by_area.band_i", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000020" - }, - "value_operation": "linear_combination", - "value_operands": [ - { - "weight": 1, - "source_concept": "welshgov.council_tax_dwellings.all_chargeable_dwellings", - "source_measure_id": "a1", - "label": "a1[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_empty_properties", - "source_measure_id": "h7", - "label": "h7[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_second_homes", - "source_measure_id": "h8", - "label": "h8[I]", - "dimension_values": { - "council_tax_band": "I" - } - } - ] - }, { "name": "welshgov.council_tax_stock.by_area.band_i@W06000021", "ledger_selector": { @@ -614858,59 +614441,6 @@ } ] }, - { - "name": "welshgov.council_tax_stock.by_area.band_i@W06000024", - "ledger_selector": { - "source_name": "welshgov", - "record_set_spec_id": [ - "uk.local_geography.council_tax.wales_ct1.a1_all_chargeable_dwellings.v1", - "uk.local_geography.council_tax.wales_ct1.h7_total_chargeable_empty_properties.v1", - "uk.local_geography.council_tax.wales_ct1.h8_total_chargeable_second_homes.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000024" - }, - "entity": "household", - "measure": "council_tax/band_i", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "welshgov.council_tax_stock.by_area.band_i", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000024" - }, - "value_operation": "linear_combination", - "value_operands": [ - { - "weight": 1, - "source_concept": "welshgov.council_tax_dwellings.all_chargeable_dwellings", - "source_measure_id": "a1", - "label": "a1[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_empty_properties", - "source_measure_id": "h7", - "label": "h7[I]", - "dimension_values": { - "council_tax_band": "I" - } - }, - { - "weight": -1, - "source_concept": "welshgov.council_tax_dwellings.total_chargeable_second_homes", - "source_measure_id": "h8", - "label": "h8[I]", - "dimension_values": { - "council_tax_band": "I" - } - } - ] - }, { "name": "scotgov.council_tax_stock.by_area.band_a@S12000005", "ledger_selector": { @@ -619245,28 +618775,6 @@ "uprating_from_period": "2025-09", "uprating_to_period": 2025 }, - { - "name": "scotgov.council_tax_stock.by_area.band_g@S12000013", - "ledger_selector": { - "source_name": "scotgov", - "source_measure_id": "band_g", - "record_set_spec_id": "uk.local_geography.council_tax_stock.scotland_ctaxbase_chargeable_dwellings.by_council_area.v1", - "geography_level": "local_authority", - "geography_id": "S12000013" - }, - "entity": "household", - "measure": "council_tax/band_g", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "scotgov.council_tax_stock.by_area.band_g", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "S12000013" - }, - "uprating_from_period": "2025-09", - "uprating_to_period": 2025 - }, { "name": "scotgov.council_tax_stock.by_area.band_g@S12000014", "ledger_selector": { @@ -619399,28 +618907,6 @@ "uprating_from_period": "2025-09", "uprating_to_period": 2025 }, - { - "name": "scotgov.council_tax_stock.by_area.band_g@S12000023", - "ledger_selector": { - "source_name": "scotgov", - "source_measure_id": "band_g", - "record_set_spec_id": "uk.local_geography.council_tax_stock.scotland_ctaxbase_chargeable_dwellings.by_council_area.v1", - "geography_level": "local_authority", - "geography_id": "S12000023" - }, - "entity": "household", - "measure": "council_tax/band_g", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "scotgov.council_tax_stock.by_area.band_g", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "S12000023" - }, - "uprating_from_period": "2025-09", - "uprating_to_period": 2025 - }, { "name": "scotgov.council_tax_stock.by_area.band_g@S12000026", "ledger_selector": { @@ -619839,28 +619325,6 @@ "uprating_from_period": "2025-09", "uprating_to_period": 2025 }, - { - "name": "scotgov.council_tax_stock.by_area.band_h@S12000005", - "ledger_selector": { - "source_name": "scotgov", - "source_measure_id": "band_h", - "record_set_spec_id": "uk.local_geography.council_tax_stock.scotland_ctaxbase_chargeable_dwellings.by_council_area.v1", - "geography_level": "local_authority", - "geography_id": "S12000005" - }, - "entity": "household", - "measure": "council_tax/band_h", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "scotgov.council_tax_stock.by_area.band_h", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "S12000005" - }, - "uprating_from_period": "2025-09", - "uprating_to_period": 2025 - }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000006", "ledger_selector": { @@ -619883,28 +619347,6 @@ "uprating_from_period": "2025-09", "uprating_to_period": 2025 }, - { - "name": "scotgov.council_tax_stock.by_area.band_h@S12000008", - "ledger_selector": { - "source_name": "scotgov", - "source_measure_id": "band_h", - "record_set_spec_id": "uk.local_geography.council_tax_stock.scotland_ctaxbase_chargeable_dwellings.by_council_area.v1", - "geography_level": "local_authority", - "geography_id": "S12000008" - }, - "entity": "household", - "measure": "council_tax/band_h", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "scotgov.council_tax_stock.by_area.band_h", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "S12000008" - }, - "uprating_from_period": "2025-09", - "uprating_to_period": 2025 - }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000010", "ledger_selector": { @@ -619949,28 +619391,6 @@ "uprating_from_period": "2025-09", "uprating_to_period": 2025 }, - { - "name": "scotgov.council_tax_stock.by_area.band_h@S12000013", - "ledger_selector": { - "source_name": "scotgov", - "source_measure_id": "band_h", - "record_set_spec_id": "uk.local_geography.council_tax_stock.scotland_ctaxbase_chargeable_dwellings.by_council_area.v1", - "geography_level": "local_authority", - "geography_id": "S12000013" - }, - "entity": "household", - "measure": "council_tax/band_h", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "scotgov.council_tax_stock.by_area.band_h", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "S12000013" - }, - "uprating_from_period": "2025-09", - "uprating_to_period": 2025 - }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000014", "ledger_selector": { @@ -620103,28 +619523,6 @@ "uprating_from_period": "2025-09", "uprating_to_period": 2025 }, - { - "name": "scotgov.council_tax_stock.by_area.band_h@S12000023", - "ledger_selector": { - "source_name": "scotgov", - "source_measure_id": "band_h", - "record_set_spec_id": "uk.local_geography.council_tax_stock.scotland_ctaxbase_chargeable_dwellings.by_council_area.v1", - "geography_level": "local_authority", - "geography_id": "S12000023" - }, - "entity": "household", - "measure": "council_tax/band_h", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "scotgov.council_tax_stock.by_area.band_h", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "S12000023" - }, - "uprating_from_period": "2025-09", - "uprating_to_period": 2025 - }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000026", "ledger_selector": { @@ -620389,28 +619787,6 @@ "uprating_from_period": "2025-09", "uprating_to_period": 2025 }, - { - "name": "scotgov.council_tax_stock.by_area.band_h@S12000042", - "ledger_selector": { - "source_name": "scotgov", - "source_measure_id": "band_h", - "record_set_spec_id": "uk.local_geography.council_tax_stock.scotland_ctaxbase_chargeable_dwellings.by_council_area.v1", - "geography_level": "local_authority", - "geography_id": "S12000042" - }, - "entity": "household", - "measure": "council_tax/band_h", - "family": "council_tax_stock", - "period": 2025, - "metadata": { - "contract_target_id": "scotgov.council_tax_stock.by_area.band_h", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "S12000042" - }, - "uprating_from_period": "2025-09", - "uprating_to_period": 2025 - }, { "name": "scotgov.council_tax_stock.by_area.band_h@S12000045", "ledger_selector": { @@ -620646,31 +620022,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001068", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001068" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001068" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001069", "ledger_selector": { @@ -620696,31 +620047,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001070", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001070" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001070" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001071", "ledger_selector": { @@ -620796,56 +620122,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001074", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001074" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001074" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001075", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001075" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001075" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001076", "ledger_selector": { @@ -621221,31 +620497,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001091", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001091" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001091" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001092", "ledger_selector": { @@ -621271,31 +620522,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001093", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001093" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001093" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001094", "ledger_selector": { @@ -621321,31 +620547,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001095", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001095" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001095" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001096", "ledger_selector": { @@ -621396,31 +620597,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001098", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001098" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001098" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001099", "ledger_selector": { @@ -621446,206 +620622,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001100", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001100" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001100" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001101", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001101" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001101" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001102", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001102" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001102" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001103", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001103" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001103" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001104", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001104" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001104" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001105", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001105" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001105" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001106", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001106" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001106" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001107", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001107" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001107" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001108", "ledger_selector": { @@ -621671,81 +620647,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001109", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001109" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001109" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001110", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001110" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001110" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001111", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001111" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001111" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001112", "ledger_selector": { @@ -621771,56 +620672,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001113", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001113" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001113" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001114", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001114" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001114" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001115", "ledger_selector": { @@ -621896,81 +620747,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001118", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001118" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001118" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001119", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001119" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001119" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001120", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001120" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001120" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001121", "ledger_selector": { @@ -622096,56 +620872,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001126", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001126" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001126" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001127", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001127" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001127" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001128", "ledger_selector": { @@ -622496,31 +621222,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001142", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001142" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001142" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001143", "ledger_selector": { @@ -622646,31 +621347,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001148", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001148" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001148" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001149", "ledger_selector": { @@ -623071,31 +621747,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001165", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001165" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001165" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001166", "ledger_selector": { @@ -623296,31 +621947,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001174", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001174" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001174" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001175", "ledger_selector": { @@ -623446,31 +622072,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001180", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001180" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001180" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001181", "ledger_selector": { @@ -623696,31 +622297,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001190", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001190" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001190" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001191", "ledger_selector": { @@ -623796,31 +622372,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001194", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001194" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001194" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001195", "ledger_selector": { @@ -623846,31 +622397,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001196", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001196" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001196" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001197", "ledger_selector": { @@ -623946,31 +622472,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001200", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001200" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001200" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001201", "ledger_selector": { @@ -624046,31 +622547,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001204", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001204" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001204" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001205", "ledger_selector": { @@ -624221,31 +622697,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001211", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001211" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001211" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001212", "ledger_selector": { @@ -624721,31 +623172,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001231", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001231" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001231" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001232", "ledger_selector": { @@ -624946,31 +623372,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001240", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001240" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001240" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001241", "ledger_selector": { @@ -625221,31 +623622,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001251", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001251" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001251" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001252", "ledger_selector": { @@ -625321,56 +623697,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001255", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001255" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001255" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001256", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001256" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001256" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001257", "ledger_selector": { @@ -625471,56 +623797,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001261", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001261" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001261" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001262", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001262" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001262" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001263", "ledger_selector": { @@ -625746,31 +624022,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001272", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001272" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001272" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001273", "ledger_selector": { @@ -626096,31 +624347,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001286", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001286" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001286" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001287", "ledger_selector": { @@ -626321,31 +624547,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001295", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001295" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001295" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001296", "ledger_selector": { @@ -626371,31 +624572,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001297", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001297" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001297" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001298", "ledger_selector": { @@ -626421,31 +624597,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001299", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001299" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001299" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001300", "ledger_selector": { @@ -626521,56 +624672,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001303", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001303" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001303" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001304", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001304" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001304" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001305", "ledger_selector": { @@ -626621,31 +624722,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001307", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001307" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001307" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001308", "ledger_selector": { @@ -626771,81 +624847,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001313", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001313" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001313" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001314", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001314" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001314" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001315", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001315" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001315" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001316", "ledger_selector": { @@ -626871,31 +624872,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001317", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001317" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001317" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001318", "ledger_selector": { @@ -626921,31 +624897,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001319", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001319" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001319" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001320", "ledger_selector": { @@ -627021,31 +624972,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001323", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001323" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001323" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001324", "ledger_selector": { @@ -627096,106 +625022,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001326", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001326" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001326" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001327", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001327" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001327" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001328", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001328" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001328" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001329", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001329" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001329" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001330", "ledger_selector": { @@ -627346,31 +625172,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001336", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001336" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001336" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001337", "ledger_selector": { @@ -627396,56 +625197,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001338", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001338" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001338" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001339", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001339" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001339" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001340", "ledger_selector": { @@ -627471,31 +625222,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001341", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001341" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001341" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001342", "ledger_selector": { @@ -627521,56 +625247,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001343", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001343" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001343" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001344", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001344" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001344" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001345", "ledger_selector": { @@ -627771,31 +625447,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001353", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001353" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001353" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001354", "ledger_selector": { @@ -627821,31 +625472,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001355", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001355" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001355" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001356", "ledger_selector": { @@ -628121,56 +625747,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001367", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001367" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001367" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001368", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001368" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001368" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001369", "ledger_selector": { @@ -628371,56 +625947,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001377", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001377" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001377" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001378", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001378" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001378" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001379", "ledger_selector": { @@ -628446,106 +625972,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001380", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001380" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001380" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001381", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001381" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001381" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001382", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001382" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001382" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001383", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001383" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001383" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001384", "ledger_selector": { @@ -628571,31 +625997,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001385", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001385" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001385" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001386", "ledger_selector": { @@ -628671,56 +626072,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001389", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001389" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001389" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001390", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001390" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001390" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001391", "ledger_selector": { @@ -628846,31 +626197,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001396", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001396" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001396" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001397", "ledger_selector": { @@ -629071,31 +626397,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001405", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001405" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001405" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001406", "ledger_selector": { @@ -629146,31 +626447,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001408", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001408" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001408" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001409", "ledger_selector": { @@ -629196,81 +626472,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001410", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001410" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001410" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001411", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001411" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001411" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001412", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001412" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001412" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001413", "ledger_selector": { @@ -629346,31 +626547,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001416", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001416" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001416" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001417", "ledger_selector": { @@ -629571,31 +626747,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001425", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001425" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001425" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001426", "ledger_selector": { @@ -629621,56 +626772,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001427", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001427" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001427" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001428", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001428" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001428" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001429", "ledger_selector": { @@ -629771,31 +626872,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001433", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001433" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001433" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001434", "ledger_selector": { @@ -629846,31 +626922,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001436", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001436" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001436" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001437", "ledger_selector": { @@ -629946,31 +626997,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001440", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001440" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001440" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001441", "ledger_selector": { @@ -630096,31 +627122,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001446", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001446" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001446" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001447", "ledger_selector": { @@ -630221,56 +627222,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001451", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001451" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001451" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001452", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001452" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001452" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001453", "ledger_selector": { @@ -630471,56 +627422,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001461", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001461" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001461" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001462", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001462" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001462" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001463", "ledger_selector": { @@ -630596,56 +627497,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001466", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001466" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001466" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001467", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001467" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001467" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001468", "ledger_selector": { @@ -630671,56 +627522,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001469", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001469" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001469" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001470", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001470" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001470" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001471", "ledger_selector": { @@ -630896,31 +627697,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001478", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001478" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001478" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001479", "ledger_selector": { @@ -631096,31 +627872,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001486", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001486" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001486" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001487", "ledger_selector": { @@ -631246,31 +627997,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001492", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001492" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001492" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001493", "ledger_selector": { @@ -631646,31 +628372,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001508", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001508" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001508" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001509", "ledger_selector": { @@ -631696,56 +628397,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001510", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001510" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001510" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001511", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001511" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001511" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001512", "ledger_selector": { @@ -631896,31 +628547,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001518", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001518" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001518" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001519", "ledger_selector": { @@ -631946,81 +628572,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001520", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001520" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001520" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001521", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001521" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001521" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001522", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001522" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001522" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001523", "ledger_selector": { @@ -632046,31 +628597,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001524", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001524" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001524" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001525", "ledger_selector": { @@ -632221,31 +628747,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001531", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001531" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001531" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001532", "ledger_selector": { @@ -632471,31 +628972,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001541", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001541" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001541" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001542", "ledger_selector": { @@ -632621,31 +629097,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001547", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001547" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001547" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001548", "ledger_selector": { @@ -632721,56 +629172,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001551", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001551" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001551" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001552", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001552" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001552" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001553", "ledger_selector": { @@ -632971,56 +629372,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001561", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001561" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001561" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001562", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001562" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001562" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001563", "ledger_selector": { @@ -633121,31 +629472,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001567", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001567" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001567" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001568", "ledger_selector": { @@ -633296,31 +629622,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001574", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001574" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001574" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001575", "ledger_selector": { @@ -633796,56 +630097,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001594", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001594" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001594" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E14001595", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "E14001595" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "E14001595" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E14001596", "ledger_selector": { @@ -634121,31 +630372,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000002", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000002" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000002" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@N05000003", "ledger_selector": { @@ -634171,31 +630397,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000004", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000004" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000004" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@N05000005", "ledger_selector": { @@ -634221,81 +630422,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000006", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000006" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000006" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000007", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000007" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000007" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000008", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000008" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000008" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@N05000009", "ledger_selector": { @@ -634321,106 +630447,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000010", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000010" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000010" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000011", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000011" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000011" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000012", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000012" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000012" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000013", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000013" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000013" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@N05000014", "ledger_selector": { @@ -634446,131 +630472,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000015", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000015" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000015" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000016", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000016" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000016" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000017", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000017" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000017" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N05000018", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "N05000018" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "N05000018" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000081", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000081" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000081" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000082", "ledger_selector": { @@ -634596,81 +630497,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000083", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000083" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000083" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000084", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000084" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000084" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000085", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000085" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000085" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000086", "ledger_selector": { @@ -634696,31 +630522,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000087", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000087" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000087" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000088", "ledger_selector": { @@ -634846,31 +630647,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000093", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000093" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000093" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000094", "ledger_selector": { @@ -634896,56 +630672,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000095", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000095" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000095" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000096", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000096" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000096" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000097", "ledger_selector": { @@ -634971,81 +630697,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000098", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000098" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000098" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000099", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000099" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000099" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000100", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000100" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000100" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000101", "ledger_selector": { @@ -635071,56 +630722,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000102", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000102" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000102" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000103", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000103" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000103" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000104", "ledger_selector": { @@ -635196,81 +630797,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000107", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000107" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000107" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000108", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000108" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000108" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000109", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000109" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000109" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W07000110", "ledger_selector": { @@ -635321,56 +630847,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W07000112", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "constituency", - "geography_id": "W07000112" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "constituency", - "geography_id": "W07000112" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E06000001", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E06000001" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E06000001" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E06000002", "ledger_selector": { @@ -635521,56 +630997,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E06000008", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E06000008" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E06000008" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E06000009", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E06000009" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E06000009" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E06000010", "ledger_selector": { @@ -635746,31 +631172,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E06000017", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E06000017" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E06000017" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E06000018", "ledger_selector": { @@ -636921,31 +632322,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000010", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000010" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000010" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000011", "ledger_selector": { @@ -637021,31 +632397,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000033", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000033" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000033" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000034", "ledger_selector": { @@ -637246,31 +632597,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000042", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000042" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000042" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000043", "ledger_selector": { @@ -637346,56 +632672,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000046", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000046" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000046" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000047", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000047" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000047" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000061", "ledger_selector": { @@ -637421,31 +632697,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000062", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000062" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000062" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000063", "ledger_selector": { @@ -637871,31 +633122,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000080", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000080" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000080" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000081", "ledger_selector": { @@ -638071,31 +633297,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000088", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000088" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000088" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000089", "ledger_selector": { @@ -638696,31 +633897,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000117", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000117" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000117" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000118", "ledger_selector": { @@ -638771,31 +633947,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000120", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000120" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000120" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000121", "ledger_selector": { @@ -638821,31 +633972,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000122", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000122" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000122" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000123", "ledger_selector": { @@ -638896,31 +634022,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000125", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000125" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000125" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000126", "ledger_selector": { @@ -639096,31 +634197,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000133", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000133" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000133" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000134", "ledger_selector": { @@ -639146,56 +634222,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000135", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000135" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000135" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000136", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000136" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000136" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000137", "ledger_selector": { @@ -639221,31 +634247,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000138", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000138" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000138" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000139", "ledger_selector": { @@ -639271,31 +634272,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000140", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000140" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000140" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000141", "ledger_selector": { @@ -639396,31 +634372,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000145", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000145" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000145" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000146", "ledger_selector": { @@ -639621,31 +634572,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000174", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000174" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000174" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000175", "ledger_selector": { @@ -639996,31 +634922,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000199", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000199" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000199" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000200", "ledger_selector": { @@ -640496,31 +635397,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@E07000223", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "E07000223" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "E07000223" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@E07000224", "ledger_selector": { @@ -642754,81 +637630,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@N09000004", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "N09000004" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "N09000004" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N09000005", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "N09000005" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "N09000005" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@N09000006", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "N09000006" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "N09000006" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@N09000007", "ledger_selector": { @@ -642954,106 +637755,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000001", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000001" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000001" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000002", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000002" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000002" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000003", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000003" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000003" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000004", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000004" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000004" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W06000005", "ledger_selector": { @@ -643104,31 +637805,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000008", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000008" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000008" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W06000009", "ledger_selector": { @@ -643204,31 +637880,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000012", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000012" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000012" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W06000013", "ledger_selector": { @@ -643354,56 +638005,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000019", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000019" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000019" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000020", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000020" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000020" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "hmrc.higher_rate_taxpayers.count@W06000021", "ledger_selector": { @@ -643479,31 +638080,6 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, - { - "name": "hmrc.higher_rate_taxpayers.count@W06000024", - "ledger_selector": { - "source_name": "hmrc", - "source_measure_id": "higher_rate_count", - "record_set_spec_id": [ - "uk.local_geography.spi_income.by_constituency.v1", - "uk.local_geography.spi_income.by_local_authority.v1" - ], - "geography_level": "local_authority", - "geography_id": "W06000024" - }, - "entity": "person", - "measure": "hmrc/higher_rate_taxpayers/count", - "family": "hmrc", - "period": 2025, - "metadata": { - "contract_target_id": "hmrc.higher_rate_taxpayers.count", - "measure_kind": "prepared_column", - "geography_level": "local_authority", - "geography_id": "W06000024" - }, - "uprating_from_period": "2023", - "uprating_to_period": 2025 - }, { "name": "microcosm.high_value_homes.over_1m@E14001063", "ledger_selector": { 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 89bba99a31..3b0991b2a7 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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "source_vintages": { "conditioning_resource": "hmrc_cgt_conditioning_facts.json", "conditioning_resource_sha256": "223feb96f44361b6764e977d88e292d2edda167717f84d3969cccbadfc80fa80", @@ -743,7 +743,7 @@ "full_frs_tei_band_unavailable" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "source_vintages": { "hmrc_surface": "2023-24", "mapped_build_period": "2024", @@ -785,7 +785,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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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" @@ -811,7 +811,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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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" @@ -834,7 +834,7 @@ "property_finance_costs" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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)" @@ -858,7 +858,7 @@ "non_residential_property_value" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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" @@ -885,7 +885,7 @@ "employment_income" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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" @@ -918,7 +918,7 @@ "household_source_id" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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" @@ -940,7 +940,7 @@ "student_loan_plan" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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" @@ -962,7 +962,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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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" @@ -997,7 +997,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": "d3e0e5618817787f79d095650d141dc12f311b7b95f64882ce39dcaed71bb2b5", + "source_manifest_sha256": "7a9f87bd52aa3c4626ab8b209542ddd71fa88cb8874c190988bec20960f6cad4", "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 08c8a52d48..eede99e71a 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json +++ b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json @@ -2476,7 +2476,8 @@ "mortgage_requires_mortgaged_tenure", "housing_benefit_requires_rented_tenure", "council_tax_benefit_capped_at_council_tax", - "council_tax_rebate_equals_hrp_council_tax_benefit" + "council_tax_rebate_equals_hrp_council_tax_benefit", + "council_tax_band_within_its_nation" ], "landing": "household_reference_person", "n_estimators": 100, 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 08f5d57349..4e10fe767c 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml +++ b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml @@ -2120,6 +2120,7 @@ stages: - housing_benefit_requires_rented_tenure - council_tax_benefit_capped_at_council_tax - council_tax_rebate_equals_hrp_council_tax_benefit + - council_tax_band_within_its_nation landing: household_reference_person n_estimators: 100 seed: 0 diff --git a/packages/microcosm-build/src/microcosm/build/uk/uk_data_target_parity.json b/packages/microcosm-build/src/microcosm/build/uk/uk_data_target_parity.json index f9e213926a..a07e3d41ff 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/uk_data_target_parity.json +++ b/packages/microcosm-build/src/microcosm/build/uk/uk_data_target_parity.json @@ -165,7 +165,7 @@ "policyengine_uk_data.targets.sources.voa_council_tax" ], "evidence": "mhclg.council_tax_stock.band_* references mhclg.council_tax_stock.band_*@E12000001..E12000009, each composed from its authorities' MHCLG taxbase rows (microcosm#929); UK_CROSS_GRAIN_RULE declares control_grains (country, region), so the English region rows and the Scottish CTAXBASE country row share the band signature group and each authority takes its nearest covering control (test_uk_ledger_targets::test_voa_region_controls_and_the_scottish_country_control_share_the_surface); parent_geography_legs maps every E12 code to itself; English legs come from the run ladder or the crosswalk's region_code_by_area.", - "reason": "The English VOA stock rows fan out over the nine English regions and sit at the region grain of the cross-grain rule (country > region > constituency > la); each region is its own leg, so the LA solve reconciles to its region's published stock rather than to a single England row (microcosm#905).", + "reason": "The English council-tax taxbase rows (MHCLG CTB, microcosm#929) fan out over the nine English regions and sit at the region grain of the cross-grain rule (country > nation > region > constituency > la); each region is its own leg, so the LA solve reconciles to its region's composed control rather than to a single England row (microcosm#905).", "status": "ported_national" }, { @@ -174,7 +174,7 @@ "covers": [ "policyengine_uk_data.targets.sources.local_la_extras" ], - "evidence": "Pinned feed has 18 Scottish statistical_scope BRMA rows at 2026-06 and zero Scottish LA rows; the local crosswalk has 32 Scottish LAs.", + "evidence": "Pinned feed has PIPR's 18 Scottish statistical_scope BRMA rows for every month of 2025 and zero Scottish LA rows; the local crosswalk has 32 Scottish LAs (microcosm#1090).", "fence": { "origin": "PIPR publishes Scottish rent levels at BRMA grain.", "purpose": "Preserve source geography without allocating BRMA averages over local authorities.", @@ -375,72 +375,80 @@ "classification": "red_line_local_contract_target", "concern_id": "local_contract.mhclg.council_tax_stock.by_area.band_a", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_a; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_a; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.mhclg.council_tax_stock.by_area.band_b", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_b; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_b; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.mhclg.council_tax_stock.by_area.band_c", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_c; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_c; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.mhclg.council_tax_stock.by_area.band_d", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_d; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_d; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.mhclg.council_tax_stock.by_area.band_e", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_e; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_e; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.mhclg.council_tax_stock.by_area.band_f", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_f; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_f; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.mhclg.council_tax_stock.by_area.band_g", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_g; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_g; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.mhclg.council_tax_stock.by_area.band_h", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_h; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target mhclg.council_tax_stock.by_area.band_h; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { @@ -671,153 +679,170 @@ "classification": "red_line_local_contract_target", "concern_id": "local_contract.scotgov.council_tax_stock.by_area.band_a", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_a; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_a; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.scotgov.council_tax_stock.by_area.band_b", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_b; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_b; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.scotgov.council_tax_stock.by_area.band_c", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_c; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_c; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.scotgov.council_tax_stock.by_area.band_d", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_d; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_d; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.scotgov.council_tax_stock.by_area.band_e", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_e; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_e; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.scotgov.council_tax_stock.by_area.band_f", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_f; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_f; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.scotgov.council_tax_stock.by_area.band_g", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_g; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_g; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.scotgov.council_tax_stock.by_area.band_h", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_h; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target scotgov.council_tax_stock.by_area.band_h; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.welshgov.council_tax_stock.by_area.band_a", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_a; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_a; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.welshgov.council_tax_stock.by_area.band_b", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_b; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_b; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.welshgov.council_tax_stock.by_area.band_c", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_c; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_c; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.welshgov.council_tax_stock.by_area.band_d", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_d; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_d; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.welshgov.council_tax_stock.by_area.band_e", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_e; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_e; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.welshgov.council_tax_stock.by_area.band_f", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_f; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_f; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.welshgov.council_tax_stock.by_area.band_g", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_g; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_g; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.welshgov.council_tax_stock.by_area.band_h", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_h; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_h; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { "classification": "red_line_local_contract_target", "concern_id": "local_contract.welshgov.council_tax_stock.by_area.band_i", "covers": [ - "policyengine_uk_data.datasets.local_areas.local_authorities.loss" + "policyengine_uk_data.datasets.local_areas.local_authorities.loss", + "policyengine_uk_data.targets.sources.la_council_tax" ], - "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_i; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py.", + "evidence": "Microcosm uk/uk_population_targets.json target welshgov.council_tax_stock.by_area.band_i; uk_data_target_inventory.json pins the incumbent paths uk-data datasets/local_areas/local_authorities/loss.py, uk-data targets/sources/la_council_tax.py.", "status": "ported_local_declared" }, { @@ -898,7 +923,7 @@ "policyengine_uk_data.targets.sources.local_la_extras", "policyengine_uk_data.datasets.local_areas.local_authorities.loss" ], - "evidence": "Microcosm ons.rent.private_rent is declared, but the pinned feed has only 2026-06 PIPR facts: 314 crosswalk E&W rows are after the 2025 target period, four English LAs are absent, 32 Scottish LAs have BRMA-only facts, and 11 NI LAs are absent.", + "evidence": "Microcosm ons.rent.private_rent binds 316 local-authority cells at 12 x the calendar-2025 PIPR mean x the reconciled private renters (the PIPR September 2026 edition in the pinned feed); 45 cells stay signed deferred: 32 Scottish LAs have BRMA-only facts (microcosm#1090), 11 NI LAs are absent and 2 English LAs are not published.", "status": "ported_local_declared" }, { diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/battery_bindings.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/battery_bindings.py index b46389000c..cbeeb72c3f 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/battery_bindings.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/battery_bindings.py @@ -47,6 +47,7 @@ from microcosm.build.gates import ( GateResult, aggregate_admin_gate, + area_support_below_floor, area_support_gate, column_implication_gate, enum_domain_gate, @@ -691,6 +692,46 @@ def _engine_enum_domain(engine: Any, column: str) -> Any: ) +def _nation_partitioned_domains( + column: str, parameters: Mapping[str, Any] +) -> dict[str, tuple[str, ...]] | None: + """The declared domains by nation, refused unless they are the code's. + + A nation-partitioned gate names its row partition (the household's + ``region``, whose nation the region tier fixes) and repeats the domains in + ``gates.json`` so the declaration is reviewable; the declaration must equal + the shared constant the stages draw from. + """ + + from microcosm.build.uk_runtime.council_tax_constants import ( + UK_COUNCIL_TAX_BANDS_BY_NATION, + ) + + declared_keys = {"partition_column", "domains_by_nation"} & set(parameters) + if not declared_keys: + return None + if declared_keys != {"partition_column", "domains_by_nation"}: + raise ValueError( + "A nation-partitioned enum_domain gate declares both " + "partition_column and domains_by_nation." + ) + if parameters["partition_column"] != "region": + raise ValueError( + "enum_domain gates partition by nation through the household region." + ) + code = {"council_tax_band": UK_COUNCIL_TAX_BANDS_BY_NATION}.get(column) + declared = { + str(nation): tuple(str(member) for member in members) + for nation, members in dict(parameters["domains_by_nation"]).items() + } + if code is None or declared != dict(code): + raise ValueError( + f"{column} domains by nation must equal the shared constant " + f"{dict(code) if code is not None else None}, got {declared}." + ) + return declared + + def _evaluate_enum_domain( context: EvidenceContext, parameters: Mapping[str, Any] ) -> GateResult: @@ -703,16 +744,34 @@ def _evaluate_enum_domain( domain = _engine_enum_domain(context.artifacts["rules_engine"], column) if domain is None: raise ValueError(f"{column} enum domain could not be resolved from evidence.") - matches = [ - context.frame.table(entity)[column] + tables = [ + context.frame.table(entity) for entity in context.frame.entities if column in context.frame.table(entity).columns ] - if len(matches) != 1: + if len(tables) != 1: raise ValueError( - f"{column} must occur on exactly one frame entity; found {len(matches)}." + f"{column} must occur on exactly one frame entity; found {len(tables)}." ) - return enum_domain_gate({column: matches[0]}, {column: domain}) + (table,) = tables + by_nation = _nation_partitioned_domains(column, parameters) + if by_nation is None: + return enum_domain_gate({column: table[column]}, {column: domain}) + + from microcosm.build.uk_runtime.council_tax_constants import UK_NATION_BY_REGION + + if "region" not in table.columns: + raise ValueError(f"{column} is partitioned by region, which its table lacks.") + nations = table["region"].astype(str).map(UK_NATION_BY_REGION) + if nations.isna().any(): + unknown = sorted(set(table.loc[nations.isna(), "region"].astype(str))) + raise ValueError(f"{column} rows carry regions with no nation: {unknown}.") + return enum_domain_gate( + {column: table[column]}, + {column: domain}, + partitions={column: nations}, + partition_domains={column: by_nation}, + ) def _evaluate_support( @@ -1274,6 +1333,34 @@ def _evaluate_area_support( ) +def uk_area_support_floors() -> dict[str, float | int]: + """The local support floors the ``uk_local_area_support`` gate declares.""" + + from microcosm.build import load_country_spec + + (entry,) = ( + entry + for entry in load_country_spec("uk").gates.gates + if entry.id == "uk_local_area_support" + ) + floors = entry.parameters + return { + "minimum_rows": int(floors["minimum_rows"]), + "minimum_effective_sample_size": float(floors["minimum_effective_sample_size"]), + "minimum_distinct_sources": int(floors["minimum_distinct_sources"]), + } + + +def uk_area_support_below_floor(area_support: pd.DataFrame) -> pd.Series: + """``support_below_floor`` for each area, under the declared local floors. + + The flag a consumer reads and the gate that blocks a release apply one rule + (microcosm#1278). A reviewed exclusion does not clear the flag. + """ + + return area_support_below_floor(area_support, **uk_area_support_floors()) + + def _local_target_error_items(evidence: object) -> tuple[tuple[str, float], ...]: if hasattr(evidence, "to_dict"): rows = evidence.to_dict(orient="records") @@ -2049,7 +2136,7 @@ def _ledger_compile_parity_required_artifacts( "enum_domain": UKGateBinding( name="enum_domain", evaluator=_evaluate_enum_domain, - parameter_keys=frozenset({"columns"}), + parameter_keys=frozenset({"columns", "partition_column", "domains_by_nation"}), ), "support": UKGateBinding( name="support", diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/calibration_run.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/calibration_run.py index 79b4d69c15..8ad3c885f9 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/calibration_run.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/calibration_run.py @@ -137,6 +137,10 @@ # onward, so it is checked at the transferred boundary, and its domain is # declared by the stage module (microcosm#725). "uk_capital_gains_asset_type_enum_domain", + # Weight-independent; spi_housing_shell is the last spine stage that writes + # the band, so the transferred boundary checks every row's nation + # (microcosm#1278). + "uk_council_tax_band_domain", # Weight-independent, and its column exists from frs_brma onward, so the # spine checks it at the assembled boundary instead of the release end. "uk_brma_enum_domain", @@ -162,6 +166,10 @@ "uk_export_surface", "uk_take_up_signal", "uk_student_loan_plan_enum_domain", + # The spine checks council_tax_band at the transferred boundary; this + # instance checks the release frame, after any later step that writes the + # band (microcosm#1278). + "uk_council_tax_band_domain_terminal", "uk_target_surface", "uk_input_mass_parity", "uk_weights_audit", diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/council_tax_constants.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/council_tax_constants.py new file mode 100644 index 0000000000..07dbaed879 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/council_tax_constants.py @@ -0,0 +1,59 @@ +"""UK council-tax bands: the engine's set and the bands each nation uses.""" + +from __future__ import annotations + +from collections.abc import Mapping +from types import MappingProxyType + +from microcosm.calibrate.geography_constants import UK_REGION_TIER_ENUM + +#: The engine's ``council_tax_band`` members in enum order. Bands A-H are the +#: England and Scotland systems; band I exists in Wales only (the 2005 +#: revaluation). Appended last, so the positional indices of A-H never move. +UK_COUNCIL_TAX_BANDS: tuple[str, ...] = tuple("ABCDEFGHI") + +#: The band the FRS spine stores for a household the survey gives no band: +#: every Northern Ireland household, which pays domestic rates rather than +#: council tax, and any other unbanded ``ctband`` code. +UK_COUNCIL_TAX_PLACEHOLDER_BAND = "D" + +#: The bands each nation's households can hold, by the engine's ``country`` +#: member names. Northern Ireland holds only the placeholder. +UK_COUNCIL_TAX_BANDS_BY_NATION: Mapping[str, tuple[str, ...]] = MappingProxyType( + { + "ENGLAND": UK_COUNCIL_TAX_BANDS[:8], + "WALES": UK_COUNCIL_TAX_BANDS, + "SCOTLAND": UK_COUNCIL_TAX_BANDS[:8], + "NORTHERN_IRELAND": (UK_COUNCIL_TAX_PLACEHOLDER_BAND,), + } +) + +#: The nation of each region-tier GSS code, by its first letter. +_NATION_BY_GSS_PREFIX: Mapping[str, str] = MappingProxyType( + {"E": "ENGLAND", "W": "WALES", "S": "SCOTLAND", "N": "NORTHERN_IRELAND"} +) + +#: The spine's ``region`` member -> its nation, derived from the region tier so +#: the twelve regions cannot drift from the roster calibration fans out over. +UK_NATION_BY_REGION: Mapping[str, str] = MappingProxyType( + { + region: _NATION_BY_GSS_PREFIX[code[0]] + for code, region in UK_REGION_TIER_ENUM.items() + } +) + +#: The spine's ``region`` member -> the bands its households can hold. +UK_COUNCIL_TAX_BANDS_BY_REGION: Mapping[str, tuple[str, ...]] = MappingProxyType( + { + region: UK_COUNCIL_TAX_BANDS_BY_NATION[nation] + for region, nation in UK_NATION_BY_REGION.items() + } +) + +__all__ = [ + "UK_COUNCIL_TAX_BANDS", + "UK_COUNCIL_TAX_BANDS_BY_NATION", + "UK_COUNCIL_TAX_BANDS_BY_REGION", + "UK_COUNCIL_TAX_PLACEHOLDER_BAND", + "UK_NATION_BY_REGION", +] diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/data_target_parity.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/data_target_parity.py index f5eb74a30d..736e54cc2e 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/data_target_parity.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/data_target_parity.py @@ -366,14 +366,14 @@ def _fence(origin: str, purpose: str, verdict_basis: str) -> dict[str, str]: "concern_id": "local_private_rent_pipr", "status": "ported_local_declared", "classification": "local_registry_family", - "evidence": "Microcosm ons.rent.private_rent is declared, but the pinned feed has only 2026-06 PIPR facts: 314 crosswalk E&W rows are after the 2025 target period, four English LAs are absent, 32 Scottish LAs have BRMA-only facts, and 11 NI LAs are absent.", + "evidence": "Microcosm ons.rent.private_rent binds 316 local-authority cells at 12 x the calendar-2025 PIPR mean x the reconciled private renters (the PIPR September 2026 edition in the pinned feed); 45 cells stay signed deferred: 32 Scottish LAs have BRMA-only facts (microcosm#1090), 11 NI LAs are absent and 2 English LAs are not published.", }, { "concern_id": "cross_grain_private_rent_scotland_brma", "status": "routed", "classification": "cross_grain_grain_gap", "reason": "CrossGrainBridge cannot express an overlapping BRMA-to-LA geography translation and no signed crosswalk is available.", - "evidence": "Pinned feed has 18 Scottish statistical_scope BRMA rows at 2026-06 and zero Scottish LA rows; the local crosswalk has 32 Scottish LAs.", + "evidence": "Pinned feed has PIPR's 18 Scottish statistical_scope BRMA rows for every month of 2025 and zero Scottish LA rows; the local crosswalk has 32 Scottish LAs (microcosm#1090).", "fence": _fence( "PIPR publishes Scottish rent levels at BRMA grain.", "Preserve source geography without allocating BRMA averages over local authorities.", @@ -402,7 +402,7 @@ def _fence(origin: str, purpose: str, verdict_basis: str) -> dict[str, str]: "concern_id": "cross_grain_council_tax_stock_england_region", "status": "ported_national", "classification": "cross_grain_rule", - "reason": "The English VOA stock rows fan out over the nine English regions and sit at the region grain of the cross-grain rule (country > region > constituency > la); each region is its own leg, so the LA solve reconciles to its region's published stock rather than to a single England row (microcosm#905).", + "reason": "The English council-tax taxbase rows (MHCLG CTB, microcosm#929) fan out over the nine English regions and sit at the region grain of the cross-grain rule (country > nation > region > constituency > la); each region is its own leg, so the LA solve reconciles to its region's composed control rather than to a single England row (microcosm#905).", "evidence": "mhclg.council_tax_stock.band_* references mhclg.council_tax_stock.band_*@E12000001..E12000009, each composed from its authorities' MHCLG taxbase rows (microcosm#929); UK_CROSS_GRAIN_RULE declares control_grains (country, region), so the English region rows and the Scottish CTAXBASE country row share the band signature group and each authority takes its nearest covering control (test_uk_ledger_targets::test_voa_region_controls_and_the_scottish_country_control_share_the_surface); parent_geography_legs maps every E12 code to itself; English legs come from the run ladder or the crosswalk's region_code_by_area.", }, { @@ -643,7 +643,13 @@ def _local_contract_covers(target_id: str, levels: tuple[str, ...]) -> tuple[str covers.add(_source("local_uc")) elif target_id.startswith(("ons.equiv_", "ons.tenure.", "ons.rent.")): covers.add(_source("local_la_extras")) - elif target_id.startswith("voa.council_tax_stock.by_area."): + elif target_id.startswith( + ( + "mhclg.council_tax_stock.by_area.", + "welshgov.council_tax_stock.by_area.", + "scotgov.council_tax_stock.by_area.", + ) + ): covers.add(_source("la_council_tax")) return tuple(sorted(covers)) 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 1c0ba2e3b0..2c59cdef48 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 @@ -16,6 +16,10 @@ UK_BIRTH_MONTH_COLUMN, uk_months_since_last_birthday, ) +from microcosm.build.uk_runtime.council_tax_constants import ( + UK_COUNCIL_TAX_BANDS, + UK_COUNCIL_TAX_PLACEHOLDER_BAND, +) from microcosm.build.uk_runtime.national_frame import ( uk_national_frame, validate_uk_national_frame, @@ -112,16 +116,10 @@ 7: "OTHER", } +#: FRS ``ctband`` codes 1-9 are the engine's bands A-I in order; any other +#: code takes the placeholder band (``frs_council_tax_band``). COUNCIL_TAX_BAND_MAP = { - 1: "A", - 2: "B", - 3: "C", - 4: "D", - 5: "E", - 6: "F", - 7: "G", - 8: "H", - 9: "I", + code: band for code, band in enumerate(UK_COUNCIL_TAX_BANDS, start=1) } MARITAL_MAP = { @@ -995,9 +993,7 @@ def _add_household_columns( ) pe_household["num_bedrooms"] = _number(household, "bedroom6") pe_household["council_tax_reported"] = _positive(household, "ctannual") - pe_household["council_tax_band"] = _map_codes( - household, "ctband", COUNCIL_TAX_BAND_MAP, "D" - ) + pe_household["council_tax_band"] = frs_council_tax_band(household) pe_household["council_tax_rebate"] = ( _positive(household, "ctrebamt") * WEEKS_IN_YEAR ) @@ -1082,6 +1078,21 @@ def _sum_positive_fields(frame: pd.DataFrame, columns: tuple[str, ...]) -> np.nd return total +def frs_council_tax_band(household: pd.DataFrame) -> pd.Series: + """The engine's council-tax band for each FRS household. + + ``ctband`` maps through ``COUNCIL_TAX_BAND_MAP``. Northern Ireland pays + domestic rates, not council tax, so its households take the placeholder + band whatever ``ctband`` holds (microcosm#1278). + """ + + band = _map_codes( + household, "ctband", COUNCIL_TAX_BAND_MAP, UK_COUNCIL_TAX_PLACEHOLDER_BAND + ) + region = _map_codes(household, "gvtregno", REGION_MAP, "UNKNOWN") + return band.mask(region == "NORTHERN_IRELAND", UK_COUNCIL_TAX_PLACEHOLDER_BAND) + + def _map_codes( frame: pd.DataFrame, column: str, diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/graph_terminal.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/graph_terminal.py index 1839c47b3a..7db7666819 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/graph_terminal.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/graph_terminal.py @@ -751,7 +751,7 @@ def run(self, context: KernelContext) -> KernelResult: gate_phase_report_payload, ) from ..stage_evidence import encode_stage_evidence - from .battery_bindings import UK_GATE_REGISTRY + from .battery_bindings import UK_GATE_REGISTRY, uk_area_support_below_floor from .full_gates import ( build_full_gate_context, uk_full_gate_manifest, @@ -857,6 +857,11 @@ def run(self, context: KernelContext) -> KernelResult: ), ignore_index=True, ) + # Consumers of the local file see which areas sit below the + # support floor, under the gate's own floors (microcosm#1278). + support_frame["support_below_floor"] = uk_area_support_below_floor( + support_frame + ) supporting["uk_area_support_summary"] = support_frame # microcosm#1240 fix 8: the high-value homes evidence, once, on the # calibrated pool; the per-area table is a candidate artifact only. diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/ledger_targets.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/ledger_targets.py index c236c269c9..24d3670bea 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/ledger_targets.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/ledger_targets.py @@ -52,6 +52,7 @@ metric_names, ) from microcosm.build.uk_runtime.off_surface_cells import ( + uk_membership_bound_areas, uk_off_surface_frame_rows, uk_signed_cells_off_the_surface, ) @@ -934,9 +935,12 @@ def uk_small_cell_deferred_cells( The joint surface adds them to the reconciliation frame only: they take their share of their leg's control and never reach the solve, so deferring a cell does not inflate its neighbours (microcosm#1123 item 7). + ``area_has_bound_cells`` says whether the membership binds any cell for + the area at that level (``uk_membership_bound_areas``). """ rule_ids = {str(rule["rule_id"]) for rule in _uk_small_cell_rules()} + bound_areas = uk_membership_bound_areas(membership) cells = [] for target_id, target in sorted(membership.get("targets", {}).items()): for level, payload in sorted(target["geography_levels"].items()): @@ -952,6 +956,11 @@ def uk_small_cell_deferred_cells( "geography_level": level, "geography_id": str(candidate["geography_id"]), "value": float(candidate["deferred_value"]), + "area_has_bound_cells": ( + str(level), + str(candidate["geography_id"]), + ) + in bound_areas, } ) return tuple(cells) @@ -2271,10 +2280,15 @@ def uk_local_target_surface( ``fanout_sum_controls`` is the national reconciliation's receipt of each declared fan-out's total over the full register (#1123): a surface that binds a fan-out sum bridge's area cells must carry it. - ``off_surface_cells`` are the membership's signed cells that are not - bound (``uk_off_surface_cells``): where a control moves their leg they - join the reconciliation frame, so the leg's bound cells do not take - their share (``uk_runtime.off_surface_cells``). + ``deferred_cells`` are the small-cell rule's deferrals + (``uk_small_cell_deferred_cells``): they always join the reconciliation + frame. ``off_surface_cells`` are the membership's other signed cells + that are not bound (``uk_off_surface_cells``): where a control moves + their leg they join the frame, so the leg's bound cells do not take + their share (``uk_runtime.off_surface_cells``). Under a run's own ladder + (``area_region_codes``), a cell of either kind whose English area the + ladder cannot place is left out and named in the receipt when the + membership binds some cell for the area; otherwise it refuses. """ if census_household_uprating is None: @@ -2538,7 +2552,27 @@ def uk_local_target_surface( ) reconciliation_rows.extend(fanout_rows) # Small-cell deferrals (#1123 item 7) take their share of their leg's - # control in the reconciliation and are dropped from the output. + # control in the reconciliation and are dropped from the output. Under a + # run's own ladder a deferral is placed as an off-surface cell is below + # (microcosm#1278): an area the ladder lacks but the membership binds + # cells for marks a narrowed run, so the deferral is left out and named. + run_leg_of_area = ( + None + if area_region_codes is None + else uk_cross_grain_leg_of_area(area_region_codes) + ) + placed_deferrals = [] + deferrals_outside_the_ladder: set[str] = set() + for cell in deferred_cells: + if run_leg_of_area is not None: + try: + run_leg_of_area(str(cell["geography_id"])) + except ValueError: + if not cell.get("area_has_bound_cells"): + raise + deferrals_outside_the_ladder.add(str(cell["geography_id"])) + continue + placed_deferrals.append(cell) reconciliation_rows.extend( { "grain": "la" @@ -2549,7 +2583,7 @@ def uk_local_target_surface( "value": float(cell["value"]), "_output_position": None, } - for cell in deferred_cells + for cell in placed_deferrals ) bound_control_ids = ( *bound_control_ids, @@ -2662,6 +2696,10 @@ def reconcile() -> tuple[pd.DataFrame, pd.DataFrame, pd.DataFrame, dict[str, Any **off_surface_receipt, "areas_outside_the_ladder": sorted(areas_outside_the_ladder), } + receipt["small_cell_deferrals"] = { + "rows_added": len(placed_deferrals), + "areas_outside_the_ladder": sorted(deferrals_outside_the_ladder), + } receipt["fanout_sum_bridges"] = _assert_uk_fanout_sum_agreement( local_registry, fanout_sum_controls, off_surface_rows=off_surface_rows ) diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/local_targets.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/local_targets.py index b68dffe13d..8fe95cc16e 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/local_targets.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/local_targets.py @@ -17,6 +17,7 @@ import numpy as np import pandas as pd +from microcosm.build.uk_runtime.council_tax_constants import UK_COUNCIL_TAX_BANDS from microcosm.build.uk_runtime.high_value_homes import ( high_value_home_mask, uk_high_value_home_metric_names, @@ -58,11 +59,6 @@ "tenure/social_rent", "rent/private_rent", ) -#: Bands A-H are the England and Scotland systems; band I exists in Wales only -#: (the 2005 revaluation) and is carried by the spine (FRS ``ctband`` 9) and -#: the engine enum, so it binds the Welsh cells that publish it. Appended -#: last, so the positional metric indices of A-H are unchanged. -COUNCIL_TAX_BANDS = tuple("ABCDEFGHI") #: Local tenure metric -> the shared tenure category it counts, in matrix order. _TENURE_METRIC_CATEGORIES = { "tenure/owned_outright": UK_TENURE_OWNED_OUTRIGHT, @@ -123,7 +119,9 @@ def metric_names( # displacing it. names.append("households") if area_type == "la": - names.extend(f"council_tax/band_{band.lower()}" for band in COUNCIL_TAX_BANDS) + names.extend( + f"council_tax/band_{band.lower()}" for band in UK_COUNCIL_TAX_BANDS + ) names.append(HIGHER_RATE_TAXPAYERS_METRIC) # microcosm#1240: owner-occupied homes above value thresholds, both grains, # appended after every earlier family under the same append-only rule. @@ -379,7 +377,7 @@ def compute_household_metrics( matrix["rent/private_rent"] = household_rent * is_private_renter council_tax_band = _values(_calculate(sim, "council_tax_band", period)) - for band in COUNCIL_TAX_BANDS: + for band in UK_COUNCIL_TAX_BANDS: matrix[f"council_tax/band_{band.lower()}"] = ( council_tax_band == band ).astype(float) diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/off_surface_cells.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/off_surface_cells.py index fec867bf36..f25f667ae2 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/off_surface_cells.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/off_surface_cells.py @@ -51,6 +51,24 @@ UK_IMPLIED_SHARE_MAX_RATIO = 1.5 +def uk_membership_bound_areas( + membership: Mapping[str, Any], +) -> frozenset[tuple[str, str]]: + """The (level, area) pairs for which the membership binds any cell. + + A whole run carries every such area, so a run whose ladder lacks one is + a narrowed one (a sample or a fixture). + """ + + return frozenset( + (str(level), str(candidate["geography_id"])) + for target in membership.get("targets", {}).values() + for level, payload in target["geography_levels"].items() + for candidate in payload["candidates"] + if candidate.get("status") == "active" + ) + + def uk_signed_cells_off_the_surface( membership: Mapping[str, Any], *, @@ -63,17 +81,10 @@ def uk_signed_cells_off_the_surface( ``value`` is the published value of a deferred cell, and ``None`` where the publisher carries no fact for the area. ``area_has_bound_cells`` says whether the membership binds any cell, of any target, for the area at - that level: a whole run then carries the area, so a run whose ladder - lacks it is a narrowed one. + that level (``uk_membership_bound_areas``). """ - bound_areas = { - (str(level), str(candidate["geography_id"])) - for target in membership.get("targets", {}).values() - for level, payload in target["geography_levels"].items() - for candidate in payload["candidates"] - if candidate.get("status") == "active" - } + bound_areas = uk_membership_bound_areas(membership) cells = [] for target_id, target in sorted(membership.get("targets", {}).items()): for level, payload in sorted(target["geography_levels"].items()): diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_housing_shell.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_housing_shell.py index 3d9d74646c..3899457365 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_housing_shell.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_housing_shell.py @@ -16,7 +16,10 @@ Support rules learned from the training rows then hold the bundle together: an amount is zero wherever the FRS has no positive value for that tenure or region, and Housing Benefit needs a rented tenure because the engine pays it to -renting reporters only. FRS base rows are never modified. +renting reporters only. A council-tax band its nation does not use (band I +outside Wales, any band but the placeholder in Northern Ireland) is drawn again +from the classifier's probabilities over that nation's bands. FRS base rows are +never modified. """ from __future__ import annotations @@ -30,6 +33,11 @@ from sklearn.ensemble import HistGradientBoostingClassifier from microcosm.build.stochastic_assignment import stable_identity_uniforms +from microcosm.build.uk_runtime.council_tax_constants import ( + UK_COUNCIL_TAX_BANDS_BY_NATION, + UK_COUNCIL_TAX_BANDS_BY_REGION, + UK_NATION_BY_REGION, +) __all__ = [ "HOUSING_AMOUNT_COLUMNS", @@ -40,7 +48,9 @@ "fit_housing_model", "household_housing_predictors", "household_housing_targets", + "class_scores", "impute_spi_housing_shell", + "restrict_bands_to_nation", ] UK_SPI_HOUSING_SHELL_STAGE_NAME = "spi_housing_shell" @@ -210,6 +220,73 @@ def _one_hot( return pd.concat(parts, axis=1) +def class_scores(classifier: Any, features: np.ndarray) -> np.ndarray: + """The classifier's raw class scores, one column per class. + + A softmax of these rows is ``predict_proba``; a binary classifier scores + ``classes_[1]`` against ``classes_[0]``, so its column for class 0 is zero. + """ + + scores = np.asarray(classifier.decision_function(features), dtype=float) + if scores.ndim == 1: + scores = np.column_stack([np.zeros_like(scores), scores]) + return scores + + +def restrict_bands_to_nation( + choice: np.ndarray, + scores: np.ndarray, + classes: np.ndarray, + regions: np.ndarray, + uniforms: np.ndarray, +) -> tuple[np.ndarray, dict[str, int]]: + """Redraw each band its household's nation does not use. + + A drawn band outside the nation's bands is replaced by an inverse-CDF draw + from the classifier conditioned on those bands: a softmax of the raw class + scores over the nation's bands, with its own identity-keyed uniform. On the + scores, the conditional survives a softmax that rounded the nation's bands + to probability zero, as it does for a few English rows on licensed data. A + row keeps its first draw whenever that draw is valid, so the redrawn rows + end up distributed as the classifier conditioned on the nation's bands, and + no valid row moves. + + Returns the corrected class indices and the rows redrawn, by nation. + """ + + unknown = sorted(set(regions) - set(UK_COUNCIL_TAX_BANDS_BY_REGION)) + if unknown: + raise ValueError(f"Council-tax bands need a nation for regions {unknown}.") + allowed = np.zeros(scores.shape, dtype=bool) + for region, bands in UK_COUNCIL_TAX_BANDS_BY_REGION.items(): + rows = regions == region + if rows.any(): + allowed[np.ix_(rows, np.isin(classes, bands))] = True + outside = ~allowed[np.arange(len(choice)), choice] + # Exact row counts for the stage's own evidence, which no gate reads: band + # them before any gate detail or report carries them (microcosm#1278). + redrawn = { + f"council_tax_band:redrawn:{nation}": int( + (outside & (pd.Series(regions).map(UK_NATION_BY_REGION) == nation)).sum() + ) + for nation in UK_COUNCIL_TAX_BANDS_BY_NATION + } + if not outside.any(): + return choice, redrawn + logits = np.where(allowed[outside], scores[outside], -np.inf) + top = logits.max(axis=1) + if not np.isfinite(top).all(): + raise ValueError( + "A household's nation has no council-tax band the classifier knows." + ) + cumulative = np.cumsum(np.exp(logits - top[:, None]), axis=1) + corrected = choice.copy() + corrected[outside] = ( + cumulative > (uniforms[outside] * cumulative[:, -1])[:, None] + ).argmax(axis=1) + return corrected, redrawn + + @dataclass class FittedHousingModel: """The fitted categorical steps and the chained amount model.""" @@ -231,22 +308,48 @@ def _features(self, predictors: pd.DataFrame, drawn: pd.DataFrame) -> pd.DataFra ] return _one_hot(frame, categorical, self.levels) - def draw(self, predictors: pd.DataFrame) -> pd.DataFrame: - """Draw the housing bundle for ``predictors`` (indexed by household id).""" + def draw( + self, + predictors: pd.DataFrame, + *, + firings: dict[str, int] | None = None, + ) -> pd.DataFrame: + """Draw the housing bundle for ``predictors`` (indexed by household id). + + The council-tax band is kept inside the household's nation's bands + (:func:`restrict_bands_to_nation`); ``firings`` receives the rows + redrawn, by nation. + """ ids = predictors.index.to_numpy() drawn = pd.DataFrame(index=predictors.index) for column in HOUSING_CATEGORICAL_COLUMNS: features = self._features(predictors, drawn) classifier = self.classifiers[column] - probabilities = classifier.predict_proba(features.to_numpy(dtype=float)) + matrix = features.to_numpy(dtype=float) + probabilities = classifier.predict_proba(matrix) uniforms = stable_identity_uniforms( ids, seed=self.seed, salt=f"{UK_SPI_HOUSING_SHELL_STAGE_NAME}:{column}" ) cumulative = np.cumsum(probabilities, axis=1) cumulative[:, -1] = 1.0 choice = (cumulative > uniforms[:, None]).argmax(axis=1) - drawn[column] = np.asarray(classifier.classes_)[choice].astype(str) + classes = np.asarray(classifier.classes_).astype(str) + if column == "council_tax_band": + choice, redrawn = restrict_bands_to_nation( + choice, + class_scores(classifier, matrix), + classes, + predictors["region"].astype(str).to_numpy(), + stable_identity_uniforms( + ids, + seed=self.seed, + salt=f"{UK_SPI_HOUSING_SHELL_STAGE_NAME}:{column}:nation", + ), + ) + if firings is not None: + firings.update(redrawn) + drawn[column] = classes[choice] features = self._features(predictors, drawn) quantiles = { target: stable_identity_uniforms( @@ -431,10 +534,12 @@ def impute_spi_housing_shell( seed=seed, n_estimators=n_estimators, ) - raw = model.draw(predictors.loc[recipient_ids]) + band_redraws: dict[str, int] = {} + raw = model.draw(predictors.loc[recipient_ids], firings=band_redraws) draws, fired = apply_structural_rules( raw, predictors["region"], model.structural_zeros ) + fired.update(band_redraws) household_out = household.copy() recipients = household_out["household_id"].isin(recipient_ids).to_numpy() @@ -512,6 +617,7 @@ def _weighted_shares(values: pd.Series, weights: pd.Series) -> dict[str, float]: "housing_benefit_requires_rented_tenure", "council_tax_benefit_capped_at_council_tax", "council_tax_rebate_equals_hrp_council_tax_benefit", + "council_tax_band_within_its_nation", ], "landing": "household_reference_person", "n_estimators": 100, diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/target_compile_modules.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/target_compile_modules.py index ddf8734a60..dc4256363b 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/target_compile_modules.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/target_compile_modules.py @@ -28,6 +28,7 @@ "microcosm.build.target_reference_authoring", "microcosm.build.uk_runtime.cgt_calibration", "microcosm.build.uk_runtime.chronicle_feed", + "microcosm.build.uk_runtime.council_tax_constants", "microcosm.build.uk_runtime.cross_grain_declarations", "microcosm.build.uk_runtime.frs_release", "microcosm.build.uk_runtime.geography_ladder", 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 0988cd8e52..847bb0d454 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 @@ -1462,8 +1462,10 @@ def test_declares_the_full_june_battery(self, manifest) -> None: "uk_brma_enum_domain", "uk_ons_household_type_enum_domain", "uk_capital_gains_asset_type_enum_domain", + "uk_council_tax_band_domain", "uk_uc_deduction_combination_enum_domain", "uk_student_loan_plan_enum_domain", + "uk_council_tax_band_domain_terminal", "uk_calibration_reference_coverage", "uk_target_surface", "uk_target_fit", diff --git a/packages/microcosm-build/tests/engine_free/shared/test_gates.py b/packages/microcosm-build/tests/engine_free/shared/test_gates.py index 5e49971d12..d869be5a6a 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_gates.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_gates.py @@ -103,6 +103,52 @@ def test_area_support_stale_and_unknown_exclusions_fail() -> None: assert unknown.details["unknown_exclusions"] == ["constituency/X"] +def test_area_support_below_floor_follows_the_gate_rule() -> None: + from microcosm.build.gates import area_support_below_floor + + support = pd.concat( + [ + _area_support(rows=50, ess=50.0, sources=50), + _area_support(rows=49, ess=60.0, sources=60).assign(area_code="C2"), + _area_support(rows=60, ess=49.9, sources=60).assign(area_code="C3"), + _area_support(rows=60, ess=60.0, sources=49).assign(area_code="C4"), + ], + ignore_index=True, + ) + floors = { + "minimum_rows": 50, + "minimum_effective_sample_size": 50.0, + "minimum_distinct_sources": 50, + } + flags = area_support_below_floor(support, **floors) + assert flags.tolist() == [False, True, True, True] + gate = area_support_gate( + support, + area_roster={"constituency": ["C1", "C2", "C3", "C4"]}, + geography_levels=["constituency"], + **floors, + ) + failed = {failure.split(":")[0] for failure in gate.failures} + assert failed == { + f"constituency/{code}" + for code, flag in zip(support["area_code"], flags, strict=True) + if flag + } + # A reviewed exclusion passes the gate but leaves the area flagged. + excused = area_support_gate( + support, + area_roster={"constituency": ["C1", "C2", "C3", "C4"]}, + geography_levels=["constituency"], + reviewed_exclusions={ + f"constituency/{code}": {"reason": "reviewed"} + for code in ("C2", "C3", "C4") + }, + **floors, + ) + assert excused.passed + assert area_support_below_floor(support, **floors).tolist() == flags.tolist() + + class TestGateResultInvariants: def test_pass_with_failures_is_refused(self) -> None: with pytest.raises(ValueError, match="cannot pass with failures"): @@ -1595,6 +1641,69 @@ class Race(enum.Enum): result = enum_domain_gate({"race": [Race.WHITE, "BLACK"]}, {"race": Race}) assert result.passed + def test_partition_domains_restrict_each_row(self) -> None: + result = enum_domain_gate( + {"band": ["A", "I", "I", "D"]}, + {"band": tuple("ABCDEFGHI")}, + partitions={"band": ["north", "west", "north", "isle"]}, + partition_domains={ + "band": { + "north": tuple("ABCDEFGH"), + "west": tuple("ABCDEFGHI"), + "isle": ("D",), + } + }, + ) + assert not result.passed + assert result.details["invalid_counts"] == {"band": 1} + assert result.details["invalid_examples"] == {"band": ["I@north"]} + assert result.details["partition_allowed_values"]["band"]["isle"] == ["D"] + assert "outside its partition's domain" in result.failures[0] + + def test_a_label_without_a_domain_fails_its_rows(self) -> None: + result = enum_domain_gate( + {"band": ["A", "A"]}, + {"band": ("A", "B")}, + partitions={"band": ["north", "south"]}, + partition_domains={"band": {"north": ("A", "B")}}, + ) + assert not result.passed + assert result.details["invalid_examples"] == {"band": ["A@south"]} + + def test_a_partition_domain_must_lie_inside_the_enum(self) -> None: + with pytest.raises(ValueError, match="outside the enum domain"): + enum_domain_gate( + {"band": ["A"]}, + {"band": ("A", "B")}, + partitions={"band": ["north"]}, + partition_domains={"band": {"north": ("A", "Z")}}, + ) + + def test_partition_labels_must_match_the_values(self) -> None: + with pytest.raises(ValueError, match="1 partition labels for 2 values"): + enum_domain_gate( + {"band": ["A", "B"]}, + {"band": ("A", "B")}, + partitions={"band": ["north"]}, + partition_domains={"band": {"north": ("A", "B")}}, + ) + with pytest.raises(ValueError, match="need the rows' partition labels"): + enum_domain_gate( + {"band": ["A"]}, + {"band": ("A", "B")}, + partition_domains={"band": {"north": ("A",)}}, + ) + + def test_an_unpartitioned_column_reports_as_before(self) -> None: + result = enum_domain_gate({"band": ["A", "Z"]}, {"band": ("A", "B")}) + assert sorted(result.details) == [ + "allowed_values", + "columns_checked", + "invalid_counts", + "invalid_examples", + ] + assert "outside enum domain" in result.failures[0] + class TestSourceCoverageGate: def test_hard_targets_must_be_active_or_reviewed(self) -> None: diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_battery_bindings.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_battery_bindings.py index d7ebf6dc07..c86e3a256e 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_battery_bindings.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_battery_bindings.py @@ -211,7 +211,7 @@ def _fixture_coverage_registry(): evaluator=lambda context, parameters: GateResult( name="enum_domain", passed=True ), - parameter_keys=frozenset({"columns"}), + parameter_keys=UK_GATE_REGISTRY["enum_domain"].parameter_keys, ), } @@ -974,8 +974,8 @@ def test_fully_armed_battery_evaluates_gate_for_gate(self) -> None: # three evidence-backed local arms are named gaps below. # Plus the #970 projection fence, armed here with the pinned growth # path over distinct sub-exempt gains that never cross the exempt - # amount. - assert len(passed) == 20 + # amount, and the release-frame council-tax band check (#1278). + assert len(passed) == 21 def test_input_mass_parity_compares_the_release_surface(self) -> None: # The frame carries the spine's WAS property_wealth and the reference @@ -1669,17 +1669,18 @@ def test_local_default_target_surface_uses_metric_names_and_signed_deferrals( # microcosm#1240 adds 2,679 high-value homes cells (575 constituencies # and 318 authorities in England and Wales, three thresholds), six of # them deferred by the two micro-authorities' support floor. - assert result.details["candidate_targets"] == 24_477 + assert result.details["candidate_targets"] == 24_269 assert result.details["reference_targets"] == 26_065 - # Only the 1,582 signed area deferrals and absences remain (2,100 + # Only the 1,796 signed area deferrals and absences remain (2,100 # before microcosm#929 bound the Welsh and Scottish council-tax cells; # Shetland band H is the one Scottish support deferral; microcosm#1123 - # adds the three higher rate taxpayer gaps); the 1,011 household rows - # are ordinary Chronicle-compiled references. The small-cell rules - # are unsigned, so they defer nothing yet: signing them moves these - # counts with the regenerated references. + # adds the three higher rate taxpayer gaps; microcosm#1240 the six + # high-value homes cells above; microcosm#1278 signs the two + # small-cell rules, which defer 16 council-tax band cells and 192 + # higher-rate cells); the 1,011 household rows are ordinary + # Chronicle-compiled references. exclusions = result.details["reviewed_exclusions"] - assert len(exclusions) == 1_588 + assert len(exclusions) == 1_796 households = [ name for name in exclusions if str(name).startswith("households@") ] @@ -2067,6 +2068,138 @@ class Bare: ) +def test_the_area_support_flag_reads_the_declared_floors() -> None: + from microcosm.build.uk_runtime.battery_bindings import ( + uk_area_support_below_floor, + uk_area_support_floors, + ) + + entry = next( + entry + for entry in load_country_spec("uk").gates.gates + if entry.id == "uk_local_area_support" + ) + floors = uk_area_support_floors() + assert floors == {key: entry.parameters[key] for key in floors} + support = pd.DataFrame( + { + "geography_level": ["local_authority", "local_authority"], + "area_code": ["A", "B"], + "nonzero_households": [floors["minimum_rows"], floors["minimum_rows"] - 1], + "effective_sample_size": [floors["minimum_effective_sample_size"]] * 2, + "nonzero_source_households": [floors["minimum_distinct_sources"]] * 2, + } + ) + assert uk_area_support_below_floor(support).tolist() == [False, True] + + +class TestCouncilTaxBandDomain: + """Each household's band must be one its nation uses (microcosm#1278).""" + + _REGIONS = ["NORTH_EAST", "WALES", "SCOTLAND", "NORTHERN_IRELAND"] + + @staticmethod + def _parameters() -> dict: + entry = next( + entry + for entry in load_country_spec("uk").gates.gates + if entry.id == "uk_council_tax_band_domain" + ) + return dict(entry.parameters) + + def _context(self, bands, regions=None) -> EvidenceContext: + person, benunit, household = _tables(n=4) + household["region"] = regions or self._REGIONS + household["council_tax_band"] = bands + frame = uk_national_frame( + person=person, benunit=benunit, household=household, time_period="2023" + ) + + class Accessor: + def enum_domain(self, column): + assert column == "council_tax_band" + return tuple("ABCDEFGHI") + + return EvidenceContext(frame=frame, artifacts={"rules_engine": Accessor()}) + + def test_the_declaration_is_the_shared_constant(self) -> None: + from microcosm.build.uk_runtime.council_tax_constants import ( + UK_COUNCIL_TAX_BANDS_BY_NATION, + ) + + parameters = self._parameters() + assert parameters["partition_column"] == "region" + assert { + nation: tuple(bands) + for nation, bands in parameters["domains_by_nation"].items() + } == dict(UK_COUNCIL_TAX_BANDS_BY_NATION) + + def test_the_release_frame_instance_declares_the_same_check(self) -> None: + # The spine entry stops at the transferred boundary; the terminal one + # checks the frame the release ships, after any later step that writes + # the band (microcosm#1278 review). The release cut owns it. + from microcosm.build.uk_runtime.calibration_run import ( + UK_NATIONAL_GATE_SCOPE, + UK_SPINE_GATE_SCOPE, + ) + + entries = {entry.id: entry for entry in load_country_spec("uk").gates.gates} + spine = entries["uk_council_tax_band_domain"] + terminal = entries["uk_council_tax_band_domain_terminal"] + assert (spine.gate, spine.phase) == ("enum_domain", "transferred") + assert (terminal.gate, terminal.phase) == ("enum_domain", "terminal") + assert terminal.criticality == "release_blocking" + assert dict(terminal.parameters) == dict(spine.parameters) + assert spine.id in UK_SPINE_GATE_SCOPE + assert terminal.id in UK_NATIONAL_GATE_SCOPE + + def test_each_nation_holds_its_own_bands(self) -> None: + from microcosm.build.uk_runtime.battery_bindings import _evaluate_enum_domain + + result = _evaluate_enum_domain( + self._context(["H", "I", "H", "D"]), self._parameters() + ) + assert result.passed, result.failures + + @pytest.mark.parametrize( + ("bands", "invalid"), + [ + (["I", "I", "H", "D"], ["I@ENGLAND"]), + (["H", "I", "I", "D"], ["I@SCOTLAND"]), + (["H", "I", "H", "A"], ["A@NORTHERN_IRELAND"]), + ], + ) + def test_a_band_its_nation_does_not_use_fails(self, bands, invalid) -> None: + from microcosm.build.uk_runtime.battery_bindings import _evaluate_enum_domain + + result = _evaluate_enum_domain(self._context(bands), self._parameters()) + assert not result.passed + assert result.details["invalid_examples"] == {"council_tax_band": invalid} + + def test_a_declaration_other_than_the_constant_is_refused(self) -> None: + from microcosm.build.uk_runtime.battery_bindings import _evaluate_enum_domain + + parameters = self._parameters() + parameters["domains_by_nation"] = { + **parameters["domains_by_nation"], + "ENGLAND": list("ABCDEFGHI"), + } + with pytest.raises(ValueError, match="must equal the shared constant"): + _evaluate_enum_domain(self._context(["H", "I", "H", "D"]), parameters) + + def test_a_region_without_a_nation_is_refused(self) -> None: + from microcosm.build.uk_runtime.battery_bindings import _evaluate_enum_domain + + with pytest.raises(ValueError, match="regions with no nation"): + _evaluate_enum_domain( + self._context( + ["H", "I", "H", "D"], + regions=["UNKNOWN", "WALES", "SCOTLAND", "NORTHERN_IRELAND"], + ), + self._parameters(), + ) + + def test_weight_gate_bindings_fold_support_families_before_evaluating() -> None: """The terminal weight gates read the support-family fold (microcosm#1045). diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_council_tax_constants.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_council_tax_constants.py new file mode 100644 index 0000000000..35efaa46ad --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_council_tax_constants.py @@ -0,0 +1,48 @@ +"""The council-tax band constants and the views derived from them agree.""" + +from __future__ import annotations + +from microcosm.build.uk_runtime import frs_spine, local_targets +from microcosm.build.uk_runtime.council_tax_constants import ( + UK_COUNCIL_TAX_BANDS, + UK_COUNCIL_TAX_BANDS_BY_NATION, + UK_COUNCIL_TAX_BANDS_BY_REGION, + UK_COUNCIL_TAX_PLACEHOLDER_BAND, + UK_NATION_BY_REGION, +) +from microcosm.calibrate.geography_constants import UK_REGION_TIER_ENUM + + +def test_each_nations_bands_are_engine_bands() -> None: + assert UK_COUNCIL_TAX_BANDS == tuple("ABCDEFGHI") + for bands in UK_COUNCIL_TAX_BANDS_BY_NATION.values(): + assert set(bands) <= set(UK_COUNCIL_TAX_BANDS) + assert UK_COUNCIL_TAX_BANDS_BY_NATION["WALES"] == UK_COUNCIL_TAX_BANDS + assert "I" not in UK_COUNCIL_TAX_BANDS_BY_NATION["ENGLAND"] + assert "I" not in UK_COUNCIL_TAX_BANDS_BY_NATION["SCOTLAND"] + assert UK_COUNCIL_TAX_BANDS_BY_NATION["NORTHERN_IRELAND"] == ( + UK_COUNCIL_TAX_PLACEHOLDER_BAND, + ) + + +def test_region_views_follow_the_region_tier() -> None: + assert set(UK_NATION_BY_REGION) == set(UK_REGION_TIER_ENUM.values()) + assert set(UK_NATION_BY_REGION.values()) == set(UK_COUNCIL_TAX_BANDS_BY_NATION) + assert sum(nation == "ENGLAND" for nation in UK_NATION_BY_REGION.values()) == 9 + for region, nation in UK_NATION_BY_REGION.items(): + expected = UK_COUNCIL_TAX_BANDS_BY_NATION[nation] + assert UK_COUNCIL_TAX_BANDS_BY_REGION[region] == expected + + +def test_the_spine_and_the_local_metrics_use_the_shared_bands() -> None: + assert frs_spine.COUNCIL_TAX_BAND_MAP == { + code: band for code, band in enumerate(UK_COUNCIL_TAX_BANDS, start=1) + } + band_metrics = [ + name + for name in local_targets.metric_names("la") + if name.startswith("council_tax/") + ] + assert band_metrics == [ + f"council_tax/band_{band.lower()}" for band in UK_COUNCIL_TAX_BANDS + ] diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_dense_release_assembler.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_dense_release_assembler.py index 7ff3f726ab..376e7526b1 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_dense_release_assembler.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_dense_release_assembler.py @@ -489,6 +489,14 @@ def test_assembler_stages_a_contract_valid_dense_release( item["id"].startswith("measure_exclusion:obr.housing_benefit") for item in manifest["reviewed_limitations"] ) + from microcosm.build.uk_runtime.battery_bindings import uk_area_support_floors + + # Codes only: the stood-on support exclusion, no counts (microcosm#1278). + assert manifest["area_support"] == { + "gate": "uk_local_area_support", + "floors": uk_area_support_floors(), + "below_floor": {"local_authority": ["E06000053"]}, + } diagnostics = json.loads((release_dir / "calibration_diagnostics.json").read_text()) assert diagnostics["households"] == 30 and diagnostics["n_targets"] == 2 gate_summary = json.loads((release_dir / "gate_summary.json").read_text()) 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 c03cae18ba..0e72c1521e 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 @@ -47,6 +47,7 @@ access_fund_annual, build_uk_frs_spine_frame, completed_months, + frs_council_tax_band, parse_frs_uc_claim_start, scottish_water_and_sewerage_weekly, uc_gainful_self_employment, @@ -1532,6 +1533,15 @@ def test_scottish_disability_payments_land_in_the_pip_and_dla_columns() -> None: ) +def test_northern_ireland_households_take_the_placeholder_band() -> None: + # Northern Ireland pays domestic rates, so a ctband code there is ignored; + # elsewhere codes 1-9 are bands A-I and any other code is the placeholder. + household = pd.DataFrame( + {"gvtregno": [13, 13, 6, 11, 6], "ctband": [5, 0, 5, 9, 0]} + ) + assert frs_council_tax_band(household).tolist() == ["D", "D", "E", "I", "D"] + + def test_household_and_benunit_mapping_values_are_ported(tmp_path: Path) -> None: stage = _write_fixture(tmp_path) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_graph_terminal.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_graph_terminal.py index 3559ae82b9..a702f02e61 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_graph_terminal.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_graph_terminal.py @@ -64,6 +64,33 @@ def test_export_drops_native_aliases_and_keeps_identity_keyed_assignment(tmp_pat assert "geography_household_key" in stored and "data_zone_code" not in stored +def test_local_export_drops_the_national_boundarys_reviewed_columns(): + """The local file leaves out what the national release boundary drops. + + microcosm#1278 (from #796): the K=25 build's degenerate-surface gate failed + on ``incapacity_benefit_reported``, which the national boundary dropped and + the local export did not. Both exports now apply the same reviewed list. + """ + from microcosm.build.uk_runtime.graph_terminal import _tables + from microcosm.build.uk_runtime.national_frame import ( + UK_RELEASE_EXPORT_DROPPED_COLUMNS, + ) + + assert "incapacity_benefit_reported" in UK_RELEASE_EXPORT_DROPPED_COLUMNS["person"] + frame = _frame() + for entity, columns in UK_RELEASE_EXPORT_DROPPED_COLUMNS.items(): + table = frame.table(entity) + for column in columns: + table[column] = 0.0 + exported = _tables(frame) + descriptor = describe_uk_export( + frame, bindings={"target_scope": "all"}, solve_year=2025 + ) + for entity, columns in UK_RELEASE_EXPORT_DROPPED_COLUMNS.items(): + assert not set(columns) & set(exported[entity].columns) + assert not set(columns) & set(descriptor["tables"][entity]["columns"]) + + def test_export_writes_area_codes_under_consumer_names_and_refuses_ladder_names( tmp_path, ): @@ -833,10 +860,12 @@ def forbidden(*args, **kwargs): assert document["uk_diagnostics"]["rotated_holdout"]["method"] == "rotated_folds" assert document["uk_diagnostics"]["rotated_holdout"]["worst_holdout_loss"] == 0.15 assert len(document["targets"]) == 2 - assert ( - len(pd.read_csv(__import__("io").BytesIO(stored.artifacts["area_support_csv"]))) - == 4 + support_csv = pd.read_csv( + __import__("io").BytesIO(stored.artifacts["area_support_csv"]) ) + assert len(support_csv) == 4 + # Consumers read which areas sit below the floor (microcosm#1278). + assert support_csv["support_below_floor"].dtype == bool def test_package_validates_materialized_evidence_against_graph_bytes(tmp_path): diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_local_candidate_scorer.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_local_candidate_scorer.py index 8bfa718b57..4664b497b7 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_local_candidate_scorer.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_local_candidate_scorer.py @@ -10,6 +10,9 @@ import pytest from microcosm.build.holdout import summarize_rotations +from microcosm.build.uk_runtime.ledger_targets import ( + load_uk_local_target_reference_membership, +) from microcosm.build.uk_runtime.local_doctrine import UK_LOCAL_TARGET_LOSS_CAP from microcosm.calibrate import ( CALIBRATION_DIAGNOSTICS_SCHEMA_VERSION, @@ -238,10 +241,14 @@ def test_local_scorer_refuses_a_non_frozen_surface() -> None: ) -def test_the_frozen_count_is_the_1123_compiled_local_reference_count() -> None: +def test_the_frozen_count_is_the_committed_active_reference_count() -> None: # microcosm#1123's surface regeneration on the 942a1fa feed: - # register_completeness.compiled_local_reference_count 20,885 -> 21,804. - assert _load_scorer().UK_LOCAL_ACTIVE_REFERENCE_COUNT == 21_804 + # register_completeness.compiled_local_reference_count 20,885 -> 21,804; + # microcosm#1240 adds the high-value homes cells, and microcosm#1278's + # signed small-cell rules defer 208 cells. + assert _load_scorer().UK_LOCAL_ACTIVE_REFERENCE_COUNT == 24_269 + membership = load_uk_local_target_reference_membership() + assert membership["active_reference_count"] == 24_269 def test_a_graph_target_selection_scores_its_local_rows(tmp_path) -> None: diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_local_rowwise.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_local_rowwise.py index 010851d07a..7e6b1b6304 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_local_rowwise.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_local_rowwise.py @@ -471,9 +471,12 @@ def test_rowwise_doctrine_solve_uses_base_weights_directly() -> None: stood_on = receipt["stood_on"]["census_households/constituency"] seed = stood_on["census_disclosure_control_noise"] assert seed["approved_by"] == "juaristi22" - assert seed["adjudication"] == "microcosm#802" - assert seed["approved_on"] == "2026-08-31" - assert seed["expires_on"] == "2026-11-30" + # Renewed for three months on 2026-10-14 (microcosm#1278). + assert seed["adjudication"].startswith( + "microcosm#802; renewed three months on 2026-10-14 by juaristi22" + ) + assert seed["approved_on"] == "2026-10-14" + assert seed["expires_on"] == "2027-01-14" assert receipt["stood_on"]["tenure/constituency"] == {} diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_local_small_cell_rule.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_local_small_cell_rule.py index 0d44b4ac88..863af03324 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_local_small_cell_rule.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_local_small_cell_rule.py @@ -3,6 +3,7 @@ from __future__ import annotations import json +from collections import Counter from datetime import date from importlib import resources as importlib_resources @@ -13,6 +14,7 @@ uk_small_cell_deferred_cells, uk_small_cell_rule_is_signed, ) +from microcosm.build.uk_runtime.uprating_holds import UK_HOLD_EXPIRY_NOTICE_DAYS from tools.generate_uk_local_target_references import _small_cell_deferrals @@ -150,12 +152,15 @@ def test_deferred_cells_keep_their_values_for_reconciliation(): deferred_value=3.0, ) ) + # The membership binds the authority's census households, so a whole run + # carries it: a run whose ladder lacks it is a narrowed one. assert uk_small_cell_deferred_cells(membership) == ( { "target_id": "welshgov.council_tax_stock.by_area.band_h", "geography_level": "local_authority", "geography_id": "W06000019", "value": 3.0, + "area_has_bound_cells": True, }, ) @@ -182,3 +187,87 @@ def test_an_expired_deferral_is_refused_at_its_review_date(): assert_uk_local_deferrals_in_force(membership, date(2027, 4, 1), rules=rules) with pytest.raises(ValueError, match="expired"): assert_uk_local_deferrals_in_force(membership, date(2027, 4, 2), rules=rules) + + +def _committed(resource: str): + return json.loads( + importlib_resources.files("microcosm.build.uk") + .joinpath(resource) + .read_text(encoding="utf-8") + ) + + +def test_every_committed_rule_is_signed(): + # An unsigned rule defers nothing, so a proposed rule left in the register + # would leave the cells it names bound without a word. Both rules were + # signed on 2026-10-14 (microcosm#1278). + rules = _committed("local_small_cell_rule.json")["rules"] + assert [ + rule["rule_id"] for rule in rules if not uk_small_cell_rule_is_signed(rule) + ] == [] + + +def test_no_committed_rule_is_about_to_lapse(): + # A clock on purpose, as for the uprating holds: every UK build refuses a + # deferral after its rule's expiry, and feed-backed compiles are skipped in + # CI, so this fails UK_HOLD_EXPIRY_NOTICE_DAYS days before the earliest + # expiry, while the builds still pass. Clear it by a new review and + # signature in uk/local_small_cell_rule.json. + earliest = min( + date.fromisoformat(rule["expires_on"]) + for rule in _committed("local_small_cell_rule.json")["rules"] + ) + days_left = (earliest - date.today()).days + assert days_left > UK_HOLD_EXPIRY_NOTICE_DAYS, ( + f"A UK small-cell rule expires on {earliest.isoformat()}, in {days_left} " + "day(s); every UK build refuses its deferrals from the next day." + ) + + +def test_the_committed_membership_defers_each_rules_cells(): + # The regenerated references carry the signed rules' deferrals: the + # council-tax band cells under 50 dwellings (band G 3, band H 7, band I 6) + # and the higher rate taxpayer cells HMRC publishes at 5,000 or fewer. + cells: dict[str, Counter] = {} + for deferral in _committed("local_target_reference_membership.json")[ + "signed_deferrals" + ]: + if deferral["reason_id"] in { + "council_tax_band_household_floor", + "hmrc_rounded_thousand_floor", + }: + cells.setdefault(deferral["reason_id"], Counter())[ + deferral["geography_level"] + ] += len(deferral["area_ids"]) + assert cells == { + "council_tax_band_household_floor": Counter({"local_authority": 16}), + "hmrc_rounded_thousand_floor": Counter( + {"constituency": 155, "local_authority": 37} + ), + } + + +def test_the_parity_receipt_names_the_rule_on_a_small_cell_deferral(): + # A cell the incumbent carries but a signed rule defers is fixture-only in + # the local parity receipt, and its reason is the deferral's own signed + # rationale, which names the rule (microcosm#1278 review). + reason_by_cell = { + (deferral["target_id"], area): deferral["reason_id"] + for deferral in _committed("local_target_reference_membership.json")[ + "signed_deferrals" + ] + if deferral["reason_id"] + in {"council_tax_band_household_floor", "hmrc_rounded_thousand_floor"} + for area in deferral["area_ids"] + } + rows = [ + row + for row in _committed( + "ledger_compile_parity_local_incumbent_2025_signed_differences.json" + )["differences"] + if tuple(row["name"].split("@", 1)) in reason_by_cell + ] + assert rows + for row in rows: + assert row["kind"] == "fixture_only" + assert reason_by_cell[tuple(row["name"].split("@", 1))] in row["reason"] diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_off_surface_cells.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_off_surface_cells.py index a2b476ec2b..a2f2cdb162 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_off_surface_cells.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_off_surface_cells.py @@ -345,7 +345,7 @@ def _uc(name: str, level: str, area: str, value: float) -> TargetSpec: def _uc_surface( - off_surface_cells=(), area_region_codes=None + off_surface_cells=(), area_region_codes=None, deferred_cells=() ) -> tuple[dict[str, float], dict]: # A GB caseload of 300 over two constituencies of 100 (Scotland, Wales). # Wales has its one authority; Scotland's tier carries one of two. @@ -383,6 +383,7 @@ def _uc_surface( registry, bound_national_target_ids=("dwp.uc.households",), period=2025, + deferred_cells=deferred_cells, off_surface_cells=off_surface_cells, area_region_codes=area_region_codes, ) @@ -444,3 +445,39 @@ def test_an_off_surface_area_the_runs_ladder_does_not_carry_is_left_out(): ] with pytest.raises(ValueError, match="E06999999.*run's ladder membership"): _uc_surface(unguarded, area_region_codes={"E06000001": "E12000001"}) + + +def test_a_small_cell_deferral_the_runs_ladder_does_not_carry_is_left_out(): + # A small-cell deferral always joins the frame. Under a run's own ladder + # it is placed as an off-surface cell is (microcosm#1278): the run's + # ladder lacks the English authority, so it is left out and named. + target = "dwp.uc.households_by_area" + deferrals = [ + _off("local_authority", "S12000034", 40.0, target_id=target), + _off("local_authority", "E06999999", 5.0, target_id=target), + ] + values, receipt = _uc_surface( + deferred_cells=deferrals, area_region_codes={"E06000001": "E12000001"} + ) + assert values["S12000033"] == pytest.approx(90.0) + assert receipt["small_cell_deferrals"] == { + "rows_added": 1, + "areas_outside_the_ladder": ["E06999999"], + } + # Under the committed crosswalk an area that cannot be placed is a defect. + with pytest.raises(ValueError, match="E06999999.*local-area crosswalk"): + _uc_surface(deferred_cells=deferrals) + # An area the membership binds nothing for refuses under a run's ladder. + unguarded = [ + _off( + "local_authority", + "E06999999", + 5.0, + target_id=target, + area_has_bound_cells=False, + ) + ] + with pytest.raises(ValueError, match="E06999999.*run's ladder membership"): + _uc_surface( + deferred_cells=unguarded, area_region_codes={"E06000001": "E12000001"} + ) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_housing_shell.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_housing_shell.py index 93fa278bdb..e5e88687e4 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_housing_shell.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_housing_shell.py @@ -7,6 +7,11 @@ 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.council_tax_constants import ( + UK_COUNCIL_TAX_BANDS, + UK_COUNCIL_TAX_BANDS_BY_REGION, +) from microcosm.build.uk_runtime.national_frame import uk_national_frame from microcosm.build.uk_runtime.spi_housing_shell import ( HOUSING_AMOUNT_COLUMNS, @@ -17,6 +22,7 @@ _assert_invariants, _assert_stage_parameters, impute_spi_housing_shell, + restrict_bands_to_nation, ) from microcosm.frame import WeightKind from test_support.microcosm_build.uk_spi_housing_shell import housing_shell_tables @@ -122,3 +128,163 @@ def test_a_frame_without_frs_training_rows_is_refused() -> None: household = household.assign(household_support_channel="spi") with pytest.raises(ValueError, match="FRS training rows"): impute_spi_housing_shell(person, household, weights, seed=0, n_estimators=20) + + +def test_a_band_inside_its_nation_keeps_its_draw() -> None: + classes = np.asarray(UK_COUNCIL_TAX_BANDS) + scores = np.zeros((3, len(classes))) + choice = np.array([7, 8, 3]) # H in England, I in Wales, D in Northern Ireland + regions = np.array(["LONDON", "WALES", "NORTHERN_IRELAND"]) + corrected, redrawn = restrict_bands_to_nation( + choice, scores, classes, regions, np.full(3, 0.5) + ) + np.testing.assert_array_equal(corrected, choice) + assert sum(redrawn.values()) == 0 + assert set(redrawn) == { + "council_tax_band:redrawn:ENGLAND", + "council_tax_band:redrawn:WALES", + "council_tax_band:redrawn:SCOTLAND", + "council_tax_band:redrawn:NORTHERN_IRELAND", + } + + +def test_a_band_outside_its_nation_is_redrawn_from_the_nations_bands() -> None: + classes = np.asarray(UK_COUNCIL_TAX_BANDS) + regions = np.array(["LONDON", "SCOTLAND", "NORTHERN_IRELAND", "NORTHERN_IRELAND"]) + scores = np.zeros((4, len(classes))) + choice = np.array([8, 8, 0, 3]) # I, I, A, D + corrected, redrawn = restrict_bands_to_nation( + choice, scores, classes, regions, np.array([0.99, 0.0, 0.5, 0.5]) + ) + bands = classes[corrected] + for band, region in zip(bands, regions, strict=True): + assert band in UK_COUNCIL_TAX_BANDS_BY_REGION[region] + assert list(bands[2:]) == ["D", "D"] + assert corrected[3] == choice[3] + assert redrawn["council_tax_band:redrawn:ENGLAND"] == 1 + assert redrawn["council_tax_band:redrawn:SCOTLAND"] == 1 + assert redrawn["council_tax_band:redrawn:NORTHERN_IRELAND"] == 1 + + +def test_redrawn_bands_follow_the_classifier_over_the_nations_bands() -> None: + # Every English row drew band I; the redraw must spread them over A-H in + # proportion to the classifier's own probabilities. + n = 40_000 + classes = np.asarray(UK_COUNCIL_TAX_BANDS) + weights = np.array([1, 2, 3, 4, 3, 2, 1, 1, 3], dtype=float) + scores = np.tile(np.log(weights), (n, 1)) + uniforms = stable_identity_uniforms(np.arange(n), seed=0, salt="test") + corrected, _ = restrict_bands_to_nation( + np.full(n, 8), scores, classes, np.full(n, "LONDON"), uniforms + ) + observed = np.bincount(corrected, minlength=len(classes)) / n + expected = np.append(weights[:8] / weights[:8].sum(), 0.0) + np.testing.assert_allclose(observed, expected, atol=0.01) + + +def test_bands_the_softmax_rounded_to_zero_are_still_drawn() -> None: + # On licensed data a few English rows score band I so far above A-H that + # the softmax gives A-H probability exactly zero; the conditional draw on + # the raw scores still spreads them over A-H. + classes = np.asarray(UK_COUNCIL_TAX_BANDS) + scores = np.tile(np.append(np.linspace(-1000.0, -999.0, 8), 0.0), (4, 1)) + probabilities = np.exp(scores - scores.max(axis=1, keepdims=True)) + assert (probabilities[:, :8] == 0.0).all() + corrected, redrawn = restrict_bands_to_nation( + np.full(4, 8), + scores, + classes, + np.full(4, "NORTH_WEST"), + np.array([0.0, 0.3, 0.6, 0.99]), + ) + assert set(classes[corrected]) <= set("ABCDEFGH") + assert redrawn["council_tax_band:redrawn:ENGLAND"] == 4 + + +def test_class_scores_soften_into_the_classifiers_probabilities() -> None: + from sklearn.ensemble import HistGradientBoostingClassifier + + from microcosm.build.uk_runtime.spi_housing_shell import class_scores + + rng = np.random.default_rng(0) + features = rng.normal(size=(300, 3)) + for labels in ( + np.where(features[:, 0] > 0, "A", "B"), + np.select([features[:, 0] > 0.5, features[:, 0] < -0.5], ["A", "C"], "B"), + ): + classifier = HistGradientBoostingClassifier(max_iter=20).fit(features, labels) + scores = class_scores(classifier, features) + softmax = np.exp(scores - scores.max(axis=1, keepdims=True)) + softmax /= softmax.sum(axis=1, keepdims=True) + np.testing.assert_allclose( + softmax, classifier.predict_proba(features), atol=1e-9 + ) + + +def test_a_nation_the_classifier_cannot_serve_is_refused() -> None: + classes = np.array(["B", "F"]) + with pytest.raises(ValueError, match="no council-tax band the classifier"): + restrict_bands_to_nation( + np.array([0]), + np.array([[0.5, 0.5]]), + classes, + np.array(["NORTHERN_IRELAND"]), + np.array([0.5]), + ) + with pytest.raises(ValueError, match="need a nation for regions"): + restrict_bands_to_nation( + np.array([0]), + np.array([[0.5, 0.5]]), + classes, + np.array(["ATLANTIS"]), + np.array([0.5]), + ) + + +def _band_i_everywhere(): + """FRS training rows that hold band I in every region, so SPI rows draw it.""" + + person, benunit, household, weights = housing_shell_tables() + frs = (household["household_support_channel"] == "frs").to_numpy() + plant = frs & (np.arange(len(household)) % 3 == 0) + household.loc[plant, "council_tax_band"] = "I" + return person, benunit, household, weights + + +def test_the_stage_keeps_every_spi_band_inside_its_nation() -> None: + person, _, household, weights = _band_i_everywhere() + _, household_out, receipt = impute_spi_housing_shell( + person, household, weights, seed=0, n_estimators=20 + ) + spi = household_out[household_out["household_support_channel"] == "spi"] + allowed = spi["region"].map(UK_COUNCIL_TAX_BANDS_BY_REGION) + assert all( + band in bands + for band, bands in zip(spi["council_tax_band"], allowed, strict=True) + ) + firings = receipt["rule_firings"] + assert firings["council_tax_band:redrawn:ENGLAND"] > 0 + frs = household["household_support_channel"] == "frs" + pd.testing.assert_frame_equal(household.loc[frs], household_out.loc[frs]) + + +def test_without_the_restriction_spi_rows_leave_their_nation(monkeypatch) -> None: + # Mutation check: the planted case does reach out-of-nation bands when the + # restriction is removed, so the test above can fail. + import microcosm.build.uk_runtime.spi_housing_shell as shell + + monkeypatch.setattr( + shell, + "restrict_bands_to_nation", + lambda choice, *_args: (choice, {}), + ) + person, _, household, weights = _band_i_everywhere() + _, household_out, _ = impute_spi_housing_shell( + person, household, weights, seed=0, n_estimators=20 + ) + spi = household_out[household_out["household_support_channel"] == "spi"] + allowed = spi["region"].map(UK_COUNCIL_TAX_BANDS_BY_REGION) + assert not all( + band in bands + for band, bands in zip(spi["council_tax_band"], allowed, strict=True) + ) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_target_surface_receipt_communal.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_target_surface_receipt_communal.py new file mode 100644 index 0000000000..54f60aa22b --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_target_surface_receipt_communal.py @@ -0,0 +1,188 @@ +"""The communal-establishment receipt sizes the age-universe change (microcosm#1278). + +Synthetic facts only: the receipt reads census residence-type counts by area +and age band, so the tests write a few such facts and check the shares, the +band mapping, the region composition and the approximate Northern Ireland path. +""" + +from __future__ import annotations + +import importlib.util +import json + +import pytest + +from test_support.paths import paths_for + +_TEST_PATHS = paths_for("microcosm-build") + + +def _load_tool(): + path = _TEST_PATHS.repository / "tools/uk_target_surface_receipt.py" + spec = importlib.util.spec_from_file_location("uk_target_surface_receipt", path) + module = importlib.util.module_from_spec(spec) + assert spec.loader is not None + spec.loader.exec_module(module) + return module + + +def _ew(level, area, age, residence, value, sex="All persons"): + return { + "observed_measure": {"source_concept": "ons.census2021_residents"}, + "geography": {"level": level, "id": area}, + "dimensions": { + "C2021_AGE_24_NAME": age, + "C2021_RESTYPE_3_NAME": residence, + "C_SEX_NAME": sex, + }, + "value": value, + } + + +def _scotland(area, age, residence, value): + return { + "observed_measure": {"source_concept": "nrs.census2022_residents"}, + "geography": {"level": "local_authority", "id": area}, + "dimensions": { + "Age": age, + "Residence Type Indicator": residence, + "Sex": "All people", + }, + "value": value, + } + + +def _facts(tmp_path): + household, communal = "Lives in a household", "Lives in a communal establishment" + rows = [] + for level, area in ( + ("constituency", "E14000001"), + ("local_authority", "E06000001"), + ): + rows += [ + _ew(level, area, "Aged 20 to 24 years", household, 600.0), + _ew(level, area, "Aged 20 to 24 years", communal, 300.0), + _ew(level, area, "Aged 25 to 29 years", household, 100.0), + _ew(level, area, "Aged 18 to 19 years", household, 50.0), + _ew(level, area, "Aged 18 to 19 years", communal, 50.0), + _ew(level, area, "Aged 2 years and under", household, 90.0), + _ew(level, area, "Aged 85 years and over", household, 30.0), + _ew(level, area, "Aged 85 years and over", communal, 10.0), + _ew(level, area, "Total", household, 870.0), + _ew(level, area, "Total", communal, 360.0), + # Sex-split rows are ignored; the all-persons rows carry the area. + _ew(level, area, "Aged 20 to 24 years", communal, 999.0, sex="Female"), + ] + rows += [ + _scotland("S12000005", "20 - 24", household, 800.0), + _scotland("S12000005", "25 - 29", communal, 200.0), + ] + rows += [ + { + "observed_measure": { + "source_concept": "nisra.census2021_communal_residents" + }, + "geography": {"level": "local_authority", "id": "N09000003"}, + "dimensions": {"Age": "16-24 years", "Sex": sex, "position": "resident"}, + "value": 45.0, + } + for sex in ("Female", "Male") + ] + rows += [ + { + "observed_measure": {"source_concept": "ons.mid_year_population_estimate"}, + "geography": { + "level": "local_authority", + "id": "N09000003", + "vintage": "lgd_2014", + }, + "period": {"type": "calendar_year", "value": 2025}, + "dimensions": {"age": age, "sex": "female"}, + "value": 100.0, + } + for age in [*range(16, 30), "90_plus"] + ] + path = tmp_path / "consumer_facts.jsonl" + path.write_text("".join(json.dumps(row) + "\n" for row in rows)) + return path + + +def test_bands_are_the_local_ten_year_bands_and_80_plus() -> None: + tool = _load_tool() + assert [tool._band_key(band) for band in tool.COMMUNAL_AGE_BANDS] == [ + "0_10", + "10_20", + "20_30", + "30_40", + "40_50", + "50_60", + "60_70", + "70_80", + "80_plus", + ] + assert tool._band_of(tool._age_range("Aged 2 years and under")) == "0_10" + assert tool._band_of(tool._age_range("Aged 18 to 19 years")) == "10_20" + assert tool._band_of(tool._age_range("85 and over")) == "80_plus" + # A category that straddles two bands lands in neither. + assert tool._band_of(tool._age_range("16-24 years")) is None + + +def test_shares_by_band_and_the_sizing_counts(tmp_path) -> None: + tool = _load_tool() + receipt = tool._communal_validation( + _facts(tmp_path), + region_by_area={ + "E06000001": "E12000001", + "S12000005": "S92000003", + "N09000003": "N92000002", + }, + ) + # 300 communal of 1,000 residents aged 20-29 in each English area; the + # Scottish council (local-authority grain only) sits at exactly 20%. + for level, at_least in ( + ("constituency", {"0.20": 1, "0.25": 1}), + ("local_authority", {"0.20": 2, "0.25": 1}), + ): + band = receipt[level]["bands"]["20_30"] + assert band["areas_at_or_above"] == at_least + top = band["areas_at_or_above_lowest"][0] + assert top["communal_share"] == pytest.approx(0.3) + assert receipt[level]["bands"]["80_plus"]["median_share"] == pytest.approx(0.25) + assert receipt[level]["bands"]["0_10"]["median_share"] == 0.0 + # The 18-24 student rule is unchanged: 350 of 1,000 residents aged 18-24. + (student,) = receipt["constituency"]["student_areas"] + assert student["communal_share_18_24"] == pytest.approx(350 / 1000) + # Scotland's council: 200 communal of 1,000 aged 20-29. + scottish = receipt["local_authority"]["bands"]["20_30"]["areas_at_or_above_lowest"] + assert {row["area"] for row in scottish} == {"E06000001", "S12000005"} + region = receipt["region"]["bands"]["20_30"] + assert region["E12000001"] == pytest.approx(0.3) + assert region["S92000003"] == pytest.approx(0.2) + # Northern Ireland: 90 communal aged 16-24 spread over nine single years, + # so 50 fall in 20-29 against 1,000 residents (100 at each age 20-29). + ni = receipt["northern_ireland_local_authority"] + assert ni["approximate"] is True + assert ni["bands"]["20_30"]["median_share"] == pytest.approx(50 / 1000) + assert region["N92000002"] == pytest.approx(50 / 1000) + + +def test_communal_only_writes_the_receipt_without_a_ladder(tmp_path) -> None: + tool = _load_tool() + out = tmp_path / "communal.json" + assert ( + tool.main( + [ + "--ledger-facts", + str(_facts(tmp_path)), + "--communal-only", + "--out", + str(out), + ] + ) + == 0 + ) + receipt = json.loads(out.read_text()) + assert receipt["ledger_facts"] == "consumer_facts.jsonl" + assert receipt["communal_validation"]["sizing_shares"] == [0.2, 0.25] + with pytest.raises(SystemExit): + tool.main(["--ledger-facts", str(out), "--out", str(out)]) diff --git a/packages/microcosm-data/src/microcosm/data/contract.py b/packages/microcosm-data/src/microcosm/data/contract.py index 9b2757390d..201a80495f 100644 --- a/packages/microcosm-data/src/microcosm/data/contract.py +++ b/packages/microcosm-data/src/microcosm/data/contract.py @@ -420,13 +420,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 = ( - "214b09ea87bc37ac832c73e59fc04ff507b1f45db132906aeb75210480f4b598" + "4f9c71b596600d03494f4cc38cbb85f50e10d71325d2cb7f81a5e6a949ec5760" ) _UK_GATE_BATTERY_GATES_MANIFEST_SHA256 = ( - "9b597286621f1c0e4eb4e4f0c197bb4c38afa663ae456205483a082a6aac73fa" + "e3d97e488a821501801df23242acfbc3565dd7a39386aae387808caf116e188d" ) _UK_GATE_BATTERY_SPEC_FINGERPRINT = ( - "91d8d1a660a3823a95d2d13935f1af9a6927d8d647c9a24dc8c0511c104fcd3d" + "5d7f7401162a0bd53abf41995047b35bf31d20a4ed6251c5332b762060f43864" ) #: Spec entry id -> the legacy gate name whose observable detail checks #: apply unchanged (the battery re-keys the report by entry id; the gate @@ -447,8 +447,10 @@ def compatibility_claim_declarer_error(declared_by: object) -> str | None: "uk_brma_enum_domain": "enum_domain", "uk_ons_household_type_enum_domain": "enum_domain", "uk_capital_gains_asset_type_enum_domain": "enum_domain", + "uk_council_tax_band_domain": "enum_domain", "uk_uc_deduction_combination_enum_domain": "enum_domain", "uk_student_loan_plan_enum_domain": "enum_domain", + "uk_council_tax_band_domain_terminal": "enum_domain", "uk_target_surface": "target_surface", "uk_target_fit": "target_fit", "uk_input_mass_parity": "input_mass_parity", @@ -538,8 +540,10 @@ def compatibility_claim_declarer_error(declared_by: object) -> str | None: "uk_brma_enum_domain": ("enum_domain", "assembled"), "uk_ons_household_type_enum_domain": ("enum_domain", "assembled"), "uk_capital_gains_asset_type_enum_domain": ("enum_domain", "transferred"), + "uk_council_tax_band_domain": ("enum_domain", "transferred"), "uk_uc_deduction_combination_enum_domain": ("enum_domain", "terminal"), "uk_student_loan_plan_enum_domain": ("enum_domain", "terminal"), + "uk_council_tax_band_domain_terminal": ("enum_domain", "terminal"), "uk_calibration_reference_coverage": ( "calibration_reference_coverage", "terminal", @@ -795,6 +799,7 @@ def _uk_line_cut_tag_re(release_id: str) -> re.Pattern[str] | None: { "uk_brma_enum_domain", "uk_capital_gains_asset_type_enum_domain", + "uk_council_tax_band_domain", "uk_ons_household_type_enum_domain", "uk_stage_age_tail_targets", "uk_stage_cgt_support_split_mass", @@ -860,6 +865,7 @@ def _uk_line_cut_tag_re(release_id: str) -> re.Pattern[str] | None: "uk_release_input_coverage", "uk_release_input_coverage_manifest_current", "uk_student_loan_plan_enum_domain", + "uk_council_tax_band_domain_terminal", "uk_support", "uk_take_up_signal", "uk_target_surface", @@ -870,10 +876,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": ( - "075efba197b35648b64dae294d41ced01d49c4853f7ef7756ee335247ddce479" + "a52d74be5d8a8af05cb37b6d3643038de8d8491761a79d7bdbea1048aaee710d" ), "policy_sha256": ( - "65113710ee51bdc832b5de3d58b3f20b62cccfc7bbe51948368a9137aba452dc" + "e258e8712b7ada5796f7e7e446698a5ddabc6c793f7633093d07bd5d3197631b" ), }, "calibration_seam": { @@ -886,10 +892,10 @@ def _uk_line_cut_tag_re(release_id: str) -> re.Pattern[str] | None: }, "release_cut": { "gates_manifest_sha256": ( - "d8e43e2da482d28f8ed8e25115de6767390453f4d7a5f534c321dd236554acaa" + "7ea070e3efe5a36dfa246b175bb2de81e37fb52dd8b5a337249ebc02160112d4" ), "policy_sha256": ( - "9780a4a64e7a68dbe58e9b882c83be137c06cfde0ca6df13d527d2f6b8be8250" + "cc7a00cc21ebba070f6b0e48e5198ebe673d05305eeb7b247b16610be8927010" ), }, } @@ -4816,6 +4822,56 @@ def _check_local_area_checksum_ledger( ) +_AREA_SUPPORT_BLOCK_KEYS = frozenset({"gate", "floors", "below_floor"}) + + +def _check_area_support_block( + block: object, limitations: object, failures: list[str] +) -> None: + """The areas below a local release's support floor: codes only (microcosm#1278). + + Each listed area must carry its reviewed ``area_support_exclusion`` + limitation, because the support gate blocks release otherwise. + """ + if not isinstance(block, Mapping): + failures.append("release_manifest.json 'area_support' must be an object.") + return + extra = sorted(set(block) - _AREA_SUPPORT_BLOCK_KEYS) + if extra: + failures.append( + "release_manifest.json 'area_support' holds area codes and the floors " + f"only; it carries {extra}." + ) + below = block.get("below_floor") + if not isinstance(below, Mapping) or not all( + isinstance(level, str) + and isinstance(codes, list) + and all(isinstance(code, str) and code for code in codes) + for level, codes in below.items() + ): + failures.append( + "release_manifest.json 'area_support.below_floor' must map each " + "geography level to a list of area codes." + ) + return + excused = { + str(item.get("id")) + for item in (limitations if isinstance(limitations, list) else []) + if isinstance(item, Mapping) + } + unexcused = sorted( + f"{level}/{code}" + for level, codes in below.items() + for code in codes + if f"area_support_exclusion:{level}/{code}" not in excused + ) + if unexcused: + failures.append( + "release_manifest.json lists areas below the support floor without " + f"a reviewed area_support_exclusion limitation: {unexcused}." + ) + + def _check_local_area_release_manifest( manifest: Mapping, release_id: str, @@ -4870,6 +4926,8 @@ def _check_local_area_release_manifest( "release_manifest.json must carry a 'reviewed_limitations' list " "(explicitly empty if none) for a non-default local-area release." ) + if manifest.get("area_support") is not None: + _check_area_support_block(manifest["area_support"], limitations, failures) artifacts = manifest.get("artifacts") if not isinstance(artifacts, Mapping) or not artifacts: failures.append( 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 a761a5f3b7..b244011063 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 = ( - "214b09ea87bc37ac832c73e59fc04ff507b1f45db132906aeb75210480f4b598" + "4f9c71b596600d03494f4cc38cbb85f50e10d71325d2cb7f81a5e6a949ec5760" ) UK_GATE_BATTERY_GATES_MANIFEST_SHA256 = ( - "9b597286621f1c0e4eb4e4f0c197bb4c38afa663ae456205483a082a6aac73fa" + "e3d97e488a821501801df23242acfbc3565dd7a39386aae387808caf116e188d" ) UK_GATE_BATTERY_SPEC_FINGERPRINT = ( - "91d8d1a660a3823a95d2d13935f1af9a6927d8d647c9a24dc8c0511c104fcd3d" + "5d7f7401162a0bd53abf41995047b35bf31d20a4ed6251c5332b762060f43864" ) UK_GATE_BATTERY_DEGENERATE_EVIDENCE_SHA256 = ( "6a179222c6b6058ad9caacfd347f7bdb8cb98a62237b50d1fc1136df09337251" @@ -384,6 +384,7 @@ def _trusted_terminal_gate_signing_key(monkeypatch) -> None: "transferred", "enum_domain", ), + "uk_council_tax_band_domain": ("enum_domain", "transferred", "enum_domain"), "uk_uc_deduction_combination_enum_domain": ( "enum_domain", "terminal", @@ -394,6 +395,11 @@ def _trusted_terminal_gate_signing_key(monkeypatch) -> None: "terminal", "enum_domain", ), + "uk_council_tax_band_domain_terminal": ( + "enum_domain", + "terminal", + "enum_domain", + ), "uk_calibration_reference_coverage": ( "calibration_reference_coverage", "terminal", diff --git a/packages/microcosm-data/tests/engine_free/uk/test_uk_dense_release_contract.py b/packages/microcosm-data/tests/engine_free/uk/test_uk_dense_release_contract.py index 46fc4a3461..ea920695ae 100644 --- a/packages/microcosm-data/tests/engine_free/uk/test_uk_dense_release_contract.py +++ b/packages/microcosm-data/tests/engine_free/uk/test_uk_dense_release_contract.py @@ -708,3 +708,31 @@ def today(cls): failures = _failures(release_dir) assert "original candidate approvals" in failures assert "expired 2026-10-03" in failures + + +def test_the_area_support_block_names_only_excused_areas() -> None: + excused = [{"id": "area_support_exclusion:local_authority/E06000053"}] + failures: list[str] = [] + dc._check_area_support_block( + { + "gate": "uk_local_area_support", + "floors": {"minimum_rows": 50}, + "below_floor": {"local_authority": ["E06000053"]}, + }, + excused, + failures, + ) + assert failures == [] + + failures = [] + dc._check_area_support_block( + {"below_floor": {"local_authority": ["E09000001"]}, "rows": {"E09000001": 3}}, + excused, + failures, + ) + assert any("holds area codes and the floors only" in f for f in failures) + assert any("without a reviewed area_support_exclusion" in f for f in failures) + + failures = [] + dc._check_area_support_block({"below_floor": ["E06000053"]}, excused, failures) + assert any("must map each geography level" in f for f in failures) 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 b1d08453ca..e42a60bf75 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 @@ -5155,7 +5155,8 @@ "mortgage_requires_mortgaged_tenure", "housing_benefit_requires_rented_tenure", "council_tax_benefit_capped_at_council_tax", - "council_tax_rebate_equals_hrp_council_tax_benefit" + "council_tax_rebate_equals_hrp_council_tax_benefit", + "council_tax_band_within_its_nation" ], "seed": 0, "structural_zero_keys": [ 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 c789efe33d..8128dd7268 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":"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":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_savings_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":"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":"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":"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":"bsp_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.130.1"],["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":"85cc4fa3a3d4e36f7fb64caa9233fc1fc3449e7fa95b36f309581f7f24c9206b","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_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":"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":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tax_free_savings_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":"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":"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":"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":"bsp_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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_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.130.1"],["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.130.1"],["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.130.1"],["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.130.1"],["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":"425beb2093c2f603e6b7394b98dcb129b2162b73447b6e6a7be33b537ff2ffe1","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.130.1"],["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"}],"params":{"numerical_dependencies":[["policyengine-uk","2.130.1"],["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":"21579907f4f0d169caa01a35913c080208f52e0670350e6887bebb3de68a49a0","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right"],"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.130.1"],["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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","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","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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.130.1"],["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","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"}],"params":{"numerical_dependencies":[["policyengine-uk","2.130.1"],["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":"78b4ba120f353c529052389942945c6a3bd6a67e0e43085a3da81dce6101cb8c","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","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age"],"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"}],"params":{"numerical_dependencies":[["policyengine-uk","2.130.1"],["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":"fd24f50655eef56f843700740566b31abb94e8627cddd9d92f65738e87ef38a5","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","tax_free_childcare_spend_routed_share"],"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.130.1"],["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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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"],"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.130.1"],["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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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"],"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.130.1"],["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":"280a6d40c0175b03c32263b853fd89bdd1b78296a1022a879a7025ebc2c110b8","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions"],"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.130.1"],["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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","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.130.1"],["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":"e8675561448a71d762654e179b9f0e27c2c763048ec042b29734425ff2bd256c","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","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","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_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","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","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","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","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":"tax_free_savings_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":"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":"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":"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":"reports_rent_from_other_property","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.130.1"],["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":"5fb99f2b197ad2a38500ba1cb48528690bf0f3813b7f2b06d467dd51831a222d","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_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","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.130.1"],["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":"809f19fd33ff79ceda005e8cc3fa89ae40b297dceca26a7658b6259267987890","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_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"}],"params":{"numerical_dependencies":[["policyengine-uk","2.130.1"],["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":"9941b70870b0ced1ea1f51e9c9f12768005ea6c53ffdba1db3cb4e2ee030af87","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"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_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.130.1"],["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":"46f12fdf9228f721d860ff7858b78b25406bb8737628acf63ac17d44d549f657","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","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_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.130.1"],["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","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_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.130.1"],["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 property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","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.130.1"],["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":"b73c8f05cdb1d1931c2d6136b6825acec9cce1ff6fdafba3ad7a42de5ced6680","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_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.130.1"],["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":"a563642e6ed09c919a14aeaa524ea260e5506ce2e6c19043c6ee86f1b245e147","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.130.1"],["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":"e071d1009892f299d03bc7be086bb8ed5ee9c8206e6a98c2715d6391ecc0b3ce","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"226ab12a5b97f28445e73c6dfde9a24c79b66721405cbd32a7378036eba37416","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"77ec251375a9fbb651239d72b32be01e7202c352325da97cab940fb5f444743c","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_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","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"93b86a8b8bbb49caebab64381c716da2d78eb7cd43d0bf1ee9edbf3a07b64539","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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":"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.130.1"],["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":"ecdb9e361778e22b5563a29b277854e8deb4ae3bb1760a5a17dadd4b7490e491","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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_value","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_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.130.1"],["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":"40440a087f84967c734a1204f1dedcc2432556c7ce2a41f3c38bc9055f324bfa","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.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"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"44f5cf1cf0a91bf7a9f167b5ed2ea10a1f5d8a683d4e0f971a719d711f6f8c55","time_period":"2024"},"population":"child_benefit_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":["child_benefit_opts_out","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age"],"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.130.1"],["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":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"child_benefit_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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"9c2b8f41dbc48b0d4eab15d60af19870660f639affaa362f60bf91c6bfac439f","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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"ee30278543cc0297a5366d855b7753aa04af5518971594c193c52be36bf8a7b4","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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported","tax_free_savings_income"],"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.130.1"],["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":"8c35e24bf32956c632820c6d4655261eb9f4aea372664233d8d576883a30619f","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","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.130.1"],["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":"b79ce806015de2f1e1703fa68bf4ad871c6df54b5b32633c864632ab68919a48","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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"663c3c4e73b9b9e542af1572662e13619b45ef4cb8cba4e07e6d55913b5c9344","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.130.1"],["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":"dd6bb3566aeb53ba3cde2ba760bf229ba913a4320d0fab66029dd2e46d32d449","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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_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","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","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","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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":"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.130.1"],["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":"a64ac17ecb296b12171a1c5f3eb0b4dcaac9f32d08cffb95d7b87d094aeec693","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","current_education","highest_education","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.130.1"],["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":"f2936c5e22a0e9b097437e3f3aabaf06c4561d5c25a9b7c05e720a6553f73bbc","time_period":"2024"},"population":"cgt_residential_split","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":"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":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_savings_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":"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":"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":"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":"bsp_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.130.1"],["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":"85cc4fa3a3d4e36f7fb64caa9233fc1fc3449e7fa95b36f309581f7f24c9206b","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_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":"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":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tax_free_savings_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":"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":"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":"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":"bsp_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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_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.130.1"],["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.130.1"],["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.130.1"],["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.130.1"],["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":"425beb2093c2f603e6b7394b98dcb129b2162b73447b6e6a7be33b537ff2ffe1","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.130.1"],["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"}],"params":{"numerical_dependencies":[["policyengine-uk","2.130.1"],["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":"21579907f4f0d169caa01a35913c080208f52e0670350e6887bebb3de68a49a0","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right"],"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.130.1"],["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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","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","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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.130.1"],["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","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"}],"params":{"numerical_dependencies":[["policyengine-uk","2.130.1"],["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":"78b4ba120f353c529052389942945c6a3bd6a67e0e43085a3da81dce6101cb8c","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","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age"],"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"}],"params":{"numerical_dependencies":[["policyengine-uk","2.130.1"],["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":"fd24f50655eef56f843700740566b31abb94e8627cddd9d92f65738e87ef38a5","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","tax_free_childcare_spend_routed_share"],"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.130.1"],["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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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"],"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.130.1"],["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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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"],"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.130.1"],["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":"280a6d40c0175b03c32263b853fd89bdd1b78296a1022a879a7025ebc2c110b8","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions"],"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.130.1"],["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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","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.130.1"],["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":"e8675561448a71d762654e179b9f0e27c2c763048ec042b29734425ff2bd256c","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","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","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_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","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","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","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","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":"tax_free_savings_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":"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":"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":"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":"reports_rent_from_other_property","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.130.1"],["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":"5fb99f2b197ad2a38500ba1cb48528690bf0f3813b7f2b06d467dd51831a222d","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_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","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.130.1"],["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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_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"}],"params":{"numerical_dependencies":[["policyengine-uk","2.130.1"],["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":"9941b70870b0ced1ea1f51e9c9f12768005ea6c53ffdba1db3cb4e2ee030af87","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"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_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.130.1"],["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":"46f12fdf9228f721d860ff7858b78b25406bb8737628acf63ac17d44d549f657","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","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_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.130.1"],["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","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_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.130.1"],["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 property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","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.130.1"],["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":"b73c8f05cdb1d1931c2d6136b6825acec9cce1ff6fdafba3ad7a42de5ced6680","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_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.130.1"],["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":"a563642e6ed09c919a14aeaa524ea260e5506ce2e6c19043c6ee86f1b245e147","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.130.1"],["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":"e071d1009892f299d03bc7be086bb8ed5ee9c8206e6a98c2715d6391ecc0b3ce","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"226ab12a5b97f28445e73c6dfde9a24c79b66721405cbd32a7378036eba37416","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"77ec251375a9fbb651239d72b32be01e7202c352325da97cab940fb5f444743c","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_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","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"93b86a8b8bbb49caebab64381c716da2d78eb7cd43d0bf1ee9edbf3a07b64539","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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":"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.130.1"],["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":"ecdb9e361778e22b5563a29b277854e8deb4ae3bb1760a5a17dadd4b7490e491","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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_value","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_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.130.1"],["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":"40440a087f84967c734a1204f1dedcc2432556c7ce2a41f3c38bc9055f324bfa","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.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"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"44f5cf1cf0a91bf7a9f167b5ed2ea10a1f5d8a683d4e0f971a719d711f6f8c55","time_period":"2024"},"population":"child_benefit_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":["child_benefit_opts_out","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age"],"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.130.1"],["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":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"child_benefit_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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"9c2b8f41dbc48b0d4eab15d60af19870660f639affaa362f60bf91c6bfac439f","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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"ee30278543cc0297a5366d855b7753aa04af5518971594c193c52be36bf8a7b4","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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported","tax_free_savings_income"],"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.130.1"],["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":"8c35e24bf32956c632820c6d4655261eb9f4aea372664233d8d576883a30619f","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","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.130.1"],["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":"b79ce806015de2f1e1703fa68bf4ad871c6df54b5b32633c864632ab68919a48","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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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.130.1"],["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":"663c3c4e73b9b9e542af1572662e13619b45ef4cb8cba4e07e6d55913b5c9344","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.130.1"],["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":"dd6bb3566aeb53ba3cde2ba760bf229ba913a4320d0fab66029dd2e46d32d449","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","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","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","has_fuel_consumption","uses_energy_prepayment_meter","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","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_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","private_pension_income","tax_free_savings_income","savings_interest_income","dividend_income","property_income","reports_rent_from_other_property","maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","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","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","bsp_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","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","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","other_investment_income","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_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":"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.130.1"],["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":"a64ac17ecb296b12171a1c5f3eb0b4dcaac9f32d08cffb95d7b87d094aeec693","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","current_education","highest_education","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.130.1"],["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":"f2936c5e22a0e9b097437e3f3aabaf06c4561d5c25a9b7c05e720a6553f73bbc","time_period":"2024"},"population":"cgt_residential_split","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/test_support/microcosm_build/uk_spi_housing_shell.py b/test_support/microcosm_build/uk_spi_housing_shell.py index df62e3b8e1..085d4ab1cf 100644 --- a/test_support/microcosm_build/uk_spi_housing_shell.py +++ b/test_support/microcosm_build/uk_spi_housing_shell.py @@ -50,7 +50,9 @@ def housing_shell_tables(n_frs: int = 600, n_spi: int = 200, seed: int = 0): "tenure_type": tenure, "accommodation_type": accommodation, "num_bedrooms": np.where(high, 4, 2).astype(np.int64), - "council_tax_band": np.where(high, "F", "B"), + # Northern Ireland pays domestic rates; the FRS spine stores the + # placeholder band there. + "council_tax_band": np.where(ni, "D", np.where(high, "F", "B")), "council_tax": np.where(ni, 0.0, np.where(high, 2800.0, 1300.0)), "council_tax_reported": np.where(ni, 0.0, np.where(high, 2800.0, 1300.0)), "rent": np.where(rented, 0.1 * income + 3000.0, 0.0), diff --git a/tools/assemble_uk_dense_release_dir.py b/tools/assemble_uk_dense_release_dir.py index a205cae1e7..f1a13951d2 100644 --- a/tools/assemble_uk_dense_release_dir.py +++ b/tools/assemble_uk_dense_release_dir.py @@ -229,6 +229,33 @@ def _reviewed_limitations( return limitations +def _area_support_block(solve: Mapping[str, object]) -> dict[str, object]: + """The areas below the local support floor, as codes only (microcosm#1278). + + The support gate blocks release, so an area of a released file sits below + a floor only under a reviewed exclusion the gate stood on, and those + entries name the areas. The counts stay in the signed gate report. + """ + from microcosm.build.uk_runtime.battery_bindings import uk_area_support_floors + + exclusions = _mapping( + solve.get("area_support_exclusions"), "area_support_exclusions" + ) + below: dict[str, list[str]] = {} + for key in exclusions.get("entries_stood_on") or []: + level, separator, code = str(key).partition("/") + if not separator or not level or not code: + raise SystemExit( + f"error: area support exclusion {key!r} is not '/'" + ) + below.setdefault(level, []).append(code) + return { + "gate": "uk_local_area_support", + "floors": uk_area_support_floors(), + "below_floor": {level: sorted(codes) for level, codes in sorted(below.items())}, + } + + def _assemble(args: argparse.Namespace) -> dict[str, object]: candidate_dir: Path = args.candidate_dir manifest = _load_json( @@ -737,6 +764,7 @@ def artifact(kind: str, path: str, sha256: str) -> dict[str, str]: }, }, "reviewed_limitations": gate_summary["reviewed_limitations"], + "area_support": _area_support_block(solve), "description": f"UK dense joint national + local line assembled from attempt {attempt_id} at immutable cut {cut_tag}; inspect lane, never the default slot.", "publisher_labels": { "obr": "Office for Budget Responsibility", diff --git a/tools/build_uk_ledger_compile_parity_signed_differences.py b/tools/build_uk_ledger_compile_parity_signed_differences.py index b115f17d06..5431cc4667 100644 --- a/tools/build_uk_ledger_compile_parity_signed_differences.py +++ b/tools/build_uk_ledger_compile_parity_signed_differences.py @@ -751,6 +751,35 @@ def _add_signed_rationale_notes( ) +def _small_cell_deferral_rationales() -> dict[tuple[str, str], str]: + """(target id, area id) -> the signed rationale of each small-cell deferral. + + A cell the incumbent carries but a signed small-cell rule defers is + fixture-only here; its rationale is the one its deferral was signed with, + which names the rule (microcosm#1278). + """ + + def committed(resource: str) -> dict: + return json.loads( + importlib_resources.files(UK_PACKAGE) + .joinpath(resource) + .read_text(encoding="utf-8") + ) + + rule_ids = { + str(rule["rule_id"]) + for rule in committed("local_small_cell_rule.json")["rules"] + } + return { + (str(deferral["target_id"]), str(area)): str(deferral["rationale"]) + for deferral in committed("local_target_reference_membership.json")[ + "signed_deferrals" + ] + if deferral["reason_id"] in rule_ids + for area in deferral["area_ids"] + } + + def _add_local_signed_rationale_notes(report: dict[str, object]) -> None: """Replace generic classifier reasons with the ruled per-family rationales. @@ -761,13 +790,16 @@ def _add_local_signed_rationale_notes(report: dict[str, object]) -> None: """ metric_by_target_id = _local_metric_by_target_id() + small_cells = _small_cell_deferral_rationales() for row in report.get("differences", ()): if not isinstance(row, dict): continue - prefix = str(row.get("name", "")).split("@", 1)[0] + prefix, _, area = str(row.get("name", "")).partition("@") metric = metric_by_target_id.get(prefix, prefix) kind = str(row.get("kind", "")) - if metric in _DEVOLVED_RENT_METRICS: + if kind == "fixture_only" and (prefix, area) in small_cells: + row["reason"] = small_cells[(prefix, area)] + elif metric in _DEVOLVED_RENT_METRICS: row["reason"] = _DEVOLVED_RENT_FIXTURE_ONLY_RATIONALE elif kind == "calibration_drift" and metric in _COUNCIL_TAX_BAND_METRICS: row["reason"] = _COUNCIL_TAX_BAND_DRIFT_RATIONALE diff --git a/tools/generate_uk_local_target_references.py b/tools/generate_uk_local_target_references.py index b4de93baa0..48fc33b820 100644 --- a/tools/generate_uk_local_target_references.py +++ b/tools/generate_uk_local_target_references.py @@ -583,8 +583,8 @@ def add( rationale=( "E06000053 and E09000001 are reviewed exclusions of the " "local-authority support floor (uk/local_area_support_" - "exclusions.json, microcosm#762 A4): respectively 7 and 14 " - "positive-weight rows at K=4, and 17 and 49 at K=10. Their own " + "exclusions.json, microcosm#762 A4): each misses the floor at " + "every K measured. Their own " "local-authority cells are signed-deferred on the same " "evidence; their rows stay in the solve through the " "constituency families and the national rows (A14 amendment " diff --git a/tools/score_uk_local_candidate.py b/tools/score_uk_local_candidate.py index fb9fddd76e..b98a48c4b4 100644 --- a/tools/score_uk_local_candidate.py +++ b/tools/score_uk_local_candidate.py @@ -33,8 +33,12 @@ #: The compiled local reference count the score covers. microcosm#1123 #: regenerated the UK target surface on the 942a1fa feed and moved it from #: 20,885 to 21,804 (docs/evidence/uk-target-surface-1123/surface-diff.json, -#: ``register_completeness.compiled_local_reference_count``). -UK_LOCAL_ACTIVE_REFERENCE_COUNT = 21_804 +#: ``register_completeness.compiled_local_reference_count``); microcosm#1240 +#: added the high-value homes cells, and microcosm#1278 signed the two +#: small-cell rules (uk/local_small_cell_rule.json), which defer 208 cells, +#: and moved it to 24,269 (uk/local_target_reference_membership.json, +#: ``active_reference_count``). +UK_LOCAL_ACTIVE_REFERENCE_COUNT = 24_269 _LOCAL_GRAINS = ("constituency", "local_authority", "la") UK_LOCAL_SCORE_TARGET_PERIOD = 2025 #: The incumbent is scored from published weights, never re-solved, so no diff --git a/tools/uk_target_surface_receipt.py b/tools/uk_target_surface_receipt.py index 7bd260c6ed..e26c84e4e7 100644 --- a/tools/uk_target_surface_receipt.py +++ b/tools/uk_target_surface_receipt.py @@ -186,12 +186,12 @@ def _national_reconciliation_summary( } -#: Census residence-type tables the communal validation reads (#1123, -#: decision 2: no subtraction yet, a receipt only): ONS RM120 for England and -#: Wales, NRS UV101a for Scotland. Areas whose communal residents make up at -#: least STUDENT_COMMUNAL_SHARE of their 18-24 residents are listed as student -#: areas, where the age-band targets count residents the household frame -#: cannot hold. +#: Census residence-type tables the communal receipt reads (#1123, #1278): ONS +#: RM120 for England and Wales and NRS UV101a for Scotland carry both residence +#: types by age at constituency and local-authority grain. Areas whose +#: communal residents make up at least STUDENT_COMMUNAL_SHARE of their 18-24 +#: residents are listed as student areas, where the age-band targets count +#: residents the household frame cannot hold. _COMMUNAL_TABLES = { "ons.census2021_residents": ( "C2021_AGE_24_NAME", @@ -200,48 +200,137 @@ def _national_reconciliation_summary( ), "nrs.census2022_residents": ("Age", "Residence Type Indicator", "Sex"), } +#: Northern Ireland: NISRA CT0105 counts communal residents by district, age +#: band, sex and position (no household count), and the only district +#: population by age in the feed is NISRA's mid-2025 estimate. Its shares +#: spread each CT0105 band evenly over its single years and divide by that +#: estimate, so they are marked approximate. +_NI_COMMUNAL_CONCEPT = "nisra.census2021_communal_residents" +_NI_POPULATION_CONCEPT = "ons.mid_year_population_estimate" +_NI_OLDEST_SINGLE_YEAR = 90 STUDENT_COMMUNAL_SHARE = 0.10 +#: The local age cells' ten-year bands, then 80 and over (the region tier's +#: 80-89 row; every census residence-type table stops at 85 and over). +COMMUNAL_AGE_BANDS: tuple[tuple[int, int | None], ...] = ( + *((lower, lower + 10) for lower in range(0, 80, 10)), + (80, None), +) +#: A band whose communal share is s puts the private-household target a +#: fraction s below the total-resident row the incumbent evaluation gates at +#: 25% (microcosm#1278 sizing of the age-universe change). +SIZING_SHARES = (0.20, 0.25) + + +def _band_key(band: tuple[int, int | None]) -> str: + lower, upper = band + return f"{lower}_plus" if upper is None else f"{lower}_{upper}" + + +def _band_of(ages: tuple[int, int]) -> str | None: + """The ten-year band a census age category falls wholly inside, if any.""" + + low, high = ages + for band in COMMUNAL_AGE_BANDS: + lower, upper = band + if low >= lower and (upper is None or high < upper): + return _band_key(band) + return None def _age_range(label: str) -> tuple[int, int] | None: import re numbers = [int(value) for value in re.findall(r"\d+", str(label))] - if "under 1" in str(label).lower(): + text = str(label).lower() + if "under 1" in text: return (0, 0) + if "and under" in text and len(numbers) == 1: + return (0, numbers[0]) if len(numbers) == 2: return (numbers[0], numbers[1]) - if len(numbers) == 1 and "over" in str(label).lower(): + if len(numbers) == 1 and ("over" in text or "+" in text): return (numbers[0], 200) if len(numbers) == 1: return (numbers[0], numbers[0]) return None -def _communal_validation(ledger_facts: Path) -> dict[str, Any]: - """Communal-establishment residents per area: a validation receipt only.""" +def _share_summary(shares: dict[str, float], *, threshold_list: bool) -> dict[str, Any]: + values = sorted(shares.values()) + summary: dict[str, Any] = { + "areas": len(values), + "median_share": float(np.median(values)) if values else None, + "areas_at_or_above": { + f"{share:.2f}": sum(value >= share for value in values) + for share in SIZING_SHARES + }, + } + if threshold_list: + summary["areas_at_or_above_lowest"] = sorted( + ( + {"area": area, "communal_share": share} + for area, share in shares.items() + if share >= SIZING_SHARES[0] + ), + key=lambda row: (-row["communal_share"], row["area"]), + ) + return summary + + +def _communal_validation( + ledger_facts: Path, *, region_by_area: dict[str, str] | None = None +) -> dict[str, Any]: + """Communal-establishment residents per area and age band: a receipt only.""" path = ( ledger_facts / "consumer_facts.jsonl" if ledger_facts.is_dir() else ledger_facts ) totals: dict[tuple[str, str], dict[str, float]] = {} + ni_communal: dict[str, dict[int, float]] = {} + ni_population: dict[str, dict[int, float]] = {} with path.open() as handle: for line in handle: - if ( - "census2021_residents" not in line - and "census2022_residents" not in line - ): + census = "census2021_residents" in line or "census2022_residents" in line + ni = _NI_COMMUNAL_CONCEPT in line or ( + _NI_POPULATION_CONCEPT in line and "lgd_2014" in line + ) + if not census and not ni: continue fact = json.loads(line) - concept = (fact.get("observed_measure") or {}).get("source_concept") - keys = _COMMUNAL_TABLES.get(str(concept)) + concept = str((fact.get("observed_measure") or {}).get("source_concept")) + geography = fact.get("geography") or {} + dimensions = fact.get("dimensions") or {} + value = float(fact.get("value") or 0.0) + if concept == _NI_COMMUNAL_CONCEPT: + if str(geography.get("level")) != "local_authority": + continue + ages = _age_range(str(dimensions.get("Age", ""))) + if ages is None: + continue + low, high = ages[0], min(ages[1], _NI_OLDEST_SINGLE_YEAR) + per_year = value / (high - low + 1) + cell = ni_communal.setdefault(str(geography.get("id")), {}) + for age in range(low, high + 1): + cell[age] = cell.get(age, 0.0) + per_year + continue + if concept == _NI_POPULATION_CONCEPT: + if str(geography.get("vintage")) != "lgd_2014": + continue + if (fact.get("period") or {}).get("value") != 2025: + continue + ages = _age_range(str(dimensions.get("age", ""))) + if ages is None: + continue + cell = ni_population.setdefault(str(geography.get("id")), {}) + age = min(ages[0], _NI_OLDEST_SINGLE_YEAR) + cell[age] = cell.get(age, 0.0) + value + continue + keys = _COMMUNAL_TABLES.get(concept) if keys is None: continue - dimensions = fact.get("dimensions") or {} age_label, residence, sex = (str(dimensions.get(key, "")) for key in keys) if not sex.lower().startswith("all"): continue - geography = fact.get("geography") or {} level = str(geography.get("level")) if level not in {"constituency", "local_authority"}: continue @@ -253,28 +342,38 @@ def _communal_validation(ledger_facts: Path) -> dict[str, Any]: if "household" in residence.lower() else "all" ) - value = float(fact.get("value") or 0.0) if age_label.lower() == "total": cell[f"{residence_key}_all_ages"] = ( cell.get(f"{residence_key}_all_ages", 0.0) + value ) continue ages = _age_range(age_label) - if ages is not None and 18 <= ages[0] and ages[1] <= 24: + if ages is None: + continue + if 18 <= ages[0] and ages[1] <= 24: cell[f"{residence_key}_18_24"] = ( cell.get(f"{residence_key}_18_24", 0.0) + value ) + band = _band_of(ages) + if band is not None: + cell[f"{residence_key}_{band}"] = ( + cell.get(f"{residence_key}_{band}", 0.0) + value + ) + band_keys = [_band_key(band) for band in COMMUNAL_AGE_BANDS] receipt: dict[str, Any] = { "basis": ( "Census 2021 (England and Wales, RM120) and 2022 (Scotland, UV101a) " "usual residents by residence type; Northern Ireland's district " - "table (CT0105) is not split by area grain here. Validation only: " - "the age-band targets still count communal residents (#1123)." + "table (CT0105) is approximate (see northern_ireland_local_authority). " + "Validation and sizing only: the age-band targets still count " + "communal residents (#1123, #1278)." ), "student_communal_share": STUDENT_COMMUNAL_SHARE, + "sizing_shares": list(SIZING_SHARES), } for level in ("constituency", "local_authority"): rows = [] + band_shares: dict[str, dict[str, float]] = {key: {} for key in band_keys} for (cell_level, area), cell in sorted(totals.items()): if cell_level != level: continue @@ -291,6 +390,14 @@ def _communal_validation(ledger_facts: Path) -> dict[str, Any]: "communal_share_18_24": young_communal / young if young else None, } ) + for key in band_keys: + band_total = cell.get(f"communal_{key}", 0.0) + cell.get( + f"household_{key}", 0.0 + ) + if band_total: + band_shares[key][area] = ( + cell.get(f"communal_{key}", 0.0) / band_total + ) shares = [ row["communal_share"] for row in rows if row["communal_share"] is not None ] @@ -309,10 +416,87 @@ def _communal_validation(ledger_facts: Path) -> dict[str, Any]: ), key=lambda row: -row["communal_share_18_24"], ), + "bands": { + key: _share_summary(band_shares[key], threshold_list=True) + for key in band_keys + }, + } + ni_shares: dict[str, dict[str, float]] = {key: {} for key in band_keys} + ni_counts: dict[str, dict[str, tuple[float, float]]] = {} + for area, communal_by_age in sorted(ni_communal.items()): + population = ni_population.get(area) + if not population: + continue + for band in COMMUNAL_AGE_BANDS: + lower, upper = band + last = _NI_OLDEST_SINGLE_YEAR if upper is None else upper - 1 + communal = sum( + communal_by_age.get(age, 0.0) for age in range(lower, last + 1) + ) + total = sum(population.get(age, 0.0) for age in range(lower, last + 1)) + ni_counts.setdefault(area, {})[_band_key(band)] = (communal, total) + if total: + ni_shares[_band_key(band)][area] = communal / total + receipt["northern_ireland_local_authority"] = { + "approximate": True, + "basis": ( + "NISRA CT0105 communal residents by district (census 2021), each age " + "band spread evenly over its single years, over NISRA's mid-2025 " + "district population by single year." + ), + "bands": { + key: _share_summary(ni_shares[key], threshold_list=True) + for key in band_keys + }, + } + if region_by_area: + region_totals: dict[str, dict[str, float]] = {} + for (level, area), cell in totals.items(): + if level != "local_authority" or area not in region_by_area: + continue + region = region_totals.setdefault(region_by_area[area], {}) + for key, value in cell.items(): + region[key] = region.get(key, 0.0) + value + for area, bands in ni_counts.items(): + region = region_totals.setdefault(region_by_area.get(area, "N92000002"), {}) + for key, (communal, total) in bands.items(): + region[f"communal_{key}"] = ( + region.get(f"communal_{key}", 0.0) + communal + ) + region[f"household_{key}"] = region.get(f"household_{key}", 0.0) + ( + total - communal + ) + receipt["region"] = { + "composed_from": "local authorities (Northern Ireland approximate)", + "bands": { + key: { + region: ( + cell.get(f"communal_{key}", 0.0) + / ( + cell.get(f"communal_{key}", 0.0) + + cell.get(f"household_{key}", 0.0) + ) + ) + for region, cell in sorted(region_totals.items()) + if cell.get(f"communal_{key}", 0.0) + + cell.get(f"household_{key}", 0.0) + } + for key in band_keys + }, } return receipt +def _region_by_local_authority() -> dict[str, str]: + crosswalk = json.loads( + ( + Path(__file__).resolve().parents[1] + / "packages/microcosm-build/src/microcosm/build/uk/local_area_crosswalk.json" + ).read_text() + ) + return dict(crosswalk["levels"]["local_authority"]["region_code_by_area"]) + + def _group_summary(cross_geography: dict[str, Any]) -> list[dict[str, Any]]: return [ { @@ -372,7 +556,11 @@ def build_receipt(args: argparse.Namespace) -> dict[str, Any]: }, "uprating_holds": inputs.get("uprating_holds"), "communal_validation": ( - _communal_validation(Path(args.ledger_facts)) if args.communal else None + _communal_validation( + Path(args.ledger_facts), region_by_area=_region_by_local_authority() + ) + if args.communal + else None ), "national_reconciliation": _national_reconciliation_summary( inputs.get("national_reconciliation") @@ -390,6 +578,8 @@ def build_receipt(args: argparse.Namespace) -> dict[str, Any]: # Signed cells that are off the surface and still count in their leg: # deferred with a value, or implied from the target's other tier. "off_surface_cells": cross.get("off_surface_cells"), + # The small-cell rule's deferrals: in the frame, never in the solve. + "small_cell_deferrals": cross.get("small_cell_deferrals"), "subset_relations": cross.get("subset_relations"), "partitions": cross.get("partitions"), "coverage": cross.get("coverage"), @@ -447,10 +637,9 @@ def diff_receipts(before: dict[str, Any], after: dict[str, Any]) -> dict[str, An def main(argv: list[str] | None = None) -> int: parser = argparse.ArgumentParser(description=__doc__.split("\n\n", 1)[0]) parser.add_argument("--ledger-facts", type=Path, required=True) - parser.add_argument("--ladder", type=Path, required=True) + parser.add_argument("--ladder", type=Path) parser.add_argument( "--review-date", - required=True, help="Exclusion evaluation date (YYYY-MM-DD); pinned so two receipts compare.", ) parser.add_argument("--calibration-year", type=int, default=2025) @@ -460,10 +649,31 @@ def main(argv: list[str] | None = None) -> int: action="store_true", help="Add the census communal-establishment validation receipt (#1123).", ) + parser.add_argument( + "--communal-only", + action="store_true", + help=( + "Write only the communal receipt, without compiling the surface " + "(#1278 sizing); needs no ladder or review date." + ), + ) parser.add_argument("--out", type=Path, required=True) parser.add_argument("--diff-against", type=Path) parser.add_argument("--diff-out", type=Path) args = parser.parse_args(argv) + if args.communal_only: + receipt = { + "schema_version": RECEIPT_SCHEMA_VERSION, + "code_head": _git_head(), + "ledger_facts": Path(args.ledger_facts).name, + "communal_validation": _communal_validation( + Path(args.ledger_facts), region_by_area=_region_by_local_authority() + ), + } + args.out.write_text(json.dumps(receipt, indent=2, sort_keys=True) + "\n") + return 0 + if args.ladder is None or args.review_date is None: + parser.error("--ladder and --review-date are required unless --communal-only") receipt = build_receipt(args) args.out.write_text(json.dumps(receipt, indent=2, sort_keys=True) + "\n") print(json.dumps(receipt["counts"], sort_keys=True))