From 5b4f904d725757f77232774621b829d6563b3960 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 30 Sep 2026 07:02:22 -0400 Subject: [PATCH 01/70] Calibrate pension-age Housing Benefit to DWP's GB figures Replace the OBR table 4.9 Housing Benefit target, which is GB DWP-funded spending but was compared with UK-wide modelled Housing Benefit, with DWP Spring 2026 targets for Housing Benefit spending and claims over Pension Credit qualifying age in Great Britain. Targets can now name the countries they cover. The figures under Pension Credit qualifying age are kept but not calibrated: the model pays working-age Housing Benefit to too few records for a target to be met without concentrating it on a handful of them. Stop drawing would_claim_uc for benefit units whose adults have all reached State Pension age, keeping every other unit's draw unchanged. Require policyengine-uk 2.102.5, which lets pension-age families make new Housing Benefit claims (PolicyEngine/policyengine-uk#1901). Co-Authored-By: Claude Opus 5.5 --- .gitignore | 2 + changelog.d/hb-dwp-age-targets.fixed.md | 1 + policyengine_uk_data/datasets/frs.py | 42 +++ .../targets/build_loss_matrix.py | 14 +- policyengine_uk_data/targets/schema.py | 9 + .../targets/sources/dwp_housing_benefit.py | 190 ++++++++++++ policyengine_uk_data/targets/sources/obr.py | 7 +- .../tests/test_dwp_housing_benefit_targets.py | 277 ++++++++++++++++++ .../tests/test_would_claim_uc_pension_age.py | 56 ++++ pyproject.toml | 3 +- uv.lock | 87 +++++- 11 files changed, 674 insertions(+), 14 deletions(-) create mode 100644 changelog.d/hb-dwp-age-targets.fixed.md create mode 100644 policyengine_uk_data/targets/sources/dwp_housing_benefit.py create mode 100644 policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py create mode 100644 policyengine_uk_data/tests/test_would_claim_uc_pension_age.py diff --git a/.gitignore b/.gitignore index 9a741bc49..04136e33e 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ **/_build !policyengine_uk_data/storage/*.csv **/version.json +# Build output: household weights by local area, derived from FRS microdata +policyengine_uk_data/storage/local_geography_weights.csv.gz diff --git a/changelog.d/hb-dwp-age-targets.fixed.md b/changelog.d/hb-dwp-age-targets.fixed.md new file mode 100644 index 000000000..2c4c56708 --- /dev/null +++ b/changelog.d/hb-dwp-age-targets.fixed.md @@ -0,0 +1 @@ +Calibrate pension-age Housing Benefit to DWP's Great Britain spending and claims over Pension Credit qualifying age, replacing the OBR Housing Benefit target that the model compared with UK-wide Housing Benefit. Stop setting `would_claim_uc` for benefit units whose adults have all reached State Pension age, and build with policyengine-uk 2.102.5 so pension-age families can make new Housing Benefit claims. diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index e440d4869..4a95842bb 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -392,6 +392,39 @@ def derive_is_parent_from_frs_microdata( return is_adult_record & has_dependent_children +def derive_every_adult_over_state_pension_age( + person_benunit_ids, + is_adult, + is_over_state_pension_age, + benunit_ids, +) -> np.ndarray: + """Identify benefit units with an adult, all of whose adults have reached + State Pension age. + + Such a unit cannot claim Universal Credit (Welfare Reform Act 2012 + s.4(1)(b)). The inputs are policyengine-uk's ``is_adult`` and + ``is_SP_age``, as in the pension-age route of its + ``housing_benefit_eligible``, so an 18 or 19 year old dependant makes the + unit working-age here as it does there. + """ + + is_adult = np.asarray(is_adult, dtype=bool) + over = is_adult & np.asarray(is_over_state_pension_age, dtype=bool) + counts = ( + pd.DataFrame( + { + "benunit": np.asarray(person_benunit_ids), + "adults": is_adult.astype(int), + "over": over.astype(int), + } + ) + .groupby("benunit")[["adults", "over"]] + .sum() + .reindex(np.asarray(benunit_ids), fill_value=0) + ) + return ((counts.adults > 0) & (counts.over == counts.adults)).to_numpy() + + def _as_non_negative_array(values) -> np.ndarray: values = np.asarray(values, dtype=float) return np.maximum(np.nan_to_num(values, nan=0.0), 0.0) @@ -1537,10 +1570,19 @@ def _reported_benunit_mask(person_column: str) -> np.ndarray: pension_credit_rate, reported_mask=_reported_benunit_mask("pension_credit_reported"), ) + # A benefit unit whose adults have all reached State Pension age cannot + # claim Universal Credit, so it never gets would_claim_uc, even if it + # reports UC. The draw still covers every unit, so the random stream and + # every other unit's value are unchanged. pe_benunit["would_claim_uc"] = assign_takeup_with_reported_anchors( generator.random(len(pe_benunit)), universal_credit_rate, reported_mask=_reported_benunit_mask("universal_credit_reported"), + ) & ~derive_every_adult_over_state_pension_age( + person_benunit_ids=sim.calculate("person_benunit_id", year).values, + is_adult=sim.calculate("is_adult", year).values, + is_over_state_pension_age=sim.calculate("is_SP_age", year).values, + benunit_ids=pe_benunit.benunit_id, ) pe_benunit["would_claim_tfc"] = generator.random(len(pe_benunit)) < tfc_rate diff --git a/policyengine_uk_data/targets/build_loss_matrix.py b/policyengine_uk_data/targets/build_loss_matrix.py index 9552aeea2..44b34272c 100644 --- a/policyengine_uk_data/targets/build_loss_matrix.py +++ b/policyengine_uk_data/targets/build_loss_matrix.py @@ -113,7 +113,7 @@ def create_target_matrix( col = _compute_column(target, ctx, year) if col is None: continue - df[target.name] = col + df[target.name] = restrict_to_countries(col, ctx.country, target.countries) target_names.append(target.name) target_values.append(val) except Exception as e: @@ -122,6 +122,18 @@ def create_target_matrix( return df, pd.Series(target_values, index=target_names) +def restrict_to_countries(column, household_country, countries): + """Zero a household column outside the countries a target covers. + + ``countries`` of None means the target covers the whole UK, and the + column is returned unchanged. + """ + if countries is None: + return column + in_scope = np.isin(np.asarray(household_country), countries) + return np.asarray(column, dtype=float) * in_scope + + def _resolve_value(target: Target, year: int) -> float | None: """Get the target value for a year, falling back to nearest year. diff --git a/policyengine_uk_data/targets/schema.py b/policyengine_uk_data/targets/schema.py index 97b814678..0a678a228 100644 --- a/policyengine_uk_data/targets/schema.py +++ b/policyengine_uk_data/targets/schema.py @@ -19,6 +19,11 @@ class Unit(str, Enum): RATE = "rate" +# DWP statistics cover Great Britain: benefits for Northern Ireland residents +# are the Northern Ireland Executive's responsibility. +GREAT_BRITAIN = ("ENGLAND", "SCOTLAND", "WALES") + + class Target(BaseModel): """A single calibration target from an official statistical source. @@ -41,6 +46,10 @@ class Target(BaseModel): is_count: bool = False reference_url: str | None = None forecast_vintage: str | None = None + # Countries a national source covers when that is less than the UK, as + # values of the model's `country` variable. The loss matrix column only + # counts households in these countries. None means the whole UK. + countries: tuple[str, ...] | None = None # For targets needing custom simulation logic (UC splits, # counterfactuals). Excluded from serialisation. diff --git a/policyengine_uk_data/targets/sources/dwp_housing_benefit.py b/policyengine_uk_data/targets/sources/dwp_housing_benefit.py new file mode 100644 index 000000000..69d17f9b6 --- /dev/null +++ b/policyengine_uk_data/targets/sources/dwp_housing_benefit.py @@ -0,0 +1,190 @@ +"""DWP Housing Benefit targets by age group. + +Housing Benefit spending and caseload over and under Pension Credit +qualifying age, from DWP's benefit expenditure and caseload tables for the +Spring Forecast 2026 (Housing benefits sheet, nominal £ million and +thousands of claims, 2022-23 to 2024-25 outturn, forecast after). Financial +year 2025-26 is stored as 2025. + +Coverage is Great Britain: Housing Benefit for Northern Ireland residents is +paid under Northern Ireland legislation and sits outside DWP's figures, so +the model columns count GB households only. + +These targets replace OBR EFO table 4.9 "Housing benefit (not on JSA)". +That line is DWP-funded spending only, while DWP's tables count all +Housing Benefit paid, including the part local authorities fund (£0.79bn +in 2025-26). The age split sums to that full amount, so targeting both +would ask for two different GB totals. + +DWP splits claims by benefit rules rather than by age alone (Notes, note +5): the two lines equal its Pension Credit plus State Pension benefit +groups and its ESA plus other working-age groups. Under regulation 5 of +both Housing Benefit Regulations 2006 (SI 2006/213 and 2006/214), the +pension-age rules apply when the claimant or partner has reached the +qualifying age for Pension Credit, unless either is on Universal Credit, +Income Support, income-based JSA or income-related ESA. A benefit unit is +therefore over Pension Credit qualifying age here when one of its adults +has reached State Pension age and it gets none of those benefits. Mixed-age +couples who kept pension-age Housing Benefit after May 2019 fall in the +older group, as they do in DWP's benefit groups. + +Only the older group is calibrated. policyengine-uk pays working-age +Housing Benefit only as a continuing award to families that report it and +do not claim Universal Credit: 267 of the 770 working-age records that +report it, about 24,000 weighted claims in 2025-26 against DWP's 460,000. +DWP's working-age figure also includes temporary and supported +accommodation (together £5.2bn of Housing Benefit in 2025-26, not split by +age), which the FRS barely samples. A test build on 2026-09-30 that also +targeted the younger group reached DWP's £5.8bn by loading it onto about +three effective records, and fitted the other targets no better. The +younger group's figures stay here for diagnostics and tests. + +Source: https://www.gov.uk/government/publications/benefit-expenditure-and-caseload-tables-2026 +""" + +import numpy as np + +from policyengine_uk_data.targets.schema import GREAT_BRITAIN, Target, Unit + +_REFERENCE_URL = ( + "https://www.gov.uk/government/publications/" + "benefit-expenditure-and-caseload-tables-2026" +) +_VINTAGE = "spring_2026" + +# Benefits that keep a claim under the working-age Housing Benefit rules +# when the claimant or partner has reached Pension Credit qualifying age. +_WORKING_AGE_BENEFITS = ( + "universal_credit", + "income_support", + "jsa_income", + "esa_income", +) + +# Housing benefits sheet rows "Housing Benefit over/under Pension Credit +# qualifying age": expenditure in £ million (nominal) and caseload in +# thousands (annual average, rounded to the nearest thousand by DWP). +_SPENDING_GBP_M = { + "over": { + 2022: 5_890.1, + 2023: 6_248.1, + 2024: 6_851.0, + 2025: 7_114.7, + 2026: 7_268.9, + 2027: 7_340.4, + 2028: 7_464.4, + 2029: 7_747.9, + 2030: 7_941.3, + }, + "under": { + 2022: 9_689.1, + 2023: 9_524.5, + 2024: 8_603.5, + 2025: 5_778.1, + 2026: 5_205.3, + 2027: 5_493.8, + 2028: 5_788.5, + 2029: 6_151.5, + 2030: 6_405.4, + }, +} +_CASELOAD_THOUSANDS = { + "over": { + 2022: 1_121, + 2023: 1_108, + 2024: 1_104, + 2025: 1_109, + 2026: 1_082, + 2027: 1_057, + 2028: 1_040, + 2029: 1_036, + 2030: 1_042, + }, + "under": { + 2022: 1_388, + 2023: 1_243, + 2024: 968, + 2025: 460, + 2026: 328, + 2027: 339, + 2028: 349, + 2029: 361, + 2030: 372, + }, +} + + +def _over_pension_credit_age(ctx) -> np.ndarray: + """Benefit units assessed under the pension-age Housing Benefit rules.""" + adult = np.asarray(ctx.pe_person("is_adult"), dtype=bool) + over = adult & np.asarray(ctx.pe_person("is_SP_age"), dtype=bool) + any_over = ( + np.asarray(ctx.sim.map_result(over.astype(float), "person", "benunit")) > 0 + ) + on_working_age_benefit = np.zeros_like(any_over) + for benefit in _WORKING_AGE_BENEFITS: + on_working_age_benefit |= np.asarray(ctx.sim.calculate(benefit).values) > 0 + return any_over & ~on_working_age_benefit + + +# Age groups the calibration targets; see the module docstring. +_CALIBRATED_AGE_GROUPS = ("over",) + + +def _make_compute(age_group: str, count: bool): + def compute(ctx, target: Target, year: int) -> np.ndarray: + housing_benefit = np.asarray( + ctx.sim.calculate("housing_benefit").values, dtype=float + ) + in_group = _over_pension_credit_age(ctx) + if age_group == "under": + in_group = ~in_group + value = (housing_benefit > 0) if count else housing_benefit + return np.asarray(ctx.household_from_family(value * in_group), dtype=float) + + return compute + + +def get_targets() -> list[Target]: + return build_targets(_CALIBRATED_AGE_GROUPS) + + +def build_targets(age_groups=("over", "under")) -> list[Target]: + """Housing Benefit spending and claims targets for these age groups.""" + targets = [] + for age_group in age_groups: + name = f"dwp/housing_benefit/{age_group}_pension_credit_age" + targets.append( + Target( + name=name, + variable="housing_benefit", + source="dwp", + unit=Unit.GBP, + values={ + year: value * 1e6 + for year, value in _SPENDING_GBP_M[age_group].items() + }, + reference_url=_REFERENCE_URL, + forecast_vintage=_VINTAGE, + countries=GREAT_BRITAIN, + custom_compute=_make_compute(age_group, count=False), + ) + ) + targets.append( + Target( + name=f"{name}_claims", + variable="housing_benefit", + source="dwp", + unit=Unit.COUNT, + values={ + year: value * 1e3 + for year, value in _CASELOAD_THOUSANDS[age_group].items() + }, + is_count=True, + reference_url=_REFERENCE_URL, + forecast_vintage=_VINTAGE, + countries=GREAT_BRITAIN, + custom_compute=_make_compute(age_group, count=True), + ) + ) + return targets diff --git a/policyengine_uk_data/targets/sources/obr.py b/policyengine_uk_data/targets/sources/obr.py index ad4e3cf17..bb4fc0ce6 100644 --- a/policyengine_uk_data/targets/sources/obr.py +++ b/policyengine_uk_data/targets/sources/obr.py @@ -482,11 +482,10 @@ def read_49(row_num: int) -> dict[int, float]: result[fy[col]] = float(val) * 1e9 return result + # "Housing benefit (not on JSA)" is not targeted: it is DWP-funded GB + # spending only, and dwp_housing_benefit.py targets total GB Housing + # Benefit split by age instead. benefit_rows = { - "housing_benefit": ( - "Housing benefit (not on JSA)", - "housing_benefit", - ), "pip": ( "Disability living allowance and personal independence p", "pip", diff --git a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py new file mode 100644 index 000000000..f92c2976c --- /dev/null +++ b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py @@ -0,0 +1,277 @@ +"""Tests for the DWP Housing Benefit targets by age group and GB scope.""" + +from types import SimpleNamespace + +import numpy as np +import openpyxl +import pandas as pd +from hypothesis import given, settings +from hypothesis import strategies as st + +from policyengine_uk_data.targets import get_all_targets +from policyengine_uk_data.targets.build_loss_matrix import restrict_to_countries +from policyengine_uk_data.targets.schema import GREAT_BRITAIN, Unit +from policyengine_uk_data.targets.sources import dwp_housing_benefit, obr + +# Other rows of the same DWP Housing benefits sheet, transcribed separately: +# total Housing Benefit is AME within the welfare cap + AME outside it + LA +# funded (£ million), and the total caseload (thousands). +_DWP_TOTAL_GBP_M = { + 2022: 14_839.6 + 160.8 + 578.7, + 2023: 14_946.4 + 111.0 + 715.2, + 2024: 14_593.4 + 57.2 + 804.0, + 2025: 12_103.3 + 0.0 + 789.6, + 2026: 11_643.4 + 0.0 + 830.8, + 2027: 11_969.5 + 0.0 + 864.6, + 2028: 12_352.1 + 0.0 + 900.8, + 2029: 12_950.1 + 0.0 + 949.2, + 2030: 13_368.2 + 0.0 + 978.5, +} +_DWP_TOTAL_CASELOAD_K = { + 2022: 2_509, + 2023: 2_351, + 2024: 2_072, + 2025: 1_569, + 2026: 1_410, + 2027: 1_396, + 2028: 1_390, + 2029: 1_397, + 2030: 1_414, +} + +_CALIBRATED = { + "dwp/housing_benefit/over_pension_credit_age", + "dwp/housing_benefit/over_pension_credit_age_claims", +} +_ALL = _CALIBRATED | { + "dwp/housing_benefit/under_pension_credit_age", + "dwp/housing_benefit/under_pension_credit_age_claims", +} + + +def _targets(): + """Both age groups, including the one calibration leaves out.""" + return {t.name: t for t in dwp_housing_benefit.build_targets()} + + +def test_targets_cover_great_britain_in_pounds_and_claims(): + targets = _targets() + assert set(targets) == _ALL + for name, target in targets.items(): + assert target.countries == GREAT_BRITAIN + assert target.variable == "housing_benefit" + assert target.is_count == name.endswith("_claims") + assert target.unit == (Unit.COUNT if target.is_count else Unit.GBP) + over = targets["dwp/housing_benefit/over_pension_credit_age"] + under = targets["dwp/housing_benefit/under_pension_credit_age_claims"] + assert over.values[2025] == 7_114.7e6 + assert under.values[2025] == 460e3 + + +def test_age_split_reconciles_with_dwp_totals(): + """Over + under matches DWP's total, including LA-funded spending.""" + targets = _targets() + over = targets["dwp/housing_benefit/over_pension_credit_age"].values + under = targets["dwp/housing_benefit/under_pension_credit_age"].values + over_k = targets["dwp/housing_benefit/over_pension_credit_age_claims"].values + under_k = targets["dwp/housing_benefit/under_pension_credit_age_claims"].values + for year, total in _DWP_TOTAL_GBP_M.items(): + assert abs((over[year] + under[year]) / 1e6 - total) < 0.25, year + for year, total in _DWP_TOTAL_CASELOAD_K.items(): + # DWP rounds each caseload to the nearest thousand. + assert abs((over_k[year] + under_k[year]) / 1e3 - total) <= 1, year + + +def test_only_pension_age_housing_benefit_is_calibrated(): + housing_benefit_targets = { + t.name for t in get_all_targets() if t.variable == "housing_benefit" + } + assert housing_benefit_targets == _CALIBRATED + + +def test_obr_housing_benefit_row_is_not_parsed(): + wb = openpyxl.Workbook() + ws = wb.active + ws.title = "4.9" + ws["B2"] = "Housing benefit (not on JSA)1" + ws["B3"] = "Pension credit" + for row in (2, 3): + for col in "CDEFGHI": + ws[f"{col}{row}"] = 6.0 + names = {t.name for t in obr._parse_welfare(wb)} + assert "obr/pension_credit" in names + assert not any("housing_benefit" in name for name in names) + + +def _ctx( + benunit_of_person, + is_adult, + is_sp_age, + benunit_hb, + household_of_benunit, + benunit_benefits=None, +): + """Minimal loss-matrix context over explicit entity mappings. + + ``benunit_benefits`` maps benefit-unit variables such as + ``universal_credit`` to amounts; any other benefit is zero. + """ + benunit_of_person = np.asarray(benunit_of_person) + household_of_benunit = np.asarray(household_of_benunit) + n_benunits = len(benunit_hb) + n_households = household_of_benunit.max() + 1 if n_benunits else 0 + + def map_result(values, source, target): + values = np.asarray(values, dtype=float) + if (source, target) == ("person", "benunit"): + return np.bincount(benunit_of_person, values, minlength=n_benunits) + if (source, target) == ("benunit", "household"): + return np.bincount(household_of_benunit, values, minlength=n_households) + raise AssertionError((source, target)) + + person = {"is_adult": np.asarray(is_adult), "is_SP_age": np.asarray(is_sp_age)} + benunit_values = {"housing_benefit": benunit_hb, **(benunit_benefits or {})} + sim = SimpleNamespace( + map_result=map_result, + calculate=lambda variable: SimpleNamespace( + values=np.asarray( + benunit_values.get(variable, np.zeros(n_benunits)), dtype=float + ) + ), + ) + return SimpleNamespace( + sim=sim, + pe_person=lambda variable: person[variable], + household_from_family=lambda values: map_result(values, "benunit", "household"), + ) + + +def _column(ctx, name): + target = _targets()[name] + return target.custom_compute(ctx, target, 2025) + + +def test_benefit_rules_assign_mixed_age_couples(): + # Benefit units, one household each: pensioner couple; mixed-age couple + # on pension-age rules; working-age single; pensioner with an + # 18-year-old dependant; mixed-age couple whose younger partner gets + # income-related ESA; mixed-age couple on Universal Credit. + ctx = _ctx( + benunit_of_person=[0, 0, 1, 1, 2, 3, 3, 4, 4, 5, 5], + is_adult=[1] * 11, + is_sp_age=[1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0], + benunit_hb=[5_000, 4_000, 3_000, 2_000, 1_000, 500], + household_of_benunit=[0, 1, 2, 3, 4, 5], + benunit_benefits={ + "esa_income": [0, 0, 0, 0, 4_000, 0], + "universal_credit": [0, 0, 0, 0, 0, 6_000], + }, + ) + over = _column(ctx, "dwp/housing_benefit/over_pension_credit_age") + under = _column(ctx, "dwp/housing_benefit/under_pension_credit_age") + np.testing.assert_array_equal(over, [5_000, 4_000, 0, 2_000, 0, 0]) + np.testing.assert_array_equal(under, [0, 0, 3_000, 0, 1_000, 500]) + + +@st.composite +def _population(draw): + n_benunits = draw(st.integers(1, 12)) + n_households = draw(st.integers(1, n_benunits)) + household_of_benunit = draw( + st.lists( + st.integers(0, n_households - 1), + min_size=n_benunits, + max_size=n_benunits, + ) + ) + n_people = draw(st.integers(n_benunits, 4 * n_benunits)) + # Every benefit unit has at least one member. + benunit_of_person = list(range(n_benunits)) + draw( + st.lists( + st.integers(0, n_benunits - 1), + min_size=n_people - n_benunits, + max_size=n_people - n_benunits, + ) + ) + flags = st.lists(st.booleans(), min_size=n_people, max_size=n_people) + benunit_hb = draw( + st.lists( + st.one_of(st.just(0.0), st.floats(1, 50_000)), + min_size=n_benunits, + max_size=n_benunits, + ) + ) + benefit = st.lists( + st.sampled_from([0.0, 100.0]), min_size=n_benunits, max_size=n_benunits + ) + return dict( + benunit_of_person=benunit_of_person, + is_adult=draw(flags), + is_sp_age=draw(flags), + benunit_hb=benunit_hb, + household_of_benunit=household_of_benunit, + benunit_benefits={ + name: draw(benefit) for name in dwp_housing_benefit._WORKING_AGE_BENEFITS + }, + ) + + +@settings(max_examples=200, deadline=None) +@given(_population()) +def test_age_split_partitions_housing_benefit(population): + """Over + under is all Housing Benefit, in pounds and in claims, and + the older group is exactly the units with an adult over SPA and no + working-age income benefit.""" + ctx = _ctx(**population) + household = np.asarray(population["household_of_benunit"]) + hb = np.asarray(population["benunit_hb"]) + n_households = household.max() + 1 + over = _column(ctx, "dwp/housing_benefit/over_pension_credit_age") + under = _column(ctx, "dwp/housing_benefit/under_pension_credit_age") + over_k = _column(ctx, "dwp/housing_benefit/over_pension_credit_age_claims") + under_k = _column(ctx, "dwp/housing_benefit/under_pension_credit_age_claims") + np.testing.assert_allclose( + over + under, np.bincount(household, hb, minlength=n_households) + ) + np.testing.assert_array_equal( + over_k + under_k, np.bincount(household, hb > 0, minlength=n_households) + ) + people = pd.DataFrame( + { + "benunit": population["benunit_of_person"], + "older": np.asarray(population["is_adult"]) + & np.asarray(population["is_sp_age"]), + } + ) + older_unit = ( + people.groupby("benunit").older.any().reindex(range(len(hb)), fill_value=False) + ).to_numpy() + on_working_age_benefit = np.any( + [np.asarray(v) > 0 for v in population["benunit_benefits"].values()], axis=0 + ) + expected_over = np.bincount( + household, hb * (older_unit & ~on_working_age_benefit), minlength=n_households + ) + np.testing.assert_allclose(over, expected_over) + + +_COUNTRIES = ["ENGLAND", "SCOTLAND", "WALES", "NORTHERN_IRELAND"] + + +@settings(max_examples=200, deadline=None) +@given( + st.lists( + st.tuples(st.floats(-1e9, 1e9), st.sampled_from(_COUNTRIES)), + min_size=1, + max_size=50, + ) +) +def test_country_restriction_partitions_the_uk(rows): + column = np.array([value for value, _ in rows]) + country = np.array([c for _, c in rows]) + gb = restrict_to_countries(column, country, GREAT_BRITAIN) + ni = restrict_to_countries(column, country, ("NORTHERN_IRELAND",)) + np.testing.assert_allclose(gb + ni, column) + np.testing.assert_array_equal(gb[country == "NORTHERN_IRELAND"], 0) + np.testing.assert_array_equal(restrict_to_countries(gb, country, GREAT_BRITAIN), gb) + assert restrict_to_countries(column, country, None) is column diff --git a/policyengine_uk_data/tests/test_would_claim_uc_pension_age.py b/policyengine_uk_data/tests/test_would_claim_uc_pension_age.py new file mode 100644 index 000000000..251848335 --- /dev/null +++ b/policyengine_uk_data/tests/test_would_claim_uc_pension_age.py @@ -0,0 +1,56 @@ +"""Wholly pension-age benefit units never get would_claim_uc.""" + +import numpy as np +from hypothesis import given, settings +from hypothesis import strategies as st + +from policyengine_uk_data.datasets.frs import ( + derive_every_adult_over_state_pension_age, +) + + +def test_examples(): + # Units: pensioner couple, mixed-age couple, working-age single, + # pensioner with an 18-year-old dependant, a unit with no adult, and a + # unit with no members at all. + result = derive_every_adult_over_state_pension_age( + person_benunit_ids=[10, 10, 20, 20, 30, 40, 40, 50], + is_adult=[1, 1, 1, 1, 1, 1, 1, 0], + is_over_state_pension_age=[1, 1, 1, 0, 0, 1, 0, 0], + benunit_ids=[10, 20, 30, 40, 50, 60], + ) + np.testing.assert_array_equal(result, [True, False, False, False, False, False]) + + +@settings(max_examples=300, deadline=None) +@given( + st.lists( + st.tuples(st.integers(0, 6), st.booleans(), st.booleans()), + max_size=30, + ), + st.permutations(list(range(8))), +) +def test_matches_a_direct_definition(people, benunit_order): + """Differential check against a per-unit loop, for any unit order.""" + benunit_ids = np.array(benunit_order) + result = derive_every_adult_over_state_pension_age( + person_benunit_ids=[p[0] for p in people], + is_adult=[p[1] for p in people], + is_over_state_pension_age=[p[2] for p in people], + benunit_ids=benunit_ids, + ) + for i, unit in enumerate(benunit_ids): + adults = [over for b, adult, over in people if b == unit and adult] + assert result[i] == (len(adults) > 0 and all(adults)) + + +def test_built_dataset_has_no_pension_age_uc_claimants(baseline): + year = 2025 + adult = baseline.calculate("is_adult", year).values.astype(bool) + over = adult & baseline.calculate("is_SP_age", year).values.astype(bool) + adults = baseline.map_result(adult.astype(float), "person", "benunit") + adults_over = baseline.map_result(over.astype(float), "person", "benunit") + wholly_pension_age = (adults > 0) & (adults_over == adults) + would_claim_uc = baseline.calculate("would_claim_uc", year).values.astype(bool) + assert wholly_pension_age.any() + assert not (would_claim_uc & wholly_pension_age).any() diff --git a/pyproject.toml b/pyproject.toml index beff7f1a4..e46cfa9a6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ dependencies = [ "policyengine", "google-cloud-storage", "google-auth", - "policyengine-uk>=2.93.0", + "policyengine-uk>=2.102.5", "microcalibrate>=0.18.0", "microimpute>=1.0.1", "ruff>=0.9.0", @@ -38,6 +38,7 @@ dependencies = [ dev = [ "ruff>=0.9.0", "pytest", + "hypothesis", "torch", "l0-python>=0.4.0", "tables", diff --git a/uv.lock b/uv.lock index a3e9f44d9..370de706e 100644 --- a/uv.lock +++ b/uv.lock @@ -577,6 +577,75 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/f4/124858007ddf3c61e9b144107304c9152fa80b5b6c168da07d86fe583cc1/huggingface_hub-1.1.5-py3-none-any.whl", hash = "sha256:e88ecc129011f37b868586bbcfae6c56868cae80cd56a79d61575426a3aa0d7d", size = 516000, upload-time = "2025-11-20T15:49:30.926Z" }, ] +[[package]] +name = "hypothesis" +version = "6.168.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/b7/13118bbc45d6d8b9d04e2de779e2a4ff23145ea39efa692b994fb874ca72/hypothesis-6.168.3.tar.gz", hash = "sha256:a43388f9067678fef6e13bdff325b6cfa6961a590498bb37f7ff31589c83bc75", size = 511022, upload-time = "2026-09-28T05:20:58.499Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/cd/746a2fc1e5e5ba34f07ea6ee1ad07525a3dde5ff4836db3a7980af49a891/hypothesis-6.168.3-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d20972ca134e652e9928ecd200966a8a2857adc2812c1d74b12a872e5cd503eb", size = 791536, upload-time = "2026-09-28T05:18:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0f/7a158e377b69556c8e12c25c8fd811d0103e54c24a12dab1f3b9819f202e/hypothesis-6.168.3-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:eafbec09d3e87d13d8242411d1f5868b5e879f1bd6d95e233e9ff80c527bea1c", size = 787313, upload-time = "2026-09-28T05:20:18.122Z" }, + { url = "https://files.pythonhosted.org/packages/45/c6/7df9104ee359e8fcd77791781c47e70794964ca69673665e0de2a6590f4c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c5627497968cc62d140e9fde1ea21e12cac7b64dc419fea8286cd34ff1ad4e", size = 1124036, upload-time = "2026-09-28T05:20:04.372Z" }, + { url = "https://files.pythonhosted.org/packages/92/0f/8a61715404a73b9a82cb1f976803428d603cdea976a9c30266c72ad6a7ce/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dc56e6dc6eeb0aeb08ac463f847279bde2336c4786faf7ee0af4b93cd031a7", size = 1147875, upload-time = "2026-09-28T05:19:15.495Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3f/2b16e95cc3b9a069afa23830a012aefe377ce4a457a227e5a5026eb827ff/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:753bb501f8560d2e321ed3b62596b4496c56f15668b0a0669231ccc3e6c4e80d", size = 1149489, upload-time = "2026-09-28T05:19:18.886Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e7/d7cf6dc068bb02732b2a6e38a35a0dcb7f2137608198fc79d740f69d197c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71ab606c472449cb872ef2a7acaec679ee4f651b7f0a477a04ebc85d8933ef8c", size = 1191992, upload-time = "2026-09-28T05:19:21.83Z" }, + { url = "https://files.pythonhosted.org/packages/5f/26/f1e5b25dec15998e8375d722825ec3dae1075cbe7cb1f74221b2312a2e33/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26928956c54748e4dfa587333741ab750246123b93484955646ff316cca27eef", size = 1169911, upload-time = "2026-09-28T05:19:27.996Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/901234a49147e6bf8a5b9e54b775706a223c2b52befea1106ea2aaf15d48/hypothesis-6.168.3-cp310-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:0bdfc53c041b61c854fa3761735736b991bc2bddafee45a361cfe4d43027c1ef", size = 1129406, upload-time = "2026-09-28T05:18:42.632Z" }, + { url = "https://files.pythonhosted.org/packages/55/c1/5fc9ff91ec9fba6bb527833386c66812524b5cc75fe7d4a4f9122ee1c420/hypothesis-6.168.3-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:650528e2b1e2a45e95c2df624d4b9364b8ac5a027ba84e1eea2bc5398dd01dcd", size = 1160399, upload-time = "2026-09-28T05:20:23.911Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d2/49ad1ef5c55547c8abfd0fc571b3493806dda530fd5cb3d8263dbad86a72/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:209dc54cdb1b4d6d7020ad8d09e44c49756361b7183adacea4d6f5705085b595", size = 1299906, upload-time = "2026-09-28T05:18:58.417Z" }, + { url = "https://files.pythonhosted.org/packages/0d/5f/f98a26094c4f462c4215807bed0f9a6b5508b27a3c329bcba1bc8adc7ac7/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:af8ca98cd11dc7f9427bb90483abcd9688d4df2e8e63893a30a2423b027ebb11", size = 1425538, upload-time = "2026-09-28T05:20:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b8/c5b4406e3a6591e51a42f85469351d1d824e0a54b84167aec9b2353759fe/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:f8122cfdd0bc0ba843063effa22ac310bdebdb3a1319bf1e63f14baa119c72ab", size = 1377084, upload-time = "2026-09-28T05:20:06.618Z" }, + { url = "https://files.pythonhosted.org/packages/e0/01/0d84a8ea469d024c15f602799c0b8410fbe03d99fdb0370449b33c3c916f/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4bedbb379eab34f792af7ee9a05aae04e9c08bbb52e0f90f5a2110d4fe4b2fbd", size = 1281162, upload-time = "2026-09-28T05:19:42.768Z" }, + { url = "https://files.pythonhosted.org/packages/22/b5/ea6435038de1a795f005cb603531e8ccc053febc50180f3ab55583c9c60e/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:5a953115b9f5c95133ab2d04efffeec96e5658c3207923dca7285f7db3e6bbef", size = 1300433, upload-time = "2026-09-28T05:18:55.634Z" }, + { url = "https://files.pythonhosted.org/packages/6c/78/fa6c77d9f64b6d592e69e582d83cbce7d7e56897faa4762885a2123b0166/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6173558e676ad25ed1e20507fa4024a0d816dd90f715f77006e5a28f19109026", size = 1336273, upload-time = "2026-09-28T05:19:08.273Z" }, + { url = "https://files.pythonhosted.org/packages/f1/56/4acd0d778bab818c9ea336fcba768bf43bc70db7f84cc373579298df4641/hypothesis-6.168.3-cp310-abi3-win32.whl", hash = "sha256:dc66390fb12d80585aa9222bf538ce8b7aa22cf5d118250647355a1c9e8f62f4", size = 678211, upload-time = "2026-09-28T05:19:23.355Z" }, + { url = "https://files.pythonhosted.org/packages/b0/db/0a02b146ad1c30f9716362f2e1a379dfd6b0f7be03ac1e22c9da24c9e2a9/hypothesis-6.168.3-cp310-abi3-win_amd64.whl", hash = "sha256:92325b276360fe86c5bf71a568c0d53a6d140b0de36dcf029f9164a17803bb24", size = 684906, upload-time = "2026-09-28T05:18:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c0/958deaf726848f96f52250740bf39f13f476b068e22f73e2b358eaa07532/hypothesis-6.168.3-cp310-abi3-win_arm64.whl", hash = "sha256:3cf6f1eeaf41cd8d60cf1f88fde905ca1dd77c906929a507d6ac7f66f2ccba2a", size = 683292, upload-time = "2026-09-28T05:19:57.404Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a2/6787da846d929e52fc3344d803299c45782dbeac287528af08380e984bf8/hypothesis-6.168.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1b230a850de63334c16654a34a2d547e0179d36b9071d4439b3e7237f6d077e7", size = 793254, upload-time = "2026-09-28T05:19:36.294Z" }, + { url = "https://files.pythonhosted.org/packages/89/ba/2893f5ca42501f4d562cba3229c8994c3a3e5fac66ef60c1e0e0b5220a5d/hypothesis-6.168.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d63b0226cd3e0d8bdd97c3384b22a21934ed4d53246c1c93575dada616672499", size = 784699, upload-time = "2026-09-28T05:18:54.194Z" }, + { url = "https://files.pythonhosted.org/packages/b7/aa/7d7349daf75b71f6f35876f8de115e974c5c04d600e86df1b2779b0883ab/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0369f5df055f96e117ab12e5f249668ff144731ab5280bc7a205fdf81f990b89", size = 1123016, upload-time = "2026-09-28T05:20:36.372Z" }, + { url = "https://files.pythonhosted.org/packages/00/f0/7774e1ea072708ea46cb25c4aeee5f9978b6c271764809069e8a6789858e/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f076bcd0f77fdcdb7797826c879099573d03a02e228ebe649ea917081b962ac0", size = 1168989, upload-time = "2026-09-28T05:20:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7d/113992abed9efbd7944e3a496a382da58152dce126fddf6419ff31a0a57d/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b823ba1fcec8da730f29316d010b06d3f7e0c3828dcf91020e24c55e7d24652a", size = 1298626, upload-time = "2026-09-28T05:19:40.986Z" }, + { url = "https://files.pythonhosted.org/packages/d5/65/3659fa5e733027e5b37a27486e57f4053535e40853d23501c422bb275043/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dd2849c269d674e4618590f3b48d443bd4c06b5aef3d8d869086c2e6d213d248", size = 1335184, upload-time = "2026-09-28T05:20:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/35aab2221b5ea65125340f236e1a765a9e9f3b28d89a389ea0033fed29f7/hypothesis-6.168.3-cp313-cp313-win_amd64.whl", hash = "sha256:3ef7d26f5789e691401d5f87eafed9bd2763f0dbe47af6d6b66012a509404766", size = 682173, upload-time = "2026-09-28T05:19:12.762Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/27b0cb56ff5d2bc92458bf6fcebdb1f0dc01f57f043a178e9f9d74498169/hypothesis-6.168.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e2d4c68729a13df9af4998d2652cfb5d541c5609b88c306880a5dfb284938ec2", size = 793287, upload-time = "2026-09-28T05:20:38.522Z" }, + { url = "https://files.pythonhosted.org/packages/e8/bd/5342f95c3bc36586777ef8cb8eba87ac7acf0184210327fb0e6d8654e295/hypothesis-6.168.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b345f818083ec99966a43ca4f7b38feb62c6920ce28572bc2bde4948a8b7eaba", size = 784857, upload-time = "2026-09-28T05:20:42.609Z" }, + { url = "https://files.pythonhosted.org/packages/4a/5f/fc774241518a0588d362680a3084275058aab86d6bc02a2c61e1073142d0/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0608c610fc002978fc5de0f471770d8817e9455cb8649a47983c9f8bccfc1897", size = 1123330, upload-time = "2026-09-28T05:19:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/131f16775a3dca5f4fe27f0d6ad9a9851600098a54a872d163f6ebf0b664/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dcf6448b1ecc37f2b23f2d1b3ddfc9ff6b6910614c15a642dc82f419b96037b", size = 1169178, upload-time = "2026-09-28T05:19:53.436Z" }, + { url = "https://files.pythonhosted.org/packages/06/61/c9f5bff8b73321c9fd12f2d69666c6e4861b97b60f5f24fdd6ac293007fd/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ae4f9f094041dcce5119ebd7bab71062743ab02b6e654d056b370beda78c19e2", size = 1299127, upload-time = "2026-09-28T05:20:14.486Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6d/d4618f8ab12dd76c4d58ea052252759aa2bf0c4e71f4b502ba5d577e0b9f/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d479985fe73af97badfb72dc6d20c6a353e486a36f6d065f600026e0cf954a86", size = 1335390, upload-time = "2026-09-28T05:20:10.326Z" }, + { url = "https://files.pythonhosted.org/packages/95/b6/727161e17cc297df1aeea945de05c532033b66751625bec192bc5b5ff707/hypothesis-6.168.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:785e2c45f8c08e274b4bf1ccae97f1a4e09407e9a68e80790cfab1d17a4a45fa", size = 624291, upload-time = "2026-09-28T05:18:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/77/23/2f9b506392a0b8712440bcb781abc5713be9ffac1303b6d10f3669050882/hypothesis-6.168.3-cp314-cp314-win_amd64.whl", hash = "sha256:320920b1e3dae8611eee8a03d063cf2187446f2a17c38cfb8a7fc1466f71eee2", size = 682064, upload-time = "2026-09-28T05:20:16.336Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/efabfd95eb2b69c0c9fa1e1c83c8290aa2715d46baeb5a7764faf09c133a/hypothesis-6.168.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:35380baa981108a7f60c4eab71e46acd8d8f58440520346a1a6aba06dca7e074", size = 791875, upload-time = "2026-09-28T05:19:37.789Z" }, + { url = "https://files.pythonhosted.org/packages/1b/fc/2a0ada1623a9a33048bbf9f00a7c92513398c6b8865cba5efb854262ce30/hypothesis-6.168.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f0aaaed00438fa6673d856aaee12a4a8afbde82a9f3c5ff487cacfb064239afe", size = 783412, upload-time = "2026-09-28T05:18:48.266Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/73c615d37eeb12da0209555612c32ced628d860267c23cfd2691c6207aea/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27e6df1576bf838e7f484d4ae5cba92114497ca30afb917056bf1ea33e95675", size = 1121662, upload-time = "2026-09-28T05:19:26.225Z" }, + { url = "https://files.pythonhosted.org/packages/92/54/1893344a3b8bbf83fa7c9bb7e96f6836580213854f46671cb749f7b4706c/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bc85014577982ec6d2e266edc5cd6e7a7d3674c648791ca983c67a52f89a0c4", size = 1167761, upload-time = "2026-09-28T05:18:49.85Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/a61d82968febd25a0f08ffbbfabfaeead66f68fc5fa73f3c9ece1c36fc8f/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ccfc29505aa1cdcc254cb9cd701fd0811fef5480addd97d4127a00df023410f7", size = 1297309, upload-time = "2026-09-28T05:19:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/01/fe8e4cf6d39d02f4efadaa351427fa13722086cfc54a2da3579741c5177a/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32d0699566aaa93f9e97a44705d7164386f1e91de78d277f53bada35e78bcc96", size = 1334260, upload-time = "2026-09-28T05:19:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/39/6a/09177ebc62f4778f94379ecade6a51299d3d8c4f4b75ba636bf3a0202364/hypothesis-6.168.3-cp314-cp314t-win_amd64.whl", hash = "sha256:28d88fa174ecbd4ecbd7bb290f06d0db084a3971c3f511ae2830b65b5e25500f", size = 681992, upload-time = "2026-09-28T05:19:48.043Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f6/890bf33d608cd63348d3146a3ca83362fbf09e589c5e5230a00c403070f4/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:61f5782d807b1e6aa5c9beef1054cb2037e7d1add48a64972cd6ee447778781f", size = 791231, upload-time = "2026-09-28T05:18:43.998Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/fc36b204f8aa7437c676576d9437f0422de46aa8a729e6cd5bbb0224e759/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:7aacf3cf40c7ce8f9e4924d5b57bc0b068beafdfed2347bcf160a28b4cfbba7b", size = 783171, upload-time = "2026-09-28T05:19:20.353Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d2/3cd087d577db67c404991d7723e64d7cd75570cdc82a0f7329aed6f2086c/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01768a03a30dc54df7fe457c0b34016c84d598fa00d5965ededab93ba4eb3408", size = 1121152, upload-time = "2026-09-28T05:18:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/42/6f/a05a68cc66e7a22701c50bf94fb9ddeb36f4f5d0de3cc130066709eda621/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1a8a4ffc6c6e6e577f2bfbcfebf7cffbb310283ba2532c729570a0a752cebaaa", size = 1144069, upload-time = "2026-09-28T05:20:44.705Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f4/fdd7a093fb2fb3a0ce24256c92ad5bf67936f4669bd06d5ceae4298150ec/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b987d73eba95183a7e59cca6d1925c588aa4307922d9852cc2b4d282a2ae4128", size = 1146692, upload-time = "2026-09-28T05:20:25.83Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/6dbd4377e935505ae4fc8ee4c7b18c69994c4bbaca015447c470218bdbee/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4569c39bd97d9573e946429ed676f3b55a7c8ed80920addd67d384a47d59b38", size = 1189480, upload-time = "2026-09-28T05:20:46.734Z" }, + { url = "https://files.pythonhosted.org/packages/ba/bf/ff288b496b690000d2686dcfa7f67855e4c5a6dddb464ed8e4880be83bb2/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6042b8707a4b25bbbfe20b110258fb7549a68951e5525608a8ce06091039e9fc", size = 1167109, upload-time = "2026-09-28T05:19:24.758Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d1/3fee2bc29fc747fabbb27e174515592e390809ca465d3bbbabbcfa3235a8/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:f413629de94d38a7a2ad259697a6752526143cb49c2e2d7bdba19381c80693f6", size = 1126823, upload-time = "2026-09-28T05:18:52.636Z" }, + { url = "https://files.pythonhosted.org/packages/58/6a/585294392fa6a6d9719446a042a777ba98ecca265d9e48cbedc10c88df0f/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f071737e4e775bebba07e319eb645a880d1e0186b4d24bad23255e849d86d483", size = 1155773, upload-time = "2026-09-28T05:20:51.268Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4d/fa283ff79996debf1ff08593e01f8b773eb8211b19b3d6d5d491317a65bf/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:f59a3912858d0609c26054aa1c474847c797937f5e0e1c77f0d3f08032e50f09", size = 1296671, upload-time = "2026-09-28T05:18:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/42/05/98f9c2f628da5afabb6c3e8df5d2d299d2d50bf306b14a6e26d3954c4951/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:f09c05a23a8025dd5cad07c2ed299a46778e72d49ff0dd5bf353bcc0f7dc1580", size = 1422001, upload-time = "2026-09-28T05:19:04.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c9/f2109ade29a7ec284d55bca328d784743e8b13e321576fd34ee7e65f99af/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:44ace770bda3a0301739fc5a413c764de790c739df1f1a7218dd049f8594d9f5", size = 1374182, upload-time = "2026-09-28T05:20:27.764Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/e05d5f72441564a3bebc71fa155deafd0fd3b015d6014ec8a00edf6e42bb/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:03b131043608f94a2578a2a896a1a72092acb7079815eef5b8513b08447e0e62", size = 1278402, upload-time = "2026-09-28T05:20:56.332Z" }, + { url = "https://files.pythonhosted.org/packages/96/d7/6988a7f1f69c5c530687dce03a32c157e2d878e3a2e32af9269ce016b78a/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:e9784aca26eddfe99b03a0292320db742cc8a74200ef864fdce949f526f973cd", size = 1297770, upload-time = "2026-09-28T05:19:11.387Z" }, + { url = "https://files.pythonhosted.org/packages/a2/28/5bb82b60b836bd2329e1fe01ad94efc2b14dfa806f8e50ed14b795d78770/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:2b52ac363096232bebc2add117e9178d91f4248f4cdb919fd1026b5f86a4bb16", size = 1333977, upload-time = "2026-09-28T05:20:02.483Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7d/d419841b8f65481ea1a50c4ba36f2670d48b8c7a51e4e8586089564cf7f6/hypothesis-6.168.3-cp315-abi3.abi3t-win32.whl", hash = "sha256:d28e3a6b511a74ce37df5274b51f36c2b274fea7365e00b16f0c81e22acd5957", size = 675394, upload-time = "2026-09-28T05:19:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d2/1de6a2ad100e44817f2e9a8e8ba3eeaf4769621f4f87f2d4966c4971fcc4/hypothesis-6.168.3-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:7b9638789548361a57d984f56619ac694a914c328181d911271618409261ff4a", size = 681699, upload-time = "2026-09-28T05:19:09.957Z" }, + { url = "https://files.pythonhosted.org/packages/c0/79/be3370fd02734d6b1d950183ae9224580d19fa8d356b95348d60f1e3eeb7/hypothesis-6.168.3-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:65d78e4357ec48ed2c67825f06740ee3599be4cfe770a6092bed07108d679ac5", size = 679849, upload-time = "2026-09-28T05:19:06.884Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1322,7 +1391,7 @@ wheels = [ [[package]] name = "policyengine-core" -version = "3.31.1" +version = "3.32.11" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "dpath" }, @@ -1342,14 +1411,14 @@ dependencies = [ { name = "standard-imghdr" }, { name = "wheel" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9f/1e/cd58cb6947720a5b7850c06a988abbc0eef53e2be192ed49a17ed62d78d4/policyengine_core-3.31.1.tar.gz", hash = "sha256:3ca8f666c3e67b0c0ce992fa3dc9d1ff2c095a3860f3d719883588b2f9e44ec3", size = 500450, upload-time = "2026-08-28T05:06:43.16Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/9f/0789273f03bad9d7274e487c97f212559fbbe1977a0320b38eeff411bbe2/policyengine_core-3.32.11.tar.gz", hash = "sha256:e32f5e89d0a3abbf4d5e7c5233168c26033b45171373947f604ef18920445b5d", size = 430637, upload-time = "2026-09-30T02:10:11.155Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/74/ce/995992049664b6b4cecd1e4db76b143e07aaee8239043057436f48ccbe75/policyengine_core-3.31.1-py3-none-any.whl", hash = "sha256:308200b28aa26bb79d7f0badebac391c0a81704d45ba4ef48ac79e88f0b21e6b", size = 245719, upload-time = "2026-08-28T05:06:41.769Z" }, + { url = "https://files.pythonhosted.org/packages/c6/8b/f6b21e7872ce4681edf3b1794549fcaed19f4d3efc1dfafdb80044952e28/policyengine_core-3.32.11-py3-none-any.whl", hash = "sha256:591acd6161b992f09070c582e4f830f636a8be863b226d2de546fffc5bbe602a", size = 247934, upload-time = "2026-09-30T02:10:09.831Z" }, ] [[package]] name = "policyengine-uk" -version = "2.93.0" +version = "2.102.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "microdf-python" }, @@ -1357,14 +1426,14 @@ dependencies = [ { name = "pydantic" }, { name = "tables" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/af/04/ab8fbb526c22d5c422eed374244d977b123241baa6f96a604c600876647a/policyengine_uk-2.93.0.tar.gz", hash = "sha256:e3b8eab824e7dad3a1fd61fa8503442a8b1b2285e05fff7ab60f93b6a9b22578", size = 1246786, upload-time = "2026-08-28T14:55:16.266Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5d/a1/4700bcb06a11541236f1e77c44d68842731a3854e15ebf7117da0480d59e/policyengine_uk-2.102.5.tar.gz", hash = "sha256:1526264cd114e40c99bebbc9e2603ec6004c5f2a91bbf5d1a89018be4d05a29b", size = 1319280, upload-time = "2026-09-30T07:53:44.344Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6f/74/5e626f9f80b9485b10bcccbef8d93a635abe309bfdfad437b5de38a80fae/policyengine_uk-2.93.0-py3-none-any.whl", hash = "sha256:4f95feffa3b27fab927f9b903f8a9f1f0d63b2fba209d6b8ac010f0f07a5ec7c", size = 2046525, upload-time = "2026-08-28T14:55:14.114Z" }, + { url = "https://files.pythonhosted.org/packages/11/a0/da29962570fc4091227cf9264b56e2ba66f4c268b391108d1f643e38c649/policyengine_uk-2.102.5-py3-none-any.whl", hash = "sha256:c72dc93cfda8d267f24bbf6675bd27f9c50604844bd6dbefaa3cab6d74f371a6", size = 2195332, upload-time = "2026-09-30T07:53:42.803Z" }, ] [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1392,6 +1461,7 @@ dependencies = [ dev = [ { name = "build" }, { name = "furo" }, + { name = "hypothesis" }, { name = "itables" }, { name = "l0-python" }, { name = "pytest" }, @@ -1410,6 +1480,7 @@ requires-dist = [ { name = "google-auth" }, { name = "google-cloud-storage" }, { name = "huggingface-hub" }, + { name = "hypothesis", marker = "extra == 'dev'" }, { name = "itables", marker = "extra == 'dev'" }, { name = "l0-python", marker = "extra == 'dev'", specifier = ">=0.4.0" }, { name = "microcalibrate", specifier = ">=0.18.0" }, @@ -1419,7 +1490,7 @@ requires-dist = [ { name = "pandas" }, { name = "policyengine" }, { name = "policyengine-core", specifier = ">=3.19.4" }, - { name = "policyengine-uk", specifier = ">=2.93.0" }, + { name = "policyengine-uk", specifier = ">=2.102.5" }, { name = "pydantic", specifier = ">=2.0" }, { name = "pytest", marker = "extra == 'dev'" }, { name = "pyyaml" }, From 25971022f8f7384f8c9436e2e5734fb2fb40d0f6 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 30 Sep 2026 08:05:20 -0400 Subject: [PATCH 02/70] Address review: release note, docstring precision, loss-matrix test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit State in the release note that modelled GB Housing Benefit falls to about £8.0bn. Mark the mixed-age classification as an assumption, date the benefit-group equality from 2024-25, and quote the calibrated build's working-age claims. Add a test that the calibrated columns build on the dataset, since the loss matrix skips a target whose column raises, and note that would_claim_uc uses survey-year State Pension age. Co-Authored-By: Claude Opus 5.5 --- changelog.d/hb-dwp-age-targets.changed.md | 1 + changelog.d/hb-dwp-age-targets.fixed.md | 1 - policyengine_uk_data/datasets/frs.py | 4 +++- .../targets/sources/dwp_housing_benefit.py | 9 +++++---- .../tests/test_dwp_housing_benefit_targets.py | 18 ++++++++++++++++++ 5 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 changelog.d/hb-dwp-age-targets.changed.md delete mode 100644 changelog.d/hb-dwp-age-targets.fixed.md diff --git a/changelog.d/hb-dwp-age-targets.changed.md b/changelog.d/hb-dwp-age-targets.changed.md new file mode 100644 index 000000000..759b2a2ff --- /dev/null +++ b/changelog.d/hb-dwp-age-targets.changed.md @@ -0,0 +1 @@ +Calibrate pension-age Housing Benefit to DWP's Great Britain spending and claims over Pension Credit qualifying age, replacing the OBR Housing Benefit target that the model compared with UK-wide Housing Benefit. Modelled GB Housing Benefit for 2025-26 falls from about £11.7bn to £8.0bn (DWP: £12.9bn), because pension-age Housing Benefit was about 1.6 times DWP's figure while working-age, temporary and supported-accommodation Housing Benefit remain largely unmodelled. Stop setting `would_claim_uc` for benefit units whose adults have all reached State Pension age, and build with policyengine-uk 2.102.5 so pension-age families can make new Housing Benefit claims. diff --git a/changelog.d/hb-dwp-age-targets.fixed.md b/changelog.d/hb-dwp-age-targets.fixed.md deleted file mode 100644 index 2c4c56708..000000000 --- a/changelog.d/hb-dwp-age-targets.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Calibrate pension-age Housing Benefit to DWP's Great Britain spending and claims over Pension Credit qualifying age, replacing the OBR Housing Benefit target that the model compared with UK-wide Housing Benefit. Stop setting `would_claim_uc` for benefit units whose adults have all reached State Pension age, and build with policyengine-uk 2.102.5 so pension-age families can make new Housing Benefit claims. diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index 4a95842bb..94e40c2a6 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -1573,7 +1573,9 @@ def _reported_benunit_mask(person_column: str) -> np.ndarray: # A benefit unit whose adults have all reached State Pension age cannot # claim Universal Credit, so it never gets would_claim_uc, even if it # reports UC. The draw still covers every unit, so the random stream and - # every other unit's value are unchanged. + # every other unit's value are unchanged. Ages are not rolled forward, so + # if State Pension age rises above an adult's survey age in a later year, + # that unit stays without would_claim_uc there. pe_benunit["would_claim_uc"] = assign_takeup_with_reported_anchors( generator.random(len(pe_benunit)), universal_credit_rate, diff --git a/policyengine_uk_data/targets/sources/dwp_housing_benefit.py b/policyengine_uk_data/targets/sources/dwp_housing_benefit.py index 69d17f9b6..79870d13d 100644 --- a/policyengine_uk_data/targets/sources/dwp_housing_benefit.py +++ b/policyengine_uk_data/targets/sources/dwp_housing_benefit.py @@ -17,8 +17,8 @@ would ask for two different GB totals. DWP splits claims by benefit rules rather than by age alone (Notes, note -5): the two lines equal its Pension Credit plus State Pension benefit -groups and its ESA plus other working-age groups. Under regulation 5 of +5): from 2024-25 the two lines equal its Pension Credit plus State Pension +benefit groups and its ESA plus other working-age groups. Under regulation 5 of both Housing Benefit Regulations 2006 (SI 2006/213 and 2006/214), the pension-age rules apply when the claimant or partner has reached the qualifying age for Pension Credit, unless either is on Universal Credit, @@ -26,12 +26,13 @@ therefore over Pension Credit qualifying age here when one of its adults has reached State Pension age and it gets none of those benefits. Mixed-age couples who kept pension-age Housing Benefit after May 2019 fall in the -older group, as they do in DWP's benefit groups. +older group; DWP does not publish its rule for them, and this assumes they +sit in its Pension Credit and State Pension groups. Only the older group is calibrated. policyengine-uk pays working-age Housing Benefit only as a continuing award to families that report it and do not claim Universal Credit: 267 of the 770 working-age records that -report it, about 24,000 weighted claims in 2025-26 against DWP's 460,000. +report it, about 17,000 weighted claims in 2025-26 against DWP's 460,000. DWP's working-age figure also includes temporary and supported accommodation (together £5.2bn of Housing Benefit in 2025-26, not split by age), which the FRS barely samples. A test build on 2026-09-30 that also diff --git a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py index f92c2976c..549006b42 100644 --- a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py +++ b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py @@ -275,3 +275,21 @@ def test_country_restriction_partitions_the_uk(rows): np.testing.assert_array_equal(gb[country == "NORTHERN_IRELAND"], 0) np.testing.assert_array_equal(restrict_to_countries(gb, country, GREAT_BRITAIN), gb) assert restrict_to_countries(column, country, None) is column + + +def test_calibrated_columns_build_on_the_dataset(baseline, enhanced_frs): + """The loss matrix skips a target whose column raises, so check that the + calibrated columns build on a real simulation and land near DWP.""" + from policyengine_uk_data.targets.build_loss_matrix import _SimContext + + year = 2025 + baseline.default_calculation_period = str(year) + ctx = _SimContext(baseline, str(year), enhanced_frs, None) + weight = baseline.calculate("household_weight", year).values + for target in dwp_housing_benefit.get_targets(): + column = restrict_to_countries( + target.custom_compute(ctx, target, year), ctx.country, target.countries + ) + assert np.isfinite(column).all(), target.name + ratio = (column * weight).sum() / target.values[year] + assert 0.5 < ratio < 2, (target.name, ratio) From db089cef73ea130ae678dd4355d1e8aad25cceea Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 30 Sep 2026 23:10:22 -0400 Subject: [PATCH 03/70] Stop counting rent paid by boarders and lodgers as their property income FRS CVPAY is the rent a boarder or lodger pays the householder, after deducting any state benefits to help with rent (FRS question CvPay, asked about each person not related to the HRP in the second and later benefit units of a conventional household). frs.py added it to the payer's own property_income. Move the property income calculation into a tested helper, frs_property_income, that keeps SUBRENT and ROYYR1 and drops CVPAY. Co-Authored-By: Claude Opus 5.5 --- .../frs-cvpay-not-property-income.fixed.md | 1 + policyengine_uk_data/datasets/frs.py | 48 ++++---- .../tests/test_frs_property_income.py | 106 ++++++++++++++++++ 3 files changed, 136 insertions(+), 19 deletions(-) create mode 100644 changelog.d/frs-cvpay-not-property-income.fixed.md create mode 100644 policyengine_uk_data/tests/test_frs_property_income.py diff --git a/changelog.d/frs-cvpay-not-property-income.fixed.md b/changelog.d/frs-cvpay-not-property-income.fixed.md new file mode 100644 index 000000000..555464200 --- /dev/null +++ b/changelog.d/frs-cvpay-not-property-income.fixed.md @@ -0,0 +1 @@ +Stop counting the rent a boarder or lodger pays (FRS CVPAY) as that boarder's or lodger's own property income. diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index e440d4869..6ae20a90b 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -220,6 +220,34 @@ def derive_receives_benefits_in_own_right(pe_person: pd.DataFrame) -> pd.Series: ) +def frs_property_income(person: pd.DataFrame, household: pd.DataFrame) -> np.ndarray: + """Annual property income each person reports in the FRS. + + Two FRS amounts, both weekly in the released data: + + - SUBRENT, rent the household received for letting part of its home to + someone outside the household. It goes to the household reference + person, and only in owner-occupied households (TENTYP2 5 or 6). + ``household`` must be indexed by ``household_id``. + - ROYYR1, the person's rent from other property, before tax and after + allowable expenses. + + CVPAY is not included. It is the rent that a boarder or lodger pays the + householder, and it sits on the boarder's or lodger's own adult record. + The FRS question (CvPay) asks how much rent [name] paid for board and + lodging, after deducting any state benefits to help with rent. + """ + is_head = person.hrpid == 1 + household_property_income = household.tentyp2.isin((5, 6)) * household.subrent + persons_household_property_income = ( + household_property_income.reindex(person.household_id).fillna(0).values + ) + return ( + np.maximum(0, is_head * persons_household_property_income + person.royyr1) + * WEEKS_IN_YEAR + ).values + + def derive_is_in_non_advanced_education( current_education, is_apprentice=None, @@ -1083,25 +1111,7 @@ def determine_education_level(fted_val, typeed2_val, age_val): ) * 52, ) - is_head = person.hrpid == 1 - household_property_income = ( - household.tentyp2.isin((5, 6)) * household.subrent - ) # Owned and subletting - persons_household_property_income = ( - pd.Series( - household_property_income[person.household_id].values, - index=person.person_id, - ) - .fillna(0) - .values - ) - pe_person["property_income"] = ( - np.maximum( - 0, - is_head * persons_household_property_income + person.cvpay + person.royyr1, - ) - * WEEKS_IN_YEAR - ) + pe_person["property_income"] = frs_property_income(person, household) maintenance_to_self = np.maximum( pd.Series(np.where(person.mntus1 == 2, person.mntusam1, person.mntamt1)).fillna( 0 diff --git a/policyengine_uk_data/tests/test_frs_property_income.py b/policyengine_uk_data/tests/test_frs_property_income.py new file mode 100644 index 000000000..f7e5e7b57 --- /dev/null +++ b/policyengine_uk_data/tests/test_frs_property_income.py @@ -0,0 +1,106 @@ +import numpy as np +import pandas as pd +import pytest + +from policyengine_uk_data.datasets.frs import WEEKS_IN_YEAR, frs_property_income + +HRP, NOT_HRP = 1, 2 +OWNED_WITH_MORTGAGE, OWNED_OUTRIGHT = 5, 6 +COUNCIL_RENTED, PRIVATE_RENTED_FURNISHED = 1, 4 + + +def make_tables(people, households): + person = pd.DataFrame( + people, columns=["household_id", "person_id", "hrpid", "royyr1", "cvpay"] + ) + household = pd.DataFrame( + households, columns=["household_id", "tentyp2", "subrent"] + ).set_index("household_id") + return person, household + + +def test_rent_paid_by_a_lodger_is_not_their_property_income(): + # Owner-occupier household with a lodger who pays £100 a week (CVPAY). + person, household = make_tables( + [(1, 1_001, HRP, 0, 0), (1, 1_002, NOT_HRP, 0, 100)], + [(1, OWNED_OUTRIGHT, 0)], + ) + assert frs_property_income(person, household).tolist() == [0, 0] + + +def test_rent_from_other_property_counts_for_any_adult(): + person, household = make_tables( + [(1, 1_001, HRP, 0, 0), (1, 1_002, NOT_HRP, 50, 0)], + [(1, COUNCIL_RENTED, 0)], + ) + np.testing.assert_allclose( + frs_property_income(person, household), [0, 50 * WEEKS_IN_YEAR] + ) + + +def test_subletting_rent_goes_to_the_owner_household_reference_person(): + person, household = make_tables( + [(1, 1_001, NOT_HRP, 0, 0), (1, 1_002, HRP, 0, 0)], + [(1, OWNED_WITH_MORTGAGE, 80)], + ) + np.testing.assert_allclose( + frs_property_income(person, household), [0, 80 * WEEKS_IN_YEAR] + ) + + +def random_tables(seed: int): + """Random households of one to four adults; the first is the HRP.""" + rng = np.random.default_rng(seed) + people, households = [], [] + for household_id in range(1, rng.integers(1, 30) + 1): + tenure = int(rng.integers(1, 9)) + subrent = float(rng.choice([0, rng.uniform(0, 500)])) + households.append((household_id, tenure, subrent)) + for person in range(1, rng.integers(1, 5) + 1): + people.append( + ( + household_id, + household_id * 1_000 + person, + HRP if person == 1 else NOT_HRP, + float(rng.choice([0, rng.uniform(0, 2_000)])), + float(rng.choice([0, rng.uniform(0, 400)])), + ) + ) + return make_tables(people, households) + + +SEEDS = range(200) + + +@pytest.mark.parametrize("seed", SEEDS) +def test_property_income_does_not_depend_on_cvpay(seed): + person, household = random_tables(seed) + without_cvpay = person.assign(cvpay=0.0) + np.testing.assert_array_equal( + frs_property_income(person, household), + frs_property_income(without_cvpay, household), + ) + + +@pytest.mark.parametrize("seed", SEEDS) +def test_property_income_conserves_reported_rent(seed): + # Each owner household's SUBRENT is counted once (on its HRP) and every + # ROYYR1 is counted on its own record, so the totals match. + person, household = random_tables(seed) + result = frs_property_income(person, household) + assert (result >= 0).all() + owner = household.tentyp2.isin((OWNED_WITH_MORTGAGE, OWNED_OUTRIGHT)) + expected = (household.subrent[owner].sum() + person.royyr1.sum()) * WEEKS_IN_YEAR + assert result.sum() == pytest.approx(expected) + + +@pytest.mark.parametrize("seed", SEEDS) +def test_extra_rent_from_other_property_moves_only_that_person(seed): + person, household = random_tables(seed) + before = frs_property_income(person, household) + row = seed % len(person) + person.loc[row, "royyr1"] += 10 + after = frs_property_income(person, household) + change = np.zeros(len(person)) + change[row] = 10 * WEEKS_IN_YEAR + np.testing.assert_allclose(after - before, change) From 0812cd1b3c5952a2b4b259ae046baf44dfced8a3 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 30 Sep 2026 23:21:36 -0400 Subject: [PATCH 04/70] Test the non-negative floor and the stacked adult and child index Review of #503: the seeded cases only draw non-negative amounts, so the floor at zero was never active, and every fixture had a unique index while create_frs stacks the adult and child tables. Co-Authored-By: Claude Opus 5.5 --- .../tests/test_frs_property_income.py | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/policyengine_uk_data/tests/test_frs_property_income.py b/policyengine_uk_data/tests/test_frs_property_income.py index f7e5e7b57..4aacfab71 100644 --- a/policyengine_uk_data/tests/test_frs_property_income.py +++ b/policyengine_uk_data/tests/test_frs_property_income.py @@ -48,6 +48,29 @@ def test_subletting_rent_goes_to_the_owner_household_reference_person(): ) +def test_negative_amounts_do_not_become_negative_income(): + person, household = make_tables( + [(1, 1_001, HRP, -30, 0), (1, 1_002, NOT_HRP, -5, 0)], + [(1, OWNED_OUTRIGHT, 10)], + ) + assert frs_property_income(person, household).tolist() == [0, 0] + + +def test_adult_and_child_rows_sharing_index_labels(): + # create_frs stacks the adult and child tables, so index labels repeat. + adults, household = make_tables( + [(1, 1_001, HRP, 20, 0), (2, 2_001, HRP, 0, 60)], + [(1, OWNED_OUTRIGHT, 80), (2, PRIVATE_RENTED_FURNISHED, 0)], + ) + children, _ = make_tables([(1, 1_002, 0, 0, 0)], []) + person = pd.concat([adults, children]).sort_index(kind="stable") + assert person.index.tolist() == [0, 0, 1] + np.testing.assert_allclose( + frs_property_income(person, household), + [100 * WEEKS_IN_YEAR, 0, 0], + ) + + def random_tables(seed: int): """Random households of one to four adults; the first is the HRP.""" rng = np.random.default_rng(seed) From be4d9356c80369029c8882bcb738105a4b4b0fb5 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 1 Oct 2026 09:24:00 -0400 Subject: [PATCH 05/70] Stop counting property losses as income; count sub-let rent for every tenure ROYYR1 holds a property loss as a positive amount flagged by RENTPROF = 2, and the build counted it as income. A loss now counts as zero. SUBRENT was counted only for owner-occupiers, although the FRS asks every household about sub-letting. The tenure restriction is removed. SUBRENT stays as reported whether SUBALLOW says it is before or after allowable expenses; the FRS collects no expense amount. Co-Authored-By: Claude Opus 5.5 --- .../frs-property-losses-subrent.fixed.md | 1 + policyengine_uk_data/datasets/frs.py | 29 ++- .../tests/test_frs_property_income.py | 209 +++++++++++++++--- .../tests/test_legacy_benefit_proxies.py | 1 + 4 files changed, 205 insertions(+), 35 deletions(-) create mode 100644 changelog.d/frs-property-losses-subrent.fixed.md diff --git a/changelog.d/frs-property-losses-subrent.fixed.md b/changelog.d/frs-property-losses-subrent.fixed.md new file mode 100644 index 000000000..097b15f2c --- /dev/null +++ b/changelog.d/frs-property-losses-subrent.fixed.md @@ -0,0 +1 @@ +Stop counting FRS property losses (ROYYR1 with RENTPROF = 2) as property income, and count rent from sub-letting part of the home (SUBRENT) for every tenure, not only owner-occupiers. diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index 6ae20a90b..abd521401 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -84,6 +84,8 @@ # FRS government-training question variants use 10 or 13 for "None of these". FRS_APPROVED_TRAINING_CODES = tuple(range(1, 10)) UNKNOWN_QUALIFYING_EDUCATION_OR_TRAINING_ENTRY_AGE = 1000 +# FRS RENTPROF: whether ROYYR1 is a profit (1) or a loss (2). +FRS_RENTPROF_LOSS = 2 @lru_cache(maxsize=None) @@ -226,11 +228,20 @@ def frs_property_income(person: pd.DataFrame, household: pd.DataFrame) -> np.nda Two FRS amounts, both weekly in the released data: - SUBRENT, rent the household received for letting part of its home to - someone outside the household. It goes to the household reference - person, and only in owner-occupied households (TENTYP2 5 or 6). - ``household`` must be indexed by ``household_id``. + someone outside the household. The FRS asks every household (SubLet), + whatever its tenure, so renting and rent-free households count too. It + goes to the household reference person. ``household`` must be indexed + by ``household_id``. - ROYYR1, the person's rent from other property, before tax and after - allowable expenses. + allowable expenses. The questionnaire cannot take a negative amount, + so a loss is entered as a positive amount with RENTPROF = 2 (question + RentProf, "Is that a profit or a loss from the property?"). A loss + counts as zero: it is not income, policyengine-uk has no property loss + input, and it is not set against the household's SUBRENT. + + SUBRENT is used as reported. SUBALLOW records whether it is before (1) + or after (2) allowable expenses, but the FRS collects no expense amount + to take off the before-expenses answers. CVPAY is not included. It is the rent that a boarder or lodger pays the householder, and it sits on the boarder's or lodger's own adult record. @@ -238,12 +249,14 @@ def frs_property_income(person: pd.DataFrame, household: pd.DataFrame) -> np.nda lodging, after deducting any state benefits to help with rent. """ is_head = person.hrpid == 1 - household_property_income = household.tentyp2.isin((5, 6)) * household.subrent - persons_household_property_income = ( - household_property_income.reindex(person.household_id).fillna(0).values + persons_household_subrent = ( + household.subrent.reindex(person.household_id).fillna(0).values + ) + rent_from_other_property = person.royyr1.where( + person.rentprof != FRS_RENTPROF_LOSS, 0 ) return ( - np.maximum(0, is_head * persons_household_property_income + person.royyr1) + np.maximum(0, is_head * persons_household_subrent + rent_from_other_property) * WEEKS_IN_YEAR ).values diff --git a/policyengine_uk_data/tests/test_frs_property_income.py b/policyengine_uk_data/tests/test_frs_property_income.py index 4aacfab71..1abcf931a 100644 --- a/policyengine_uk_data/tests/test_frs_property_income.py +++ b/policyengine_uk_data/tests/test_frs_property_income.py @@ -2,19 +2,29 @@ import pandas as pd import pytest -from policyengine_uk_data.datasets.frs import WEEKS_IN_YEAR, frs_property_income +from policyengine_uk_data.datasets.frs import ( + FRS_RENTPROF_LOSS, + WEEKS_IN_YEAR, + frs_property_income, +) +from policyengine_uk_data.datasets.frs_release import CURRENT_FRS_RELEASE +from policyengine_uk_data.storage import STORAGE_FOLDER HRP, NOT_HRP = 1, 2 +NOT_ASKED, PROFIT, LOSS = 0, 1, FRS_RENTPROF_LOSS OWNED_WITH_MORTGAGE, OWNED_OUTRIGHT = 5, 6 COUNCIL_RENTED, PRIVATE_RENTED_FURNISHED = 1, 4 +TENURES = range(1, 9) +BEFORE_EXPENSES, AFTER_EXPENSES = 1, 2 def make_tables(people, households): person = pd.DataFrame( - people, columns=["household_id", "person_id", "hrpid", "royyr1", "cvpay"] + people, + columns=["household_id", "person_id", "hrpid", "royyr1", "rentprof", "cvpay"], ) household = pd.DataFrame( - households, columns=["household_id", "tentyp2", "subrent"] + households, columns=["household_id", "tentyp2", "subrent", "suballow"] ).set_index("household_id") return person, household @@ -22,36 +32,80 @@ def make_tables(people, households): def test_rent_paid_by_a_lodger_is_not_their_property_income(): # Owner-occupier household with a lodger who pays £100 a week (CVPAY). person, household = make_tables( - [(1, 1_001, HRP, 0, 0), (1, 1_002, NOT_HRP, 0, 100)], - [(1, OWNED_OUTRIGHT, 0)], + [(1, 1_001, HRP, 0, NOT_ASKED, 0), (1, 1_002, NOT_HRP, 0, NOT_ASKED, 100)], + [(1, OWNED_OUTRIGHT, 0, 0)], ) assert frs_property_income(person, household).tolist() == [0, 0] def test_rent_from_other_property_counts_for_any_adult(): person, household = make_tables( - [(1, 1_001, HRP, 0, 0), (1, 1_002, NOT_HRP, 50, 0)], - [(1, COUNCIL_RENTED, 0)], + [(1, 1_001, HRP, 0, NOT_ASKED, 0), (1, 1_002, NOT_HRP, 50, PROFIT, 0)], + [(1, COUNCIL_RENTED, 0, 0)], ) np.testing.assert_allclose( frs_property_income(person, household), [0, 50 * WEEKS_IN_YEAR] ) -def test_subletting_rent_goes_to_the_owner_household_reference_person(): +def test_a_loss_on_other_property_is_not_income(): + # ROYYR1 holds the size of the loss as a positive amount; RENTPROF flags it. person, household = make_tables( - [(1, 1_001, NOT_HRP, 0, 0), (1, 1_002, HRP, 0, 0)], - [(1, OWNED_WITH_MORTGAGE, 80)], + [(1, 1_001, HRP, 90, LOSS, 0), (1, 1_002, NOT_HRP, 50, PROFIT, 0)], + [(1, OWNED_WITH_MORTGAGE, 0, 0)], + ) + np.testing.assert_allclose( + frs_property_income(person, household), [0, 50 * WEEKS_IN_YEAR] + ) + + +def test_a_loss_on_other_property_does_not_reduce_subletting_rent(): + person, household = make_tables( + [(1, 1_001, HRP, 30, LOSS, 0)], + [(1, OWNED_OUTRIGHT, 80, AFTER_EXPENSES)], + ) + np.testing.assert_allclose( + frs_property_income(person, household), [80 * WEEKS_IN_YEAR] + ) + + +def test_rent_with_no_profit_or_loss_answer_still_counts(): + # Only an explicit loss removes the amount. + person, household = make_tables( + [(1, 1_001, HRP, 50, NOT_ASKED, 0)], [(1, OWNED_OUTRIGHT, 0, 0)] + ) + np.testing.assert_allclose( + frs_property_income(person, household), [50 * WEEKS_IN_YEAR] + ) + + +@pytest.mark.parametrize("tenure", TENURES) +def test_subletting_rent_goes_to_the_household_reference_person(tenure): + # Every tenure is asked SubLet, so renting households count too. + person, household = make_tables( + [(1, 1_001, NOT_HRP, 0, NOT_ASKED, 0), (1, 1_002, HRP, 0, NOT_ASKED, 0)], + [(1, tenure, 80, BEFORE_EXPENSES)], ) np.testing.assert_allclose( frs_property_income(person, household), [0, 80 * WEEKS_IN_YEAR] ) +@pytest.mark.parametrize("suballow", [0, BEFORE_EXPENSES, AFTER_EXPENSES]) +def test_subletting_rent_is_used_as_reported_whatever_its_expenses_basis(suballow): + person, household = make_tables( + [(1, 1_001, HRP, 0, NOT_ASKED, 0)], + [(1, PRIVATE_RENTED_FURNISHED, 80, suballow)], + ) + np.testing.assert_allclose( + frs_property_income(person, household), [80 * WEEKS_IN_YEAR] + ) + + def test_negative_amounts_do_not_become_negative_income(): person, household = make_tables( - [(1, 1_001, HRP, -30, 0), (1, 1_002, NOT_HRP, -5, 0)], - [(1, OWNED_OUTRIGHT, 10)], + [(1, 1_001, HRP, -30, PROFIT, 0), (1, 1_002, NOT_HRP, -5, PROFIT, 0)], + [(1, OWNED_OUTRIGHT, 10, AFTER_EXPENSES)], ) assert frs_property_income(person, household).tolist() == [0, 0] @@ -59,15 +113,18 @@ def test_negative_amounts_do_not_become_negative_income(): def test_adult_and_child_rows_sharing_index_labels(): # create_frs stacks the adult and child tables, so index labels repeat. adults, household = make_tables( - [(1, 1_001, HRP, 20, 0), (2, 2_001, HRP, 0, 60)], - [(1, OWNED_OUTRIGHT, 80), (2, PRIVATE_RENTED_FURNISHED, 0)], + [(1, 1_001, HRP, 20, PROFIT, 0), (2, 2_001, HRP, 40, LOSS, 60)], + [ + (1, OWNED_OUTRIGHT, 80, BEFORE_EXPENSES), + (2, PRIVATE_RENTED_FURNISHED, 30, AFTER_EXPENSES), + ], ) - children, _ = make_tables([(1, 1_002, 0, 0, 0)], []) + children, _ = make_tables([(1, 1_002, 0, 0, NOT_ASKED, 0)], []) person = pd.concat([adults, children]).sort_index(kind="stable") assert person.index.tolist() == [0, 0, 1] np.testing.assert_allclose( frs_property_income(person, household), - [100 * WEEKS_IN_YEAR, 0, 0], + [100 * WEEKS_IN_YEAR, 0, 30 * WEEKS_IN_YEAR], ) @@ -78,45 +135,88 @@ def random_tables(seed: int): for household_id in range(1, rng.integers(1, 30) + 1): tenure = int(rng.integers(1, 9)) subrent = float(rng.choice([0, rng.uniform(0, 500)])) - households.append((household_id, tenure, subrent)) + suballow = int(rng.integers(1, 3)) if subrent else 0 + households.append((household_id, tenure, subrent, suballow)) for person in range(1, rng.integers(1, 5) + 1): + royyr1 = float(rng.choice([0, rng.uniform(0, 2_000)])) people.append( ( household_id, household_id * 1_000 + person, HRP if person == 1 else NOT_HRP, - float(rng.choice([0, rng.uniform(0, 2_000)])), + royyr1, + int(rng.choice([PROFIT, PROFIT, LOSS])) if royyr1 else NOT_ASKED, float(rng.choice([0, rng.uniform(0, 400)])), ) ) return make_tables(people, households) +def property_income_one_person_at_a_time(person, household): + """The same rules written as a loop, to check the vectorised helper.""" + result = [] + for row in person.itertuples(): + weekly = 0.0 + if row.rentprof != LOSS: + weekly += row.royyr1 + if row.hrpid == HRP and row.household_id in household.index: + weekly += household.subrent[row.household_id] + result.append(max(0.0, weekly) * WEEKS_IN_YEAR) + return np.array(result) + + SEEDS = range(200) @pytest.mark.parametrize("seed", SEEDS) -def test_property_income_does_not_depend_on_cvpay(seed): +def test_property_income_matches_the_loop_version(seed): person, household = random_tables(seed) - without_cvpay = person.assign(cvpay=0.0) + np.testing.assert_allclose( + frs_property_income(person, household), + property_income_one_person_at_a_time(person, household), + ) + + +@pytest.mark.parametrize("seed", SEEDS) +def test_property_income_does_not_depend_on_cvpay_tenure_or_expenses_basis(seed): + person, household = random_tables(seed) + rng = np.random.default_rng(seed) + other_person = person.assign(cvpay=rng.uniform(0, 400, len(person))) + other_household = household.assign( + tentyp2=rng.integers(1, 9, len(household)), + suballow=rng.integers(1, 3, len(household)), + ) np.testing.assert_array_equal( frs_property_income(person, household), - frs_property_income(without_cvpay, household), + frs_property_income(other_person, other_household), ) @pytest.mark.parametrize("seed", SEEDS) def test_property_income_conserves_reported_rent(seed): - # Each owner household's SUBRENT is counted once (on its HRP) and every - # ROYYR1 is counted on its own record, so the totals match. + # Each household's SUBRENT is counted once (on its HRP) and every ROYYR1 + # that is not a loss is counted on its own record, so the totals match. person, household = random_tables(seed) result = frs_property_income(person, household) assert (result >= 0).all() - owner = household.tentyp2.isin((OWNED_WITH_MORTGAGE, OWNED_OUTRIGHT)) - expected = (household.subrent[owner].sum() + person.royyr1.sum()) * WEEKS_IN_YEAR + profits = person.royyr1[person.rentprof != LOSS] + expected = (household.subrent.sum() + profits.sum()) * WEEKS_IN_YEAR assert result.sum() == pytest.approx(expected) +@pytest.mark.parametrize("seed", SEEDS) +def test_marking_rent_as_a_loss_removes_it_from_that_person_only(seed): + person, household = random_tables(seed) + before = frs_property_income(person, household) + row = seed % len(person) + was_counted = person.loc[row, "rentprof"] != LOSS + person.loc[row, "rentprof"] = LOSS + after = frs_property_income(person, household) + change = np.zeros(len(person)) + change[row] = -person.loc[row, "royyr1"] * WEEKS_IN_YEAR * was_counted + np.testing.assert_allclose(after - before, change, atol=1e-6) + + @pytest.mark.parametrize("seed", SEEDS) def test_extra_rent_from_other_property_moves_only_that_person(seed): person, household = random_tables(seed) @@ -125,5 +225,60 @@ def test_extra_rent_from_other_property_moves_only_that_person(seed): person.loc[row, "royyr1"] += 10 after = frs_property_income(person, household) change = np.zeros(len(person)) - change[row] = 10 * WEEKS_IN_YEAR - np.testing.assert_allclose(after - before, change) + change[row] = 10 * WEEKS_IN_YEAR * (person.loc[row, "rentprof"] != LOSS) + np.testing.assert_allclose(after - before, change, atol=1e-6) + + +@pytest.mark.parametrize("seed", SEEDS) +def test_extra_subletting_rent_moves_only_that_households_reference_person(seed): + person, household = random_tables(seed) + before = frs_property_income(person, household) + household_id = household.index[seed % len(household)] + household.loc[household_id, "subrent"] += 10 + after = frs_property_income(person, household) + is_its_hrp = (person.household_id == household_id) & (person.hrpid == HRP) + np.testing.assert_allclose( + after - before, is_its_hrp * 10 * WEEKS_IN_YEAR, atol=1e-6 + ) + + +def test_built_frs_matches_the_raw_tables(frs): + """The built base FRS against a merge-based reading of the raw tables. + + Covers the call site in ``create_frs`` and the raw column names and codes. + The assertion carries no values, because the dataset is licensed microdata. + """ + raw_folder = STORAGE_FOLDER / CURRENT_FRS_RELEASE.name + if not (raw_folder / "adult.tab").exists(): + pytest.skip("Raw FRS tables not available") + adult = pd.read_csv( + raw_folder / "adult.tab", + sep="\t", + usecols=lambda c: ( + c.upper() in ("SERNUM", "PERSON", "HRPID", "ROYYR1", "RENTPROF") + ), + ) + househol = pd.read_csv( + raw_folder / "househol.tab", + sep="\t", + usecols=lambda c: c.upper() in ("SERNUM", "SUBRENT"), + ) + adult.columns = adult.columns.str.upper() + househol.columns = househol.columns.str.upper() + raw = adult.merge(househol, on="SERNUM", how="left").apply( + pd.to_numeric, errors="coerce" + ) + profit = raw.ROYYR1.where(raw.RENTPROF != 2, 0).fillna(0) + subrent = raw.SUBRENT.where(raw.HRPID == 1, 0).fillna(0) + expected = pd.Series( + ((profit + subrent).clip(lower=0) * WEEKS_IN_YEAR).values, + index=(raw.SERNUM * 1_000 + raw.PERSON).astype(int), + ) + built = pd.Series( + frs.person.property_income.values, index=frs.person.person_id.values + ) + adults_match = np.allclose(built.reindex(expected.index), expected, atol=0.01) + children_have_none = (built.drop(expected.index) == 0).all() + assert adults_match and children_have_none, ( + "property_income in the built FRS differs from the raw FRS tables" + ) diff --git a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py index 5f1acd85f..5beb95ab3 100644 --- a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py +++ b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py @@ -442,6 +442,7 @@ def fake_read_csv(path, *args, **kwargs): "mntus1": 0, "mntusam1": 0, "redamt": 0, + "rentprof": 0, "royyr1": 0, "seincam2": 0, "sex": 1, From cc937e0555d7ead58fc980b41b1959510709b1db Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 1 Oct 2026 09:54:34 -0400 Subject: [PATCH 06/70] Floor each property amount at zero before adding them Negative FRS values are missing-value codes (-1 to -9), not amounts. Flooring the sum let a missing ROYYR1 code cancel the household reference person's SUBRENT, which now matters for renting households too. Floor each amount instead. FRS 2024-25 has no negative codes in either field, so the build is unchanged. Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/datasets/frs.py | 10 ++-- .../tests/test_frs_property_income.py | 55 ++++++++++++------- 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index abd521401..c7f8e1795 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -243,6 +243,9 @@ def frs_property_income(person: pd.DataFrame, household: pd.DataFrame) -> np.nda or after (2) allowable expenses, but the FRS collects no expense amount to take off the before-expenses answers. + Negative values are FRS missing-value codes (-1 to -9), not amounts, so + each amount is floored at zero before the two are added. + CVPAY is not included. It is the rent that a boarder or lodger pays the householder, and it sits on the boarder's or lodger's own adult record. The FRS question (CvPay) asks how much rent [name] paid for board and @@ -250,14 +253,13 @@ def frs_property_income(person: pd.DataFrame, household: pd.DataFrame) -> np.nda """ is_head = person.hrpid == 1 persons_household_subrent = ( - household.subrent.reindex(person.household_id).fillna(0).values + household.subrent.clip(lower=0).reindex(person.household_id).fillna(0).values ) - rent_from_other_property = person.royyr1.where( + rent_from_other_property = person.royyr1.clip(lower=0).where( person.rentprof != FRS_RENTPROF_LOSS, 0 ) return ( - np.maximum(0, is_head * persons_household_subrent + rent_from_other_property) - * WEEKS_IN_YEAR + (is_head * persons_household_subrent + rent_from_other_property) * WEEKS_IN_YEAR ).values diff --git a/policyengine_uk_data/tests/test_frs_property_income.py b/policyengine_uk_data/tests/test_frs_property_income.py index 1abcf931a..5fb2982c5 100644 --- a/policyengine_uk_data/tests/test_frs_property_income.py +++ b/policyengine_uk_data/tests/test_frs_property_income.py @@ -12,6 +12,8 @@ HRP, NOT_HRP = 1, 2 NOT_ASKED, PROFIT, LOSS = 0, 1, FRS_RENTPROF_LOSS +# FRS missing-value codes run from -1 to -9. +MISSING, REFUSED = -1, -9 OWNED_WITH_MORTGAGE, OWNED_OUTRIGHT = 5, 6 COUNCIL_RENTED, PRIVATE_RENTED_FURNISHED = 1, 4 TENURES = range(1, 9) @@ -102,12 +104,20 @@ def test_subletting_rent_is_used_as_reported_whatever_its_expenses_basis(suballo ) -def test_negative_amounts_do_not_become_negative_income(): +def test_missing_value_codes_count_as_zero(): + # A missing code in one amount neither becomes income nor cancels the other. person, household = make_tables( - [(1, 1_001, HRP, -30, PROFIT, 0), (1, 1_002, NOT_HRP, -5, PROFIT, 0)], - [(1, OWNED_OUTRIGHT, 10, AFTER_EXPENSES)], + [ + (1, 1_001, HRP, MISSING, MISSING, 0), + (1, 1_002, NOT_HRP, REFUSED, MISSING, 0), + (2, 2_001, HRP, 50, PROFIT, 0), + ], + [(1, COUNCIL_RENTED, 10, AFTER_EXPENSES), (2, OWNED_OUTRIGHT, MISSING, 0)], + ) + np.testing.assert_allclose( + frs_property_income(person, household), + [10 * WEEKS_IN_YEAR, 0, 50 * WEEKS_IN_YEAR], ) - assert frs_property_income(person, household).tolist() == [0, 0] def test_adult_and_child_rows_sharing_index_labels(): @@ -134,18 +144,22 @@ def random_tables(seed: int): people, households = [], [] for household_id in range(1, rng.integers(1, 30) + 1): tenure = int(rng.integers(1, 9)) - subrent = float(rng.choice([0, rng.uniform(0, 500)])) - suballow = int(rng.integers(1, 3)) if subrent else 0 + subrent = float(rng.choice([0, MISSING, rng.uniform(0, 500)])) + suballow = int(rng.integers(1, 3)) if subrent > 0 else 0 households.append((household_id, tenure, subrent, suballow)) for person in range(1, rng.integers(1, 5) + 1): - royyr1 = float(rng.choice([0, rng.uniform(0, 2_000)])) + royyr1 = float(rng.choice([0, MISSING, rng.uniform(0, 2_000)])) + if royyr1 > 0: + rentprof = int(rng.choice([PROFIT, PROFIT, LOSS])) + else: + rentprof = MISSING if royyr1 < 0 else NOT_ASKED people.append( ( household_id, household_id * 1_000 + person, HRP if person == 1 else NOT_HRP, royyr1, - int(rng.choice([PROFIT, PROFIT, LOSS])) if royyr1 else NOT_ASKED, + rentprof, float(rng.choice([0, rng.uniform(0, 400)])), ) ) @@ -158,10 +172,10 @@ def property_income_one_person_at_a_time(person, household): for row in person.itertuples(): weekly = 0.0 if row.rentprof != LOSS: - weekly += row.royyr1 + weekly += max(0.0, row.royyr1) if row.hrpid == HRP and row.household_id in household.index: - weekly += household.subrent[row.household_id] - result.append(max(0.0, weekly) * WEEKS_IN_YEAR) + weekly += max(0.0, household.subrent[row.household_id]) + result.append(weekly * WEEKS_IN_YEAR) return np.array(result) @@ -199,8 +213,9 @@ def test_property_income_conserves_reported_rent(seed): person, household = random_tables(seed) result = frs_property_income(person, household) assert (result >= 0).all() - profits = person.royyr1[person.rentprof != LOSS] - expected = (household.subrent.sum() + profits.sum()) * WEEKS_IN_YEAR + profits = person.royyr1.clip(lower=0)[person.rentprof != LOSS] + subrent = household.subrent.clip(lower=0) + expected = (subrent.sum() + profits.sum()) * WEEKS_IN_YEAR assert result.sum() == pytest.approx(expected) @@ -213,7 +228,7 @@ def test_marking_rent_as_a_loss_removes_it_from_that_person_only(seed): person.loc[row, "rentprof"] = LOSS after = frs_property_income(person, household) change = np.zeros(len(person)) - change[row] = -person.loc[row, "royyr1"] * WEEKS_IN_YEAR * was_counted + change[row] = -max(0, person.loc[row, "royyr1"]) * WEEKS_IN_YEAR * was_counted np.testing.assert_allclose(after - before, change, atol=1e-6) @@ -222,7 +237,7 @@ def test_extra_rent_from_other_property_moves_only_that_person(seed): person, household = random_tables(seed) before = frs_property_income(person, household) row = seed % len(person) - person.loc[row, "royyr1"] += 10 + person.loc[row, "royyr1"] = max(0, person.loc[row, "royyr1"]) + 10 after = frs_property_income(person, household) change = np.zeros(len(person)) change[row] = 10 * WEEKS_IN_YEAR * (person.loc[row, "rentprof"] != LOSS) @@ -234,7 +249,9 @@ def test_extra_subletting_rent_moves_only_that_households_reference_person(seed) person, household = random_tables(seed) before = frs_property_income(person, household) household_id = household.index[seed % len(household)] - household.loc[household_id, "subrent"] += 10 + household.loc[household_id, "subrent"] = ( + max(0, household.loc[household_id, "subrent"]) + 10 + ) after = frs_property_income(person, household) is_its_hrp = (person.household_id == household_id) & (person.hrpid == HRP) np.testing.assert_allclose( @@ -268,10 +285,10 @@ def test_built_frs_matches_the_raw_tables(frs): raw = adult.merge(househol, on="SERNUM", how="left").apply( pd.to_numeric, errors="coerce" ) - profit = raw.ROYYR1.where(raw.RENTPROF != 2, 0).fillna(0) - subrent = raw.SUBRENT.where(raw.HRPID == 1, 0).fillna(0) + profit = raw.ROYYR1.clip(lower=0).where(raw.RENTPROF != 2, 0).fillna(0) + subrent = raw.SUBRENT.clip(lower=0).where(raw.HRPID == 1, 0).fillna(0) expected = pd.Series( - ((profit + subrent).clip(lower=0) * WEEKS_IN_YEAR).values, + ((profit + subrent) * WEEKS_IN_YEAR).values, index=(raw.SERNUM * 1_000 + raw.PERSON).astype(int), ) built = pd.Series( From e2e37ba72166d23e0de1a3ade1fb12990182bd55 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 1 Oct 2026 09:57:29 -0400 Subject: [PATCH 07/70] Fix create_frs smoke test; use policyengine-uk's claimant-or-partner flag The create_frs smoke test's fake simulation did not answer the variables the would_claim_uc rule now reads (person_benunit_id, is_adult, is_SP_age), which failed CI with KeyError: 'person_benunit_id'. Pick the claimant-and-partner flag the way the locked policyengine-uk does for Housing Benefit's pension-age route: is_claimant_or_partner where the release defines it, otherwise is_adult as in 2.102.5. Both the would_claim_uc rule and the age-group targets use it. Under 2.102.5 the base FRS is identical to the previous commit's in every column. Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/datasets/frs.py | 42 ++++++++++--------- .../targets/sources/dwp_housing_benefit.py | 14 +++++-- .../tests/test_dwp_housing_benefit_targets.py | 1 + .../tests/test_legacy_benefit_proxies.py | 9 +++- .../tests/test_would_claim_uc_pension_age.py | 28 +++++++++---- policyengine_uk_data/utils/benefit_units.py | 15 +++++++ 6 files changed, 75 insertions(+), 34 deletions(-) create mode 100644 policyengine_uk_data/utils/benefit_units.py diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index 94e40c2a6..6b5b13b27 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -24,6 +24,7 @@ add_disability_benefit_flags_from_reported_amounts, drop_internal_disability_reported_amounts, ) +from policyengine_uk_data.utils.benefit_units import claimant_or_partner_variable from policyengine_uk_data.utils.datasets import ( sum_to_entity, categorical, @@ -392,37 +393,36 @@ def derive_is_parent_from_frs_microdata( return is_adult_record & has_dependent_children -def derive_every_adult_over_state_pension_age( +def derive_all_claimants_over_state_pension_age( person_benunit_ids, - is_adult, + is_claimant_or_partner, is_over_state_pension_age, benunit_ids, ) -> np.ndarray: - """Identify benefit units with an adult, all of whose adults have reached + """Identify benefit units whose claimant and any partner have all reached State Pension age. Such a unit cannot claim Universal Credit (Welfare Reform Act 2012 - s.4(1)(b)). The inputs are policyengine-uk's ``is_adult`` and - ``is_SP_age``, as in the pension-age route of its - ``housing_benefit_eligible``, so an 18 or 19 year old dependant makes the - unit working-age here as it does there. + s.4(1)(b)). ``is_claimant_or_partner`` should be the variable that + ``claimant_or_partner_variable`` names, so the rule matches the + pension-age route of policyengine-uk's ``housing_benefit_eligible``. """ - is_adult = np.asarray(is_adult, dtype=bool) - over = is_adult & np.asarray(is_over_state_pension_age, dtype=bool) + claimant = np.asarray(is_claimant_or_partner, dtype=bool) + over = claimant & np.asarray(is_over_state_pension_age, dtype=bool) counts = ( pd.DataFrame( { "benunit": np.asarray(person_benunit_ids), - "adults": is_adult.astype(int), + "claimants": claimant.astype(int), "over": over.astype(int), } ) - .groupby("benunit")[["adults", "over"]] + .groupby("benunit")[["claimants", "over"]] .sum() .reindex(np.asarray(benunit_ids), fill_value=0) ) - return ((counts.adults > 0) & (counts.over == counts.adults)).to_numpy() + return ((counts.claimants > 0) & (counts.over == counts.claimants)).to_numpy() def _as_non_negative_array(values) -> np.ndarray: @@ -1570,19 +1570,21 @@ def _reported_benunit_mask(person_column: str) -> np.ndarray: pension_credit_rate, reported_mask=_reported_benunit_mask("pension_credit_reported"), ) - # A benefit unit whose adults have all reached State Pension age cannot - # claim Universal Credit, so it never gets would_claim_uc, even if it - # reports UC. The draw still covers every unit, so the random stream and - # every other unit's value are unchanged. Ages are not rolled forward, so - # if State Pension age rises above an adult's survey age in a later year, - # that unit stays without would_claim_uc there. + # A benefit unit whose claimant and any partner have all reached State + # Pension age cannot claim Universal Credit, so it never gets + # would_claim_uc, even if it reports UC. The draw still covers every unit, + # so the random stream and every other unit's value are unchanged. Ages + # are not rolled forward, so if State Pension age rises above a claimant's + # survey age in a later year, that unit stays without would_claim_uc there. pe_benunit["would_claim_uc"] = assign_takeup_with_reported_anchors( generator.random(len(pe_benunit)), universal_credit_rate, reported_mask=_reported_benunit_mask("universal_credit_reported"), - ) & ~derive_every_adult_over_state_pension_age( + ) & ~derive_all_claimants_over_state_pension_age( person_benunit_ids=sim.calculate("person_benunit_id", year).values, - is_adult=sim.calculate("is_adult", year).values, + is_claimant_or_partner=sim.calculate( + claimant_or_partner_variable(sim.tax_benefit_system.variables), year + ).values, is_over_state_pension_age=sim.calculate("is_SP_age", year).values, benunit_ids=pe_benunit.benunit_id, ) diff --git a/policyengine_uk_data/targets/sources/dwp_housing_benefit.py b/policyengine_uk_data/targets/sources/dwp_housing_benefit.py index 79870d13d..eff5309f8 100644 --- a/policyengine_uk_data/targets/sources/dwp_housing_benefit.py +++ b/policyengine_uk_data/targets/sources/dwp_housing_benefit.py @@ -23,8 +23,8 @@ pension-age rules apply when the claimant or partner has reached the qualifying age for Pension Credit, unless either is on Universal Credit, Income Support, income-based JSA or income-related ESA. A benefit unit is -therefore over Pension Credit qualifying age here when one of its adults -has reached State Pension age and it gets none of those benefits. Mixed-age +therefore over Pension Credit qualifying age here when its claimant or +partner has reached State Pension age and it gets none of those benefits. Mixed-age couples who kept pension-age Housing Benefit after May 2019 fall in the older group; DWP does not publish its rule for them, and this assumes they sit in its Pension Credit and State Pension groups. @@ -46,6 +46,7 @@ import numpy as np from policyengine_uk_data.targets.schema import GREAT_BRITAIN, Target, Unit +from policyengine_uk_data.utils.benefit_units import claimant_or_partner_variable _REFERENCE_URL = ( "https://www.gov.uk/government/publications/" @@ -117,8 +118,13 @@ def _over_pension_credit_age(ctx) -> np.ndarray: """Benefit units assessed under the pension-age Housing Benefit rules.""" - adult = np.asarray(ctx.pe_person("is_adult"), dtype=bool) - over = adult & np.asarray(ctx.pe_person("is_SP_age"), dtype=bool) + claimant = np.asarray( + ctx.pe_person( + claimant_or_partner_variable(ctx.sim.tax_benefit_system.variables) + ), + dtype=bool, + ) + over = claimant & np.asarray(ctx.pe_person("is_SP_age"), dtype=bool) any_over = ( np.asarray(ctx.sim.map_result(over.astype(float), "person", "benunit")) > 0 ) diff --git a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py index 549006b42..d9a805f14 100644 --- a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py +++ b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py @@ -132,6 +132,7 @@ def map_result(values, source, target): person = {"is_adult": np.asarray(is_adult), "is_SP_age": np.asarray(is_sp_age)} benunit_values = {"housing_benefit": benunit_hb, **(benunit_benefits or {})} sim = SimpleNamespace( + tax_benefit_system=SimpleNamespace(variables={"is_adult": None}), map_result=map_result, calculate=lambda variable: SimpleNamespace( values=np.asarray( diff --git a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py index 5f1acd85f..a6af94e3f 100644 --- a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py +++ b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py @@ -299,6 +299,7 @@ def __init__(self, dataset): "FakeTaxBenefitSystem", (), { + "variables": {"is_adult": None}, "parameters": lambda self, year: type( "FakeParametersRoot", (), @@ -349,7 +350,7 @@ def __init__(self, dataset): }, )() }, - )() + )(), }, )() @@ -360,6 +361,12 @@ def calculate(self, variable, year=None): return np.array([100]) if variable == "state_pension_age": return pd.Series([66]) + if variable == "person_benunit_id": + return pd.Series(self.dataset.person.person_benunit_id.values) + if variable == "is_adult": + return pd.Series(self.dataset.person.age.values >= 18) + if variable == "is_SP_age": + return pd.Series(self.dataset.person.age.values >= 66) if variable in ( "childcare_grant", "parents_learning_allowance", diff --git a/policyengine_uk_data/tests/test_would_claim_uc_pension_age.py b/policyengine_uk_data/tests/test_would_claim_uc_pension_age.py index 251848335..b6a4f634d 100644 --- a/policyengine_uk_data/tests/test_would_claim_uc_pension_age.py +++ b/policyengine_uk_data/tests/test_would_claim_uc_pension_age.py @@ -5,17 +5,18 @@ from hypothesis import strategies as st from policyengine_uk_data.datasets.frs import ( - derive_every_adult_over_state_pension_age, + derive_all_claimants_over_state_pension_age, ) +from policyengine_uk_data.utils.benefit_units import claimant_or_partner_variable def test_examples(): - # Units: pensioner couple, mixed-age couple, working-age single, - # pensioner with an 18-year-old dependant, a unit with no adult, and a - # unit with no members at all. - result = derive_every_adult_over_state_pension_age( + # Units: pensioner couple, mixed-age couple, working-age single, a + # pensioner and a younger person flagged as claimant or partner, a unit + # with no claimant, and a unit with no members at all. + result = derive_all_claimants_over_state_pension_age( person_benunit_ids=[10, 10, 20, 20, 30, 40, 40, 50], - is_adult=[1, 1, 1, 1, 1, 1, 1, 0], + is_claimant_or_partner=[1, 1, 1, 1, 1, 1, 1, 0], is_over_state_pension_age=[1, 1, 1, 0, 0, 1, 0, 0], benunit_ids=[10, 20, 30, 40, 50, 60], ) @@ -33,9 +34,9 @@ def test_examples(): def test_matches_a_direct_definition(people, benunit_order): """Differential check against a per-unit loop, for any unit order.""" benunit_ids = np.array(benunit_order) - result = derive_every_adult_over_state_pension_age( + result = derive_all_claimants_over_state_pension_age( person_benunit_ids=[p[0] for p in people], - is_adult=[p[1] for p in people], + is_claimant_or_partner=[p[1] for p in people], is_over_state_pension_age=[p[2] for p in people], benunit_ids=benunit_ids, ) @@ -44,9 +45,18 @@ def test_matches_a_direct_definition(people, benunit_order): assert result[i] == (len(adults) > 0 and all(adults)) +def test_claimant_or_partner_variable_prefers_the_legal_flag(): + assert claimant_or_partner_variable({"is_adult": 0}) == "is_adult" + assert ( + claimant_or_partner_variable({"is_adult": 0, "is_claimant_or_partner": 0}) + == "is_claimant_or_partner" + ) + + def test_built_dataset_has_no_pension_age_uc_claimants(baseline): year = 2025 - adult = baseline.calculate("is_adult", year).values.astype(bool) + claimant = claimant_or_partner_variable(baseline.tax_benefit_system.variables) + adult = baseline.calculate(claimant, year).values.astype(bool) over = adult & baseline.calculate("is_SP_age", year).values.astype(bool) adults = baseline.map_result(adult.astype(float), "person", "benunit") adults_over = baseline.map_result(over.astype(float), "person", "benunit") diff --git a/policyengine_uk_data/utils/benefit_units.py b/policyengine_uk_data/utils/benefit_units.py new file mode 100644 index 000000000..fd098770b --- /dev/null +++ b/policyengine_uk_data/utils/benefit_units.py @@ -0,0 +1,15 @@ +"""Benefit-unit membership helpers shared by the dataset build and targets.""" + + +def claimant_or_partner_variable(variables) -> str: + """Name of the policyengine-uk variable marking a benefit unit's claimant + and any partner. + + Releases that define ``is_claimant_or_partner`` use it for Housing + Benefit's pension-age route. Earlier releases, such as 2.102.5, use + ``is_adult`` (age 18 or over) there, which also counts an 18 or 19 year + old dependant. + """ + if "is_claimant_or_partner" in variables: + return "is_claimant_or_partner" + return "is_adult" From 0b45992696e29137fb986ab0957db1621eb717fa Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 1 Oct 2026 15:38:59 -0400 Subject: [PATCH 08/70] Carry the FRS benefit-unit capital into pension_credit_reported_capital TOTCAPB3 (DWP's derived benefit-unit total of savings and investments) for every FRS benefit unit; -1 where missing or negative. Pension Credit counts the claimant's and partner's capital (SPCA 2002 s.5); the WAS household imputation gives FRS Pension Credit reporters a weighted median of 74,300 pounds against the survey's own 300 for those the model then finds not entitled. Co-Authored-By: Claude Opus 5.5 --- .../frs-pc-reported-capital.changed.md | 1 + policyengine_uk_data/datasets/frs.py | 31 +++++++++++++ .../test_pension_credit_reported_capital.py | 44 +++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 changelog.d/frs-pc-reported-capital.changed.md create mode 100644 policyengine_uk_data/tests/test_pension_credit_reported_capital.py diff --git a/changelog.d/frs-pc-reported-capital.changed.md b/changelog.d/frs-pc-reported-capital.changed.md new file mode 100644 index 000000000..7986dc739 --- /dev/null +++ b/changelog.d/frs-pc-reported-capital.changed.md @@ -0,0 +1 @@ +Carry each benefit unit's FRS total capital (TOTCAPB3) into policyengine-uk's `pension_credit_reported_capital`, so Pension Credit's capital test uses the survey's own benefit-unit capital instead of imputed household wealth. diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index e440d4869..5cdb760c0 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -570,6 +570,30 @@ def validate_frs_survey_year(raw_frs_folder, year: int) -> None: ) +def derive_pension_credit_reported_capital(benunit: pd.DataFrame) -> np.ndarray: + """Each benefit unit's capital as the FRS records it, for Pension Credit. + + ``TOTCAPB3`` is DWP's derived benefit-unit total of the adults' savings and + investments (current, savings and NS&I accounts, gilts, unit and investment + trusts, shares and bonds, ISAs, credit unions), the measure its FRS-based + National Statistics use. Pension Credit counts the claimant's capital and, + under the State Pension Credit Act 2002 s. 5, the partner's, which is what + this records. The household wealth imputation instead draws a household's + wealth from Wealth and Assets Survey households with similar income, + composition, tenure and region, with no information on means-tested + receipt, and policyengine-uk spreads it over the household's pension-age + adults. + + ``TOTCAPB3`` covers financial assets only: second homes and land, which + Pension Credit also counts, are not in it. A missing or negative value gives + -1, so policyengine-uk falls back to the household proxy. + """ + if "totcapb3" not in benunit.columns: + return np.full(len(benunit), -1.0) + capital = pd.to_numeric(benunit["totcapb3"], errors="coerce").to_numpy(dtype=float) + return np.where(np.isfinite(capital) & (capital >= 0), capital, -1.0) + + def create_frs( raw_frs_folder: str, year: int, @@ -1627,6 +1651,13 @@ def _reported_benunit_mask(person_column: str) -> np.ndarray: pe_benunit["is_married"] = benunit.famtypb2.isin([5, 7]) + # Pension Credit capital as the FRS records it for the benefit unit, in + # place of the household wealth proxy (policyengine-uk + # `pension_credit_reported_capital`). + pe_benunit["pension_credit_reported_capital"] = ( + derive_pension_credit_reported_capital(benunit) + ) + # Assign property_purchased to a share of households matching the UK # housing transaction rate, so only genuine purchasers are charged SDLT. # diff --git a/policyengine_uk_data/tests/test_pension_credit_reported_capital.py b/policyengine_uk_data/tests/test_pension_credit_reported_capital.py new file mode 100644 index 000000000..ca42cf438 --- /dev/null +++ b/policyengine_uk_data/tests/test_pension_credit_reported_capital.py @@ -0,0 +1,44 @@ +"""`pension_credit_reported_capital` from the FRS benefit-unit capital +measure (TOTCAPB3). + +Invariants: +1. A finite, non-negative TOTCAPB3 is carried over unchanged. +2. A missing, non-numeric or negative value gives -1 (policyengine-uk's + "none recorded" sentinel), so the household proxy applies. +3. Without a TOTCAPB3 column every benefit unit gets -1. +4. The output is always -1 or a non-negative number, one per benefit unit. +""" + +import numpy as np +import pandas as pd + +from policyengine_uk_data.datasets.frs import derive_pension_credit_reported_capital + + +def test_values_carry_over_and_invalid_values_fall_back(): + benunit = pd.DataFrame( + {"totcapb3": [0.0, 300.0, 2_900.0, 1_250_000.0, np.nan, -5.0, "x"]} + ) + result = derive_pension_credit_reported_capital(benunit) + assert result.tolist() == [0.0, 300.0, 2_900.0, 1_250_000.0, -1.0, -1.0, -1.0] + + +def test_missing_column_gives_sentinel(): + benunit = pd.DataFrame({"benunit_id": [101, 102, 201]}) + assert derive_pension_credit_reported_capital(benunit).tolist() == [-1.0] * 3 + + +def test_output_is_sentinel_or_non_negative_for_random_inputs(): + rng = np.random.default_rng(1_792) + for _ in range(50): + n = int(rng.integers(1, 200)) + values = rng.normal(5_000, 20_000, n) + values[rng.random(n) < 0.1] = np.nan + result = derive_pension_credit_reported_capital( + pd.DataFrame({"totcapb3": values}) + ) + assert len(result) == n + assert np.all((result == -1) | (result >= 0)) + keep = np.isfinite(values) & (values >= 0) + np.testing.assert_array_equal(result[keep], values[keep]) + assert np.all(result[~keep] == -1) From 96672af5f52586a279d40d37cf83816c3b2ab07e Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 01:16:36 -0400 Subject: [PATCH 09/70] Stop SPI-synthetic rows carrying benefit claims nobody observed The second-stage QRF draws each SPI-donor person's benefit reports from age, gender, region and incomes, with no view of the benefit unit or of health. Those reports then act as existing claims in policyengine-uk. The take-up anchors, receives_benefits_in_own_right and ssmg_reported were also left as the FRS donor's. On SPI-donor rows, this zeroes the income-related awards (UC, Pension Credit, Housing Benefit, CTR, IS, tax credits, income-related ESA and JSA, SSMG), the out-of-work benefits (contributory ESA and JSA, incapacity benefit, SDA) and Child Benefit, whose only use is the take-up anchor. It then rebuilds the anchors and receives_benefits_in_own_right from the rows' own reports. The zeroed columns stay in the QRF chain, so the values of the reports kept do not change. Also adds hypothesis as a dev extra, for the property tests. Co-Authored-By: Claude Opus 5.5 --- .gitignore | 3 + .../spi-synthetic-reported-benefits.fixed.md | 1 + policyengine_uk_data/datasets/frs.py | 47 +++-- .../datasets/imputations/frs_only.py | 102 +++++++++- .../tests/test_frs_only_imputation.py | 25 +-- .../tests/test_spi_donor_benefit_rules.py | 187 ++++++++++++++++++ pyproject.toml | 5 +- uv.lock | 73 ++++++- 8 files changed, 409 insertions(+), 34 deletions(-) create mode 100644 changelog.d/spi-synthetic-reported-benefits.fixed.md create mode 100644 policyengine_uk_data/tests/test_spi_donor_benefit_rules.py diff --git a/.gitignore b/.gitignore index 9a741bc49..5c1ab2385 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,6 @@ **/_build !policyengine_uk_data/storage/*.csv **/version.json + +# Hypothesis example database (property-based tests) +.hypothesis/ diff --git a/changelog.d/spi-synthetic-reported-benefits.fixed.md b/changelog.d/spi-synthetic-reported-benefits.fixed.md new file mode 100644 index 000000000..f315e0118 --- /dev/null +++ b/changelog.d/spi-synthetic-reported-benefits.fixed.md @@ -0,0 +1 @@ +SPI-synthetic rows no longer report income-related, out-of-work or Child Benefit receipt, and their take-up flags and `receives_benefits_in_own_right` come from their own reports instead of the FRS donor's. diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index e440d4869..82f31fe55 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -74,6 +74,14 @@ "esa_contrib_reported", "esa_income_reported", ) +# Take-up flags anchored on reported receipt: flag -> (take-up rate +# parameter, person-level report column). A benefit unit with any member +# reporting receipt claims with certainty; the rest are filled at random. +REPORTED_TAKEUP_ANCHORS = { + "would_claim_child_benefit": ("child_benefit", "child_benefit_reported"), + "would_claim_pc": ("pension_credit", "pension_credit_reported"), + "would_claim_uc": ("universal_credit", "universal_credit_reported"), +} NON_ADVANCED_EDUCATION_LEVELS = ( "PRE_PRIMARY", "PRIMARY", @@ -211,6 +219,16 @@ def derive_esa_support_group_proxy( ) +def reported_benunit_mask( + person: pd.DataFrame, benunit: pd.DataFrame, person_column: str +) -> np.ndarray: + """Benefit units with any member reporting a positive ``person_column``.""" + reporter_benunits = set( + person.loc[person[person_column] > 0, "person_benunit_id"].values + ) + return benunit["benunit_id"].isin(reporter_benunits).values + + def derive_receives_benefits_in_own_right(pe_person: pd.DataFrame) -> pd.Series: """Identify people reporting adult benefits that end QYP status.""" @@ -1511,11 +1529,14 @@ def determine_education_level(fted_val, typeed2_val, age_val): assign_takeup_with_reported_anchors, ) - def _reported_benunit_mask(person_column: str) -> np.ndarray: - reporter_benunits = set( - pe_person.loc[pe_person[person_column] > 0, "person_benunit_id"].values + def _anchored_takeup(flag: str, rate: float) -> np.ndarray: + return assign_takeup_with_reported_anchors( + generator.random(len(pe_benunit)), + rate, + reported_mask=reported_benunit_mask( + pe_person, pe_benunit, REPORTED_TAKEUP_ANCHORS[flag][1] + ), ) - return pe_benunit["benunit_id"].isin(reporter_benunits).values # Person-level pe_person["would_claim_marriage_allowance"] = ( @@ -1524,23 +1545,17 @@ def _reported_benunit_mask(person_column: str) -> np.ndarray: # Benefit unit-level — anchor on any adult in the benefit unit having # reported positive receipt in the FRS benefits table. - pe_benunit["would_claim_child_benefit"] = assign_takeup_with_reported_anchors( - generator.random(len(pe_benunit)), - child_benefit_rate, - reported_mask=_reported_benunit_mask("child_benefit_reported"), + pe_benunit["would_claim_child_benefit"] = _anchored_takeup( + "would_claim_child_benefit", child_benefit_rate ) pe_benunit["child_benefit_opts_out"] = ( generator.random(len(pe_benunit)) < child_benefit_opts_out_rate ) - pe_benunit["would_claim_pc"] = assign_takeup_with_reported_anchors( - generator.random(len(pe_benunit)), - pension_credit_rate, - reported_mask=_reported_benunit_mask("pension_credit_reported"), + pe_benunit["would_claim_pc"] = _anchored_takeup( + "would_claim_pc", pension_credit_rate ) - pe_benunit["would_claim_uc"] = assign_takeup_with_reported_anchors( - generator.random(len(pe_benunit)), - universal_credit_rate, - reported_mask=_reported_benunit_mask("universal_credit_reported"), + pe_benunit["would_claim_uc"] = _anchored_takeup( + "would_claim_uc", universal_credit_rate ) pe_benunit["would_claim_tfc"] = generator.random(len(pe_benunit)) < tfc_rate diff --git a/policyengine_uk_data/datasets/imputations/frs_only.py b/policyengine_uk_data/datasets/imputations/frs_only.py index 242fbf247..036215650 100644 --- a/policyengine_uk_data/datasets/imputations/frs_only.py +++ b/policyengine_uk_data/datasets/imputations/frs_only.py @@ -40,6 +40,13 @@ add_disability_benefit_categories_from_reported_amounts, add_disability_benefit_flags_from_reported_amounts, ) +from policyengine_uk_data.datasets.frs import ( + BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS, + REPORTED_TAKEUP_ANCHORS, + reported_benunit_mask, +) +from policyengine_uk_data.parameters import load_take_up_rate +from policyengine_uk_data.utils.takeup import assign_takeup_with_reported_anchors logger = logging.getLogger(__name__) @@ -102,6 +109,91 @@ "esa_income_reported", ] +# Benefit reports set to zero on SPI-donor rows once the QRF has drawn them. +# The QRF draws each person's reports from their age, gender, region and +# incomes; it sees nothing of their benefit unit (partner, children, rent, +# capital) or of their health. A report says the person is an existing +# claimant, and policyengine-uk acts on that, so these are zeroed: +# +# - Income-related awards. Entitlement turns on the benefit unit's joint +# means and make-up, which on these rows come from the imputed incomes, so +# the model's own means test is the only coherent source. A report would +# instead be a continuing-award gate (housing benefit, income support, tax +# credits, income-related ESA and JSA), the paid amount (income-related +# ESA and JSA; council tax reduction where the model has no scheme) or a +# certain-claim anchor (UC, Pension Credit). Sure Start Maternity Grant +# needs one of these awards and is copied from the donor, not drawn. +# - Benefits paid only to people out of work or incapable of it: ESA and +# JSA (contributory), incapacity benefit and severe disablement allowance. +# On the 2024-25 build, 76% of SPI-row ESA (contributory) reporters earned +# more than ESA's permitted-work limit, against 2% of FRS reporters. +# - Child Benefit, whose only use is the take-up anchor. The draw ignores +# the children: on the 2024-25 build, 44% of SPI-row reports were in +# benefit units without a child under 16 (FRS rows: 8%). +# +# State pension (driven by age), winter fuel payment (not read by the +# model), the disability benefits, carer's allowance (the draws respect its +# earnings limit) and IIDB, AFCS and bereavement support (payable at any +# income) keep their drawn values. The zeroed columns stay in the QRF chain +# above so that the values kept do not change. +SPI_DONOR_ZEROED_PERSON_VARIABLES = [ + "universal_credit_reported", + "pension_credit_reported", + "housing_benefit_reported", + "council_tax_benefit_reported", + "income_support_reported", + "working_tax_credit_reported", + "child_tax_credit_reported", + "jsa_income_reported", + "esa_income_reported", + "ssmg_reported", + "jsa_contrib_reported", + "esa_contrib_reported", + "incapacity_benefit_reported", + "sda_reported", + "child_benefit_reported", +] + +# Seed for the take-up draws on SPI-donor rows; create_frs uses 100. +SPI_DONOR_TAKEUP_SEED = 101 + + +def apply_spi_donor_benefit_rules( + dataset: UKSingleYearDataset, +) -> UKSingleYearDataset: + """Zero SPI-donor benefit reports and re-derive the flags built from them. + + ``create_frs`` sets ``receives_benefits_in_own_right`` and the + report-anchored take-up flags from the donor's own reports, before the + SPI rows exist. Here they are rebuilt from the rows' own reports: a unit + reporting receipt claims, and the rest draw at the take-up rate. With the + anchoring reports zeroed, every SPI-donor unit draws at the rate, since + whether a synthetic family claims is unobserved. + """ + dataset = dataset.copy() + person, benunit = dataset.person, dataset.benunit + for column in SPI_DONOR_ZEROED_PERSON_VARIABLES: + if column in person.columns: + person[column] = 0.0 + + own_right = [c for c in BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS if c in person] + if "receives_benefits_in_own_right" in person.columns: + person["receives_benefits_in_own_right"] = ( + person[own_right].fillna(0).sum(axis=1) > 0 + ) + + year = int(str(dataset.time_period)[:4]) + generator = np.random.default_rng(seed=SPI_DONOR_TAKEUP_SEED) + for flag, (rate_name, column) in REPORTED_TAKEUP_ANCHORS.items(): + if flag not in benunit.columns or column not in person.columns: + continue + benunit[flag] = assign_takeup_with_reported_anchors( + generator.random(len(benunit)), + load_take_up_rate(rate_name, year), + reported_mask=reported_benunit_mask(person, benunit, column), + ) + return dataset + def _one_hot_encode(df: pd.DataFrame, columns: list[str]) -> pd.DataFrame: """Return ``df`` with object-typed ``columns`` one-hot encoded. @@ -177,7 +269,10 @@ def impute_frs_only_variables( to predict values for every row of ``target_dataset``; predictions replace the existing (donor-leaked) values in ``FRS_ONLY_PERSON_VARIABLES`` only. Variables absent from either - frame are skipped silently. + frame are skipped silently. ``apply_spi_donor_benefit_rules`` then + zeroes ``SPI_DONOR_ZEROED_PERSON_VARIABLES`` and rebuilds the flags + derived from reports, before the disability categories and flags are + derived from the remaining reports. """ from policyengine_uk_data.utils.qrf import QRF @@ -203,9 +298,9 @@ def impute_frs_only_variables( if not outputs: logger.warning( "Stage-2 FRS-only imputation: no output variables available; " - "returning target_dataset unchanged." + "applying only the SPI-donor benefit rules." ) - return target_dataset + return apply_spi_donor_benefit_rules(target_dataset) train_inputs_raw = _build_predictor_frame(train_dataset) target_inputs_raw = _build_predictor_frame(target_dataset) @@ -241,6 +336,7 @@ def impute_frs_only_variables( values = np.maximum(predictions[column].values, 0.0) target_dataset.person[column] = values + target_dataset = apply_spi_donor_benefit_rules(target_dataset) target_dataset.person = add_disability_benefit_categories_from_reported_amounts( target_dataset.person, int(str(target_dataset.time_period)[:4]), diff --git a/policyengine_uk_data/tests/test_frs_only_imputation.py b/policyengine_uk_data/tests/test_frs_only_imputation.py index 1961274e4..17ba59fd1 100644 --- a/policyengine_uk_data/tests/test_frs_only_imputation.py +++ b/policyengine_uk_data/tests/test_frs_only_imputation.py @@ -178,25 +178,26 @@ def test_frs_only_skips_missing_output_columns(): def test_frs_only_reported_values_correlate_with_training_pattern(): - """UC ``_reported`` predictions should respect the training-data pattern. + """Drawn ``_reported`` values should respect the training-data pattern. The stage-1 QRF-imputed income on the SPI-donor side gets fed back - as a stage-2 predictor. If the training data only has non-zero UC - for low-income respondents, the QRF should preferentially draw - near-zero values when predicting for high-income target rows, - compared with low-income target rows. + as a stage-2 predictor. If the training data only has non-zero + carer's allowance for low earners (it has an earnings limit), the QRF + should preferentially draw near-zero values when predicting for + high-income target rows, compared with low-income target rows. (UC + would be the obvious case, but SPI-donor rows have it zeroed.) """ from policyengine_uk_data.datasets.imputations.frs_only import ( impute_frs_only_variables, ) - # Train set with a clean employment-income → UC relationship: - # low-income respondents sometimes claim UC, high-income never do. + # Train set with a clean employment-income → carer's allowance relationship: + # low earners sometimes receive it, high earners never do. rng = np.random.default_rng(42) train = _fake_dataset(person_rows=2_000, seed=0) low_income_mask = train.person["employment_income"] < 20_000 - train.person["universal_credit_reported"] = 0.0 - train.person.loc[low_income_mask, "universal_credit_reported"] = rng.gamma( + train.person["carers_allowance_reported"] = 0.0 + train.person.loc[low_income_mask, "carers_allowance_reported"] = rng.gamma( 2, 4_000, size=int(low_income_mask.sum()) ) @@ -215,10 +216,10 @@ def test_frs_only_reported_values_correlate_with_training_pattern(): target_dataset=low_target, ) - high_mean = high_result.person["universal_credit_reported"].mean() - low_mean = low_result.person["universal_credit_reported"].mean() + high_mean = high_result.person["carers_allowance_reported"].mean() + low_mean = low_result.person["carers_allowance_reported"].mean() assert high_mean < low_mean, ( - "Stage-2 QRF should produce lower UC-receipt predictions for high-" + "Stage-2 QRF should produce lower carer's allowance predictions for high-" f"income target rows (got high={high_mean:.2f} vs low={low_mean:.2f})." ) diff --git a/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py b/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py new file mode 100644 index 000000000..c221e54ed --- /dev/null +++ b/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py @@ -0,0 +1,187 @@ +"""Benefit reports and the flags built from them on SPI-donor rows. + +Properties of ``apply_spi_donor_benefit_rules`` for any input: + +1. Every column in ``SPI_DONOR_ZEROED_PERSON_VARIABLES`` is zero afterwards. +2. Nothing else changes except ``receives_benefits_in_own_right`` and the + report-anchored take-up flags; the input is not mutated. +3. A benefit unit with a member reporting an anchoring benefit claims it. +4. ``receives_benefits_in_own_right`` is true exactly when the person + reports one of ``BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS``. +5. The rules are deterministic and idempotent. + +The fixtures are synthetic, not survey records. +""" + +import numpy as np +import pandas as pd +import pytest +from hypothesis import HealthCheck, given, settings +from hypothesis import strategies as st +from policyengine_uk.data import UKSingleYearDataset + +from policyengine_uk_data.datasets.disability_benefits import ( + add_disability_benefit_flags_from_reported_amounts, +) +from policyengine_uk_data.datasets.frs import ( + BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS, + REPORTED_TAKEUP_ANCHORS, +) +from policyengine_uk_data.datasets.imputations import frs_only +from policyengine_uk_data.datasets.imputations.frs_only import ( + FRS_ONLY_PERSON_VARIABLES, + SPI_DONOR_ZEROED_PERSON_VARIABLES, + apply_spi_donor_benefit_rules, +) +from policyengine_uk_data.parameters import load_take_up_rate + +YEAR = 2024 +REPORT_COLUMNS = sorted( + set(FRS_ONLY_PERSON_VARIABLES) | set(SPI_DONOR_ZEROED_PERSON_VARIABLES) +) +DERIVED = {"receives_benefits_in_own_right", *REPORTED_TAKEUP_ANCHORS} + + +def _dataset(benunit_sizes, reports, flags) -> UKSingleYearDataset: + n_benunits, n_people = len(benunit_sizes), sum(benunit_sizes) + benunit_of_person = np.repeat(np.arange(n_benunits), benunit_sizes) + person = pd.DataFrame( + { + "person_id": np.arange(n_people), + "person_benunit_id": benunit_of_person, + "person_household_id": benunit_of_person, + "age": np.full(n_people, 40), + "receives_benefits_in_own_right": np.asarray(flags[:n_people]), + } + ) + for i, column in enumerate(REPORT_COLUMNS): + person[column] = np.asarray(reports[i][:n_people], dtype=float) + benunit = pd.DataFrame({"benunit_id": np.arange(n_benunits)}) + for j, flag in enumerate(REPORTED_TAKEUP_ANCHORS): + benunit[flag] = np.roll(np.asarray(flags[:n_benunits]), j) + household = pd.DataFrame( + {"household_id": np.arange(n_benunits), "household_weight": 0.0} + ) + return UKSingleYearDataset( + person=person, benunit=benunit, household=household, fiscal_year=YEAR + ) + + +@st.composite +def datasets(draw): + sizes = draw(st.lists(st.integers(1, 4), min_size=1, max_size=12)) + n = sum(sizes) + amount = st.one_of(st.just(0.0), st.floats(0.01, 50_000)) + reports = [draw(st.lists(amount, min_size=n, max_size=n)) for _ in REPORT_COLUMNS] + flags = draw(st.lists(st.booleans(), min_size=n, max_size=n)) + return _dataset(sizes, reports, flags) + + +def _reporting_benunits(person, benunit, column): + reporters = person.loc[person[column] > 0, "person_benunit_id"] + return benunit.benunit_id.isin(set(reporters)).values + + +@settings(max_examples=60, deadline=None) +@given(datasets()) +def test_rules_zero_listed_reports_and_touch_nothing_else(dataset): + before = dataset.copy() + after = apply_spi_donor_benefit_rules(dataset) + + for column in SPI_DONOR_ZEROED_PERSON_VARIABLES: + assert (after.person[column] == 0).all(), column + kept = [c for c in after.person.columns if c not in DERIVED] + unchanged = [c for c in kept if c not in SPI_DONOR_ZEROED_PERSON_VARIABLES] + pd.testing.assert_frame_equal(after.person[unchanged], before.person[unchanged]) + pd.testing.assert_frame_equal(after.household, before.household) + pd.testing.assert_frame_equal(dataset.person, before.person) + pd.testing.assert_frame_equal(dataset.benunit, before.benunit) + + +@settings(max_examples=60, deadline=None) +@given(datasets()) +def test_rules_rebuild_own_right_flag_from_own_reports(dataset): + after = apply_spi_donor_benefit_rules(dataset).person + own = after[list(BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS)].sum(axis=1) > 0 + assert (after.receives_benefits_in_own_right == own).all() + + +@settings( + max_examples=60, + deadline=None, + suppress_health_check=[HealthCheck.function_scoped_fixture], +) +@given(dataset=datasets()) +def test_reporters_claim_whatever_is_zeroed(dataset, monkeypatch): + # With no anchoring report zeroed, reporters must still claim: the + # anchors are rebuilt from the rows' own reports, not left as copies. + anchoring = {column for _, column in REPORTED_TAKEUP_ANCHORS.values()} + monkeypatch.setattr( + frs_only, + "SPI_DONOR_ZEROED_PERSON_VARIABLES", + [c for c in SPI_DONOR_ZEROED_PERSON_VARIABLES if c not in anchoring], + ) + after = apply_spi_donor_benefit_rules(dataset) + for flag, (_, column) in REPORTED_TAKEUP_ANCHORS.items(): + reports = _reporting_benunits(after.person, after.benunit, column) + assert after.benunit[flag].values[reports].all(), flag + + +@settings(max_examples=40, deadline=None) +@given(datasets()) +def test_rules_are_deterministic_and_idempotent(dataset): + once = apply_spi_donor_benefit_rules(dataset) + again = apply_spi_donor_benefit_rules(dataset) + twice = apply_spi_donor_benefit_rules(once) + for frame in ("person", "benunit", "household"): + pd.testing.assert_frame_equal(getattr(once, frame), getattr(again, frame)) + pd.testing.assert_frame_equal(getattr(once, frame), getattr(twice, frame)) + + +def test_unreported_units_claim_at_the_take_up_rate(): + n = 40_000 + rng = np.random.default_rng(0) + reports = [rng.gamma(2, 1_000, n) for _ in REPORT_COLUMNS] + dataset = _dataset([1] * n, reports, np.ones(n, dtype=bool)) + after = apply_spi_donor_benefit_rules(dataset).benunit + for flag, (rate_name, _) in REPORTED_TAKEUP_ANCHORS.items(): + rate = load_take_up_rate(rate_name, YEAR) + assert after[flag].mean() == pytest.approx(rate, abs=0.01), flag + + +def test_stage_two_keeps_drawn_values_of_kept_reports(monkeypatch): + """Zeroing does not change the QRF draws of the reports that are kept.""" + from policyengine_uk_data.tests.test_frs_only_imputation import _fake_dataset + + train = _fake_dataset(person_rows=400, seed=0) + for column in ("esa_contrib_reported", "state_pension_reported", "ssmg_reported"): + train.person[column] = np.where( + np.random.default_rng(1).random(400) < 0.3, 5_000.0, 0.0 + ) + target = _fake_dataset(person_rows=80, seed=1) + target.person["ssmg_reported"] = 600.0 + target.person["receives_benefits_in_own_right"] = True + target.benunit["would_claim_uc"] = True + + ruled = frs_only.impute_frs_only_variables(train, target) + monkeypatch.setattr(frs_only, "SPI_DONOR_ZEROED_PERSON_VARIABLES", []) + unruled = frs_only.impute_frs_only_variables(train, target) + + for column in SPI_DONOR_ZEROED_PERSON_VARIABLES: + assert (ruled.person[column] == 0).all(), column + kept = [ + c + for c in FRS_ONLY_PERSON_VARIABLES + if c not in SPI_DONOR_ZEROED_PERSON_VARIABLES + ] + pd.testing.assert_frame_equal(ruled.person[kept], unruled.person[kept]) + assert not ruled.person.receives_benefits_in_own_right.any() + + # Disability flags come from the zeroed reports: ESA (contributory) was + # drawn for some people but no longer marks them disabled. + assert (unruled.person.esa_contrib_reported > 0).any() + flags = ["is_disabled_for_benefits", "is_severely_disabled_for_benefits"] + recomputed = add_disability_benefit_flags_from_reported_amounts( + ruled.person.drop(columns=flags), int(str(ruled.time_period)[:4]) + ) + pd.testing.assert_frame_equal(ruled.person[flags], recomputed[flags]) diff --git a/pyproject.toml b/pyproject.toml index beff7f1a4..7973343cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,8 +45,9 @@ dev = [ "yaml-changelog>=0.1.7", "itables", "quantile-forest", - "build", "towncrier>=24.8.0", - + "build", + "towncrier>=24.8.0", + "hypothesis>=6.168.3", ] [tool.setuptools] diff --git a/uv.lock b/uv.lock index a3e9f44d9..672737ea1 100644 --- a/uv.lock +++ b/uv.lock @@ -577,6 +577,75 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/f4/124858007ddf3c61e9b144107304c9152fa80b5b6c168da07d86fe583cc1/huggingface_hub-1.1.5-py3-none-any.whl", hash = "sha256:e88ecc129011f37b868586bbcfae6c56868cae80cd56a79d61575426a3aa0d7d", size = 516000, upload-time = "2025-11-20T15:49:30.926Z" }, ] +[[package]] +name = "hypothesis" +version = "6.168.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/b7/13118bbc45d6d8b9d04e2de779e2a4ff23145ea39efa692b994fb874ca72/hypothesis-6.168.3.tar.gz", hash = "sha256:a43388f9067678fef6e13bdff325b6cfa6961a590498bb37f7ff31589c83bc75", size = 511022, upload-time = "2026-09-28T05:20:58.499Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/cd/746a2fc1e5e5ba34f07ea6ee1ad07525a3dde5ff4836db3a7980af49a891/hypothesis-6.168.3-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d20972ca134e652e9928ecd200966a8a2857adc2812c1d74b12a872e5cd503eb", size = 791536, upload-time = "2026-09-28T05:18:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0f/7a158e377b69556c8e12c25c8fd811d0103e54c24a12dab1f3b9819f202e/hypothesis-6.168.3-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:eafbec09d3e87d13d8242411d1f5868b5e879f1bd6d95e233e9ff80c527bea1c", size = 787313, upload-time = "2026-09-28T05:20:18.122Z" }, + { url = "https://files.pythonhosted.org/packages/45/c6/7df9104ee359e8fcd77791781c47e70794964ca69673665e0de2a6590f4c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c5627497968cc62d140e9fde1ea21e12cac7b64dc419fea8286cd34ff1ad4e", size = 1124036, upload-time = "2026-09-28T05:20:04.372Z" }, + { url = "https://files.pythonhosted.org/packages/92/0f/8a61715404a73b9a82cb1f976803428d603cdea976a9c30266c72ad6a7ce/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dc56e6dc6eeb0aeb08ac463f847279bde2336c4786faf7ee0af4b93cd031a7", size = 1147875, upload-time = "2026-09-28T05:19:15.495Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3f/2b16e95cc3b9a069afa23830a012aefe377ce4a457a227e5a5026eb827ff/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:753bb501f8560d2e321ed3b62596b4496c56f15668b0a0669231ccc3e6c4e80d", size = 1149489, upload-time = "2026-09-28T05:19:18.886Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e7/d7cf6dc068bb02732b2a6e38a35a0dcb7f2137608198fc79d740f69d197c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71ab606c472449cb872ef2a7acaec679ee4f651b7f0a477a04ebc85d8933ef8c", size = 1191992, upload-time = "2026-09-28T05:19:21.83Z" }, + { url = "https://files.pythonhosted.org/packages/5f/26/f1e5b25dec15998e8375d722825ec3dae1075cbe7cb1f74221b2312a2e33/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26928956c54748e4dfa587333741ab750246123b93484955646ff316cca27eef", size = 1169911, upload-time = "2026-09-28T05:19:27.996Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/901234a49147e6bf8a5b9e54b775706a223c2b52befea1106ea2aaf15d48/hypothesis-6.168.3-cp310-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:0bdfc53c041b61c854fa3761735736b991bc2bddafee45a361cfe4d43027c1ef", size = 1129406, upload-time = "2026-09-28T05:18:42.632Z" }, + { url = "https://files.pythonhosted.org/packages/55/c1/5fc9ff91ec9fba6bb527833386c66812524b5cc75fe7d4a4f9122ee1c420/hypothesis-6.168.3-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:650528e2b1e2a45e95c2df624d4b9364b8ac5a027ba84e1eea2bc5398dd01dcd", size = 1160399, upload-time = "2026-09-28T05:20:23.911Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d2/49ad1ef5c55547c8abfd0fc571b3493806dda530fd5cb3d8263dbad86a72/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:209dc54cdb1b4d6d7020ad8d09e44c49756361b7183adacea4d6f5705085b595", size = 1299906, upload-time = "2026-09-28T05:18:58.417Z" }, + { url = "https://files.pythonhosted.org/packages/0d/5f/f98a26094c4f462c4215807bed0f9a6b5508b27a3c329bcba1bc8adc7ac7/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:af8ca98cd11dc7f9427bb90483abcd9688d4df2e8e63893a30a2423b027ebb11", size = 1425538, upload-time = "2026-09-28T05:20:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b8/c5b4406e3a6591e51a42f85469351d1d824e0a54b84167aec9b2353759fe/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:f8122cfdd0bc0ba843063effa22ac310bdebdb3a1319bf1e63f14baa119c72ab", size = 1377084, upload-time = "2026-09-28T05:20:06.618Z" }, + { url = "https://files.pythonhosted.org/packages/e0/01/0d84a8ea469d024c15f602799c0b8410fbe03d99fdb0370449b33c3c916f/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4bedbb379eab34f792af7ee9a05aae04e9c08bbb52e0f90f5a2110d4fe4b2fbd", size = 1281162, upload-time = "2026-09-28T05:19:42.768Z" }, + { url = "https://files.pythonhosted.org/packages/22/b5/ea6435038de1a795f005cb603531e8ccc053febc50180f3ab55583c9c60e/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:5a953115b9f5c95133ab2d04efffeec96e5658c3207923dca7285f7db3e6bbef", size = 1300433, upload-time = "2026-09-28T05:18:55.634Z" }, + { url = "https://files.pythonhosted.org/packages/6c/78/fa6c77d9f64b6d592e69e582d83cbce7d7e56897faa4762885a2123b0166/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6173558e676ad25ed1e20507fa4024a0d816dd90f715f77006e5a28f19109026", size = 1336273, upload-time = "2026-09-28T05:19:08.273Z" }, + { url = "https://files.pythonhosted.org/packages/f1/56/4acd0d778bab818c9ea336fcba768bf43bc70db7f84cc373579298df4641/hypothesis-6.168.3-cp310-abi3-win32.whl", hash = "sha256:dc66390fb12d80585aa9222bf538ce8b7aa22cf5d118250647355a1c9e8f62f4", size = 678211, upload-time = "2026-09-28T05:19:23.355Z" }, + { url = "https://files.pythonhosted.org/packages/b0/db/0a02b146ad1c30f9716362f2e1a379dfd6b0f7be03ac1e22c9da24c9e2a9/hypothesis-6.168.3-cp310-abi3-win_amd64.whl", hash = "sha256:92325b276360fe86c5bf71a568c0d53a6d140b0de36dcf029f9164a17803bb24", size = 684906, upload-time = "2026-09-28T05:18:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c0/958deaf726848f96f52250740bf39f13f476b068e22f73e2b358eaa07532/hypothesis-6.168.3-cp310-abi3-win_arm64.whl", hash = "sha256:3cf6f1eeaf41cd8d60cf1f88fde905ca1dd77c906929a507d6ac7f66f2ccba2a", size = 683292, upload-time = "2026-09-28T05:19:57.404Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a2/6787da846d929e52fc3344d803299c45782dbeac287528af08380e984bf8/hypothesis-6.168.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1b230a850de63334c16654a34a2d547e0179d36b9071d4439b3e7237f6d077e7", size = 793254, upload-time = "2026-09-28T05:19:36.294Z" }, + { url = "https://files.pythonhosted.org/packages/89/ba/2893f5ca42501f4d562cba3229c8994c3a3e5fac66ef60c1e0e0b5220a5d/hypothesis-6.168.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d63b0226cd3e0d8bdd97c3384b22a21934ed4d53246c1c93575dada616672499", size = 784699, upload-time = "2026-09-28T05:18:54.194Z" }, + { url = "https://files.pythonhosted.org/packages/b7/aa/7d7349daf75b71f6f35876f8de115e974c5c04d600e86df1b2779b0883ab/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0369f5df055f96e117ab12e5f249668ff144731ab5280bc7a205fdf81f990b89", size = 1123016, upload-time = "2026-09-28T05:20:36.372Z" }, + { url = "https://files.pythonhosted.org/packages/00/f0/7774e1ea072708ea46cb25c4aeee5f9978b6c271764809069e8a6789858e/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f076bcd0f77fdcdb7797826c879099573d03a02e228ebe649ea917081b962ac0", size = 1168989, upload-time = "2026-09-28T05:20:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7d/113992abed9efbd7944e3a496a382da58152dce126fddf6419ff31a0a57d/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b823ba1fcec8da730f29316d010b06d3f7e0c3828dcf91020e24c55e7d24652a", size = 1298626, upload-time = "2026-09-28T05:19:40.986Z" }, + { url = "https://files.pythonhosted.org/packages/d5/65/3659fa5e733027e5b37a27486e57f4053535e40853d23501c422bb275043/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dd2849c269d674e4618590f3b48d443bd4c06b5aef3d8d869086c2e6d213d248", size = 1335184, upload-time = "2026-09-28T05:20:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/35aab2221b5ea65125340f236e1a765a9e9f3b28d89a389ea0033fed29f7/hypothesis-6.168.3-cp313-cp313-win_amd64.whl", hash = "sha256:3ef7d26f5789e691401d5f87eafed9bd2763f0dbe47af6d6b66012a509404766", size = 682173, upload-time = "2026-09-28T05:19:12.762Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/27b0cb56ff5d2bc92458bf6fcebdb1f0dc01f57f043a178e9f9d74498169/hypothesis-6.168.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e2d4c68729a13df9af4998d2652cfb5d541c5609b88c306880a5dfb284938ec2", size = 793287, upload-time = "2026-09-28T05:20:38.522Z" }, + { url = "https://files.pythonhosted.org/packages/e8/bd/5342f95c3bc36586777ef8cb8eba87ac7acf0184210327fb0e6d8654e295/hypothesis-6.168.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b345f818083ec99966a43ca4f7b38feb62c6920ce28572bc2bde4948a8b7eaba", size = 784857, upload-time = "2026-09-28T05:20:42.609Z" }, + { url = "https://files.pythonhosted.org/packages/4a/5f/fc774241518a0588d362680a3084275058aab86d6bc02a2c61e1073142d0/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0608c610fc002978fc5de0f471770d8817e9455cb8649a47983c9f8bccfc1897", size = 1123330, upload-time = "2026-09-28T05:19:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/131f16775a3dca5f4fe27f0d6ad9a9851600098a54a872d163f6ebf0b664/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dcf6448b1ecc37f2b23f2d1b3ddfc9ff6b6910614c15a642dc82f419b96037b", size = 1169178, upload-time = "2026-09-28T05:19:53.436Z" }, + { url = "https://files.pythonhosted.org/packages/06/61/c9f5bff8b73321c9fd12f2d69666c6e4861b97b60f5f24fdd6ac293007fd/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ae4f9f094041dcce5119ebd7bab71062743ab02b6e654d056b370beda78c19e2", size = 1299127, upload-time = "2026-09-28T05:20:14.486Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6d/d4618f8ab12dd76c4d58ea052252759aa2bf0c4e71f4b502ba5d577e0b9f/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d479985fe73af97badfb72dc6d20c6a353e486a36f6d065f600026e0cf954a86", size = 1335390, upload-time = "2026-09-28T05:20:10.326Z" }, + { url = "https://files.pythonhosted.org/packages/95/b6/727161e17cc297df1aeea945de05c532033b66751625bec192bc5b5ff707/hypothesis-6.168.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:785e2c45f8c08e274b4bf1ccae97f1a4e09407e9a68e80790cfab1d17a4a45fa", size = 624291, upload-time = "2026-09-28T05:18:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/77/23/2f9b506392a0b8712440bcb781abc5713be9ffac1303b6d10f3669050882/hypothesis-6.168.3-cp314-cp314-win_amd64.whl", hash = "sha256:320920b1e3dae8611eee8a03d063cf2187446f2a17c38cfb8a7fc1466f71eee2", size = 682064, upload-time = "2026-09-28T05:20:16.336Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/efabfd95eb2b69c0c9fa1e1c83c8290aa2715d46baeb5a7764faf09c133a/hypothesis-6.168.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:35380baa981108a7f60c4eab71e46acd8d8f58440520346a1a6aba06dca7e074", size = 791875, upload-time = "2026-09-28T05:19:37.789Z" }, + { url = "https://files.pythonhosted.org/packages/1b/fc/2a0ada1623a9a33048bbf9f00a7c92513398c6b8865cba5efb854262ce30/hypothesis-6.168.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f0aaaed00438fa6673d856aaee12a4a8afbde82a9f3c5ff487cacfb064239afe", size = 783412, upload-time = "2026-09-28T05:18:48.266Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/73c615d37eeb12da0209555612c32ced628d860267c23cfd2691c6207aea/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27e6df1576bf838e7f484d4ae5cba92114497ca30afb917056bf1ea33e95675", size = 1121662, upload-time = "2026-09-28T05:19:26.225Z" }, + { url = "https://files.pythonhosted.org/packages/92/54/1893344a3b8bbf83fa7c9bb7e96f6836580213854f46671cb749f7b4706c/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bc85014577982ec6d2e266edc5cd6e7a7d3674c648791ca983c67a52f89a0c4", size = 1167761, upload-time = "2026-09-28T05:18:49.85Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/a61d82968febd25a0f08ffbbfabfaeead66f68fc5fa73f3c9ece1c36fc8f/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ccfc29505aa1cdcc254cb9cd701fd0811fef5480addd97d4127a00df023410f7", size = 1297309, upload-time = "2026-09-28T05:19:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/01/fe8e4cf6d39d02f4efadaa351427fa13722086cfc54a2da3579741c5177a/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32d0699566aaa93f9e97a44705d7164386f1e91de78d277f53bada35e78bcc96", size = 1334260, upload-time = "2026-09-28T05:19:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/39/6a/09177ebc62f4778f94379ecade6a51299d3d8c4f4b75ba636bf3a0202364/hypothesis-6.168.3-cp314-cp314t-win_amd64.whl", hash = "sha256:28d88fa174ecbd4ecbd7bb290f06d0db084a3971c3f511ae2830b65b5e25500f", size = 681992, upload-time = "2026-09-28T05:19:48.043Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f6/890bf33d608cd63348d3146a3ca83362fbf09e589c5e5230a00c403070f4/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:61f5782d807b1e6aa5c9beef1054cb2037e7d1add48a64972cd6ee447778781f", size = 791231, upload-time = "2026-09-28T05:18:43.998Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/fc36b204f8aa7437c676576d9437f0422de46aa8a729e6cd5bbb0224e759/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:7aacf3cf40c7ce8f9e4924d5b57bc0b068beafdfed2347bcf160a28b4cfbba7b", size = 783171, upload-time = "2026-09-28T05:19:20.353Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d2/3cd087d577db67c404991d7723e64d7cd75570cdc82a0f7329aed6f2086c/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01768a03a30dc54df7fe457c0b34016c84d598fa00d5965ededab93ba4eb3408", size = 1121152, upload-time = "2026-09-28T05:18:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/42/6f/a05a68cc66e7a22701c50bf94fb9ddeb36f4f5d0de3cc130066709eda621/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1a8a4ffc6c6e6e577f2bfbcfebf7cffbb310283ba2532c729570a0a752cebaaa", size = 1144069, upload-time = "2026-09-28T05:20:44.705Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f4/fdd7a093fb2fb3a0ce24256c92ad5bf67936f4669bd06d5ceae4298150ec/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b987d73eba95183a7e59cca6d1925c588aa4307922d9852cc2b4d282a2ae4128", size = 1146692, upload-time = "2026-09-28T05:20:25.83Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/6dbd4377e935505ae4fc8ee4c7b18c69994c4bbaca015447c470218bdbee/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4569c39bd97d9573e946429ed676f3b55a7c8ed80920addd67d384a47d59b38", size = 1189480, upload-time = "2026-09-28T05:20:46.734Z" }, + { url = "https://files.pythonhosted.org/packages/ba/bf/ff288b496b690000d2686dcfa7f67855e4c5a6dddb464ed8e4880be83bb2/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6042b8707a4b25bbbfe20b110258fb7549a68951e5525608a8ce06091039e9fc", size = 1167109, upload-time = "2026-09-28T05:19:24.758Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d1/3fee2bc29fc747fabbb27e174515592e390809ca465d3bbbabbcfa3235a8/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:f413629de94d38a7a2ad259697a6752526143cb49c2e2d7bdba19381c80693f6", size = 1126823, upload-time = "2026-09-28T05:18:52.636Z" }, + { url = "https://files.pythonhosted.org/packages/58/6a/585294392fa6a6d9719446a042a777ba98ecca265d9e48cbedc10c88df0f/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f071737e4e775bebba07e319eb645a880d1e0186b4d24bad23255e849d86d483", size = 1155773, upload-time = "2026-09-28T05:20:51.268Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4d/fa283ff79996debf1ff08593e01f8b773eb8211b19b3d6d5d491317a65bf/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:f59a3912858d0609c26054aa1c474847c797937f5e0e1c77f0d3f08032e50f09", size = 1296671, upload-time = "2026-09-28T05:18:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/42/05/98f9c2f628da5afabb6c3e8df5d2d299d2d50bf306b14a6e26d3954c4951/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:f09c05a23a8025dd5cad07c2ed299a46778e72d49ff0dd5bf353bcc0f7dc1580", size = 1422001, upload-time = "2026-09-28T05:19:04.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c9/f2109ade29a7ec284d55bca328d784743e8b13e321576fd34ee7e65f99af/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:44ace770bda3a0301739fc5a413c764de790c739df1f1a7218dd049f8594d9f5", size = 1374182, upload-time = "2026-09-28T05:20:27.764Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/e05d5f72441564a3bebc71fa155deafd0fd3b015d6014ec8a00edf6e42bb/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:03b131043608f94a2578a2a896a1a72092acb7079815eef5b8513b08447e0e62", size = 1278402, upload-time = "2026-09-28T05:20:56.332Z" }, + { url = "https://files.pythonhosted.org/packages/96/d7/6988a7f1f69c5c530687dce03a32c157e2d878e3a2e32af9269ce016b78a/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:e9784aca26eddfe99b03a0292320db742cc8a74200ef864fdce949f526f973cd", size = 1297770, upload-time = "2026-09-28T05:19:11.387Z" }, + { url = "https://files.pythonhosted.org/packages/a2/28/5bb82b60b836bd2329e1fe01ad94efc2b14dfa806f8e50ed14b795d78770/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:2b52ac363096232bebc2add117e9178d91f4248f4cdb919fd1026b5f86a4bb16", size = 1333977, upload-time = "2026-09-28T05:20:02.483Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7d/d419841b8f65481ea1a50c4ba36f2670d48b8c7a51e4e8586089564cf7f6/hypothesis-6.168.3-cp315-abi3.abi3t-win32.whl", hash = "sha256:d28e3a6b511a74ce37df5274b51f36c2b274fea7365e00b16f0c81e22acd5957", size = 675394, upload-time = "2026-09-28T05:19:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d2/1de6a2ad100e44817f2e9a8e8ba3eeaf4769621f4f87f2d4966c4971fcc4/hypothesis-6.168.3-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:7b9638789548361a57d984f56619ac694a914c328181d911271618409261ff4a", size = 681699, upload-time = "2026-09-28T05:19:09.957Z" }, + { url = "https://files.pythonhosted.org/packages/c0/79/be3370fd02734d6b1d950183ae9224580d19fa8d356b95348d60f1e3eeb7/hypothesis-6.168.3-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:65d78e4357ec48ed2c67825f06740ee3599be4cfe770a6092bed07108d679ac5", size = 679849, upload-time = "2026-09-28T05:19:06.884Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1364,7 +1433,7 @@ wheels = [ [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1392,6 +1461,7 @@ dependencies = [ dev = [ { name = "build" }, { name = "furo" }, + { name = "hypothesis" }, { name = "itables" }, { name = "l0-python" }, { name = "pytest" }, @@ -1410,6 +1480,7 @@ requires-dist = [ { name = "google-auth" }, { name = "google-cloud-storage" }, { name = "huggingface-hub" }, + { name = "hypothesis", marker = "extra == 'dev'", specifier = ">=6.168.3" }, { name = "itables", marker = "extra == 'dev'" }, { name = "l0-python", marker = "extra == 'dev'", specifier = ">=0.4.0" }, { name = "microcalibrate", specifier = ">=0.18.0" }, From e0d4b2417e1a72c042022967ac0274bea221abf9 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 02:35:58 -0400 Subject: [PATCH 10/70] Weight FRS BRMA draws by census private-rented households The FRS build drew each benefit unit's Broad Rental Market Area from rows of lha_list_of_rents.csv.gz within region and LHA category. That file's Scottish, Welsh and Northern Ireland lists are byte-identical copies of English BRMAs' lists, each matched on the April 2019 rate, so those nations' draws ignored their rental markets (#515). Draw instead in proportion to census private-rented households by region, BRMA and the bedroom band matching each LHA category (England and Wales 2021, Scotland 2022, Northern Ireland 2021; Northern Ireland has no bedrooms question, so its weights cover every category). Move the draw to datasets/brma.py, add property tests for it, document sources and validation in storage/BRMA_DATA_SOURCES.md, and remove the list of rents. Co-Authored-By: Claude Opus 5.5 --- changelog.d/brma-census-weights.fixed.md | 1 + docs/imputations.md | 13 + policyengine_uk_data/datasets/brma.py | 90 ++ policyengine_uk_data/datasets/frs.py | 25 +- .../storage/BRMA_DATA_SOURCES.md | 45 + .../brma_private_rented_households.csv | 937 ++++++++++++++++++ .../storage/lha_list_of_rents.csv.gz | Bin 853159 -> 0 bytes .../tests/test_brma_assignment.py | 170 ++++ pyproject.toml | 5 +- uv.lock | 73 +- 10 files changed, 1338 insertions(+), 21 deletions(-) create mode 100644 changelog.d/brma-census-weights.fixed.md create mode 100644 policyengine_uk_data/datasets/brma.py create mode 100644 policyengine_uk_data/storage/BRMA_DATA_SOURCES.md create mode 100644 policyengine_uk_data/storage/brma_private_rented_households.csv delete mode 100644 policyengine_uk_data/storage/lha_list_of_rents.csv.gz create mode 100644 policyengine_uk_data/tests/test_brma_assignment.py diff --git a/changelog.d/brma-census-weights.fixed.md b/changelog.d/brma-census-weights.fixed.md new file mode 100644 index 000000000..ca02ec8f4 --- /dev/null +++ b/changelog.d/brma-census-weights.fixed.md @@ -0,0 +1 @@ +- Draw FRS households' Broad Rental Market Areas in proportion to census private-rented households by BRMA and bedrooms, instead of the row counts of the 2019-20 LHA list of rents, whose Scottish, Welsh and Northern Ireland lists were copies of English BRMAs' lists (uk-data#515). Remove `lha_list_of_rents.csv.gz`. diff --git a/docs/imputations.md b/docs/imputations.md index 9e6964ed3..75fd1a56d 100644 --- a/docs/imputations.md +++ b/docs/imputations.md @@ -211,6 +211,19 @@ Assigns student loan plan type based on age and reported repayments. --- +## Broad Rental Market Area Assignment + +**Source:** Census private-rented households by BRMA and bedrooms (not QRF; applied when the base FRS dataset is built) + +The FRS identifies only the region, but Local Housing Allowance rates vary by Broad Rental Market Area (BRMA). `datasets/brma.py` draws each benefit unit's BRMA within its region, in proportion to the private-rented households in each BRMA: +- shared-accommodation and one-bedroom LHA categories use one-bedroom homes; +- the two-, three- and four-or-more-bedroom categories use homes with that many bedrooms; +- Northern Ireland's census has no bedrooms, so its weights are the same for every category. + +A household takes one of its benefit units' BRMAs, chosen at random. Sources, method and validation are in `storage/BRMA_DATA_SOURCES.md`. + +--- + ## Calibration Targets After imputation, household weights are calibrated to match aggregate statistics from: diff --git a/policyengine_uk_data/datasets/brma.py b/policyengine_uk_data/datasets/brma.py new file mode 100644 index 000000000..18566c43d --- /dev/null +++ b/policyengine_uk_data/datasets/brma.py @@ -0,0 +1,90 @@ +"""Broad Rental Market Area (BRMA) assignment for FRS benefit units. + +The FRS identifies only a household's region, but Local Housing Allowance +rates vary by BRMA. Each benefit unit is given a BRMA drawn within its +region, in proportion to the number of private-rented households in each +BRMA with the number of bedrooms matching its LHA category (shared +accommodation and one-bedroom categories both use one-bedroom homes). + +The counts come from the censuses (England and Wales 2021, Scotland 2022, +Northern Ireland 2021) mapped to BRMAs; ``storage/BRMA_DATA_SOURCES.md`` +gives the sources, method and validation. A BRMA that crosses a region +boundary appears once per region, holding the households on that side. + +These weights replace the row counts of the 2019-20 LHA list of rents. Its +Scottish, Welsh and Northern Ireland rows were copies of English BRMAs' +lists, so their counts said nothing about those nations' rental markets. +""" + +from pathlib import Path + +import numpy as np +import pandas as pd + +from policyengine_uk_data.storage import STORAGE_FOLDER + +BRMA_HOUSEHOLDS_PATH = STORAGE_FOLDER / "brma_private_rented_households.csv" + +# Census bedroom band whose private-rented households weight each LHA category. +LHA_CATEGORY_BEDROOMS = {"A": "1", "B": "1", "C": "2", "D": "3", "E": "4+"} + + +def load_brma_weights(path: Path = BRMA_HOUSEHOLDS_PATH) -> pd.DataFrame: + """Return BRMA sampling weights by region and LHA category. + + Columns: ``region``, ``lha_category``, ``brma``, ``weight`` (private-rented + households). Every row has a positive weight. Northern Ireland's census + has no bedrooms question, so its rows (bedrooms ``all``) weight every + category. + """ + households = pd.read_csv(path, dtype={"bedrooms": str}) + bands = pd.DataFrame( + LHA_CATEGORY_BEDROOMS.items(), columns=["lha_category", "bedrooms"] + ) + by_band = bands.merge(households, on="bedrooms") + any_band = households[households.bedrooms == "all"].merge( + bands[["lha_category"]], how="cross" + ) + weights = pd.concat([by_band, any_band], ignore_index=True) + weights = weights[weights.households > 0] + return weights.rename(columns={"households": "weight"})[ + ["region", "lha_category", "brma", "weight"] + ].reset_index(drop=True) + + +def assign_brmas( + region: np.ndarray, + lha_category: np.ndarray, + rng: np.random.Generator, + weights: pd.DataFrame | None = None, +) -> np.ndarray: + """Draw a BRMA for each benefit unit from its region × LHA category cell. + + Args: + region: Region name of each benefit unit's household. + lha_category: LHA category (A-E) of each benefit unit. + rng: Generator for the draws. + weights: Output of ``load_brma_weights``; loaded from storage if omitted. + + Raises: + ValueError: If a benefit unit's cell has no BRMA with a positive weight. + """ + if weights is None: + weights = load_brma_weights() + region = np.asarray(region).astype(str) + lha_category = np.asarray(lha_category).astype(str) + brma = np.empty(len(region), dtype=object) + for (cell_region, category), cell in weights.groupby( + ["region", "lha_category"], sort=True + ): + mask = (region == cell_region) & (lha_category == category) + if mask.any(): + p = cell.weight.to_numpy(dtype=float) + brma[mask] = rng.choice( + cell.brma.to_numpy(), size=mask.sum(), p=p / p.sum() + ) + missing = pd.isna(brma) + if missing.any(): + cells = sorted(set(zip(region[missing], lha_category[missing]))) + raise ValueError(f"No BRMA weights for region × LHA category cells {cells}.") + return brma diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index e440d4869..4e612323c 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -19,6 +19,7 @@ from policyengine_uk.variables.household.income.employment_status import ( EmploymentStatus, ) +from policyengine_uk_data.datasets.brma import assign_brmas from policyengine_uk_data.datasets.disability_benefits import ( add_disability_benefit_categories_from_reported_amounts, add_disability_benefit_flags_from_reported_amounts, @@ -1409,25 +1410,13 @@ def determine_education_level(fted_val, typeed2_val, age_val): sim = Microsimulation(dataset=dataset) region = sim.populations["benunit"].household("region", dataset.time_period) - lha_category = sim.calculate("LHA_category", year) - brma = np.empty(len(region), dtype=object) - - # Sample from a random BRMA in the region, weighted by the number of observations in each BRMA. - # Use a seeded generator so the assignment is reproducible across builds; - # pandas .sample() otherwise draws from the unseeded global numpy RNG. - lha_list_of_rents = pd.read_csv(STORAGE_FOLDER / "lha_list_of_rents.csv.gz") - lha_list_of_rents = lha_list_of_rents.copy() - brma_rng = np.random.default_rng(0) + lha_category = sim.calculate("LHA_category", year).values - for possible_region in lha_list_of_rents.region.unique(): - for possible_lha_category in lha_list_of_rents.lha_category.unique(): - lor_mask = (lha_list_of_rents.region == possible_region) & ( - lha_list_of_rents.lha_category == possible_lha_category - ) - mask = (region == possible_region) & (lha_category == possible_lha_category) - brma[mask] = lha_list_of_rents[lor_mask].brma.sample( - n=len(region[mask]), replace=True, random_state=brma_rng - ) + # Draw each benefit unit's BRMA in proportion to the private-rented + # households in each of its region's BRMAs with the matching number of + # bedrooms. Use a seeded generator so the assignment is reproducible. + brma_rng = np.random.default_rng(0) + brma = assign_brmas(region, lha_category, brma_rng) # Convert benunit-level BRMAs to household-level BRMAs (pick a random one) diff --git a/policyengine_uk_data/storage/BRMA_DATA_SOURCES.md b/policyengine_uk_data/storage/BRMA_DATA_SOURCES.md new file mode 100644 index 000000000..1a2547d45 --- /dev/null +++ b/policyengine_uk_data/storage/BRMA_DATA_SOURCES.md @@ -0,0 +1,45 @@ +# BRMA private-rented households + +File: `brma_private_rented_households.csv`, with columns `region, brma, bedrooms, households`. It holds private-rented households (private landlord or letting agency, plus other private rented) by region, Broad Rental Market Area (BRMA) and number of bedrooms (`1`, `2`, `3`, `4+`). Northern Ireland's 2021 census has no bedrooms question, so its rows have `bedrooms = all`. A BRMA that crosses a region boundary has one row per region, for the households on each side. + +`datasets/brma.py` uses it to draw each FRS benefit unit's BRMA within its region. LHA categories A and B (shared and one-bedroom) use one-bedroom homes, C uses two-bedroom, D three-bedroom and E four-or-more. + +## Sources + +| Nation | Households | BRMA geography | +|---|---|---| +| England | Census 2021 (ONS). Private-rented households per LSOA from TS054, split by bedrooms using the LSOA's mix for "private rented or lives rent free" (custom table `hh_tenure_5a` × `number_bedrooms_5a`). Rent-free households are 0.3-1.2% of that category. | VOA BRMA boundary layer, May 2020. Each LSOA is assigned by its population-weighted centroid. Five border LSOAs fall outside the English layer and take the Welsh BRMA that VOA's LHA lookup returns at their centroids. | +| Wales | As for England. | Rent Officers Wales BRMA layer. 11 LSOAs fall in West Cheshire. | +| Scotland | Scotland's Census 2022 (NRS), tenure by bedrooms by 2022 electoral ward. This is the finest geography at which the table is not suppressed. | Scottish Government BRMA polygons. Each ward is split by its output areas' household-weighted centroids, corrected by Rent Service Scotland's postcode-to-BRMA lookup (FOI 202300368850). | +| Northern Ireland | NISRA Census 2021, tenure by Data Zone 2021. | NIHE postcode-district definition of BRMAs. Data Zones that span BRMAs are split by Census 2021 postcode household counts, with suppressed postcodes given NISRA's published district averages. Postcode-to-Data Zone links come from the ONS Postcode Directory, whose Northern Ireland records are under the LPS end user licence; only these BRMA aggregates are published. | + +Totals reconcile with the published national private-rented counts to within 0.03%: + +| Nation | Private-rented households in this file | Published | +|---|---|---| +| England | 4,795,158 | 4,794,889 | +| Wales | 228,601 | 228,642 | +| Scotland | 323,001 | 323,042 | +| Northern Ireland | 132,466 | 132,436 | + +Small-area census counts are perturbed for disclosure control, so their sums differ slightly from national tables. + +## Validation + +The check below correlates, within each region, the BRMA shares of each candidate weight with DWP's count of Universal Credit households whose housing costs are assessed under LHA ("LHA covers rent" plus "does not cover rent"). The DWP figures are the mean of April 2019 to November 2020 (UC statistics supplementary table 3.2, February 2021). + +| Nation | Census (this file) | `lha_list_of_rents.csv.gz` row counts (previous weights) | +|---|---|---| +| England | 0.94 | 0.82 | +| Wales | 0.95 | 0.23 | +| Scotland | 0.82 | 0.21 | + +The previous weights' Scottish, Welsh and Northern Ireland lists were copies of English BRMAs' lists (issue #515). + +Against the genuine list-of-rents category counts, the census bedroom bands correlate as follows (VOA 2019-20 for England; Scottish Government FOI 202200303624 for Scotland): +- categories B-E: 0.82 to 0.94 in England, 0.95 to 0.98 in Scotland; +- category A, shared accommodation: 0.51 in England, 0.95 in Scotland. The census has no measure of room lets, and no bedroom band does better than 0.59. + +## Rebuilding + +`tools/brma_households/` (from the repository root) downloads every source, checks each one against its pinned sha256 and rebuilds this file byte for byte; see its `README.md`. diff --git a/policyengine_uk_data/storage/brma_private_rented_households.csv b/policyengine_uk_data/storage/brma_private_rented_households.csv new file mode 100644 index 000000000..d07a7fbc9 --- /dev/null +++ b/policyengine_uk_data/storage/brma_private_rented_households.csv @@ -0,0 +1,937 @@ +region,brma,bedrooms,households +EAST_MIDLANDS,CHERWELL_VALLEY,1,356 +EAST_MIDLANDS,CHERWELL_VALLEY,2,878 +EAST_MIDLANDS,CHERWELL_VALLEY,3,812 +EAST_MIDLANDS,CHERWELL_VALLEY,4+,339 +EAST_MIDLANDS,CHESTERFIELD,1,1745 +EAST_MIDLANDS,CHESTERFIELD,2,5822 +EAST_MIDLANDS,CHESTERFIELD,3,4064 +EAST_MIDLANDS,CHESTERFIELD,4+,724 +EAST_MIDLANDS,COVENTRY,1,12 +EAST_MIDLANDS,COVENTRY,2,49 +EAST_MIDLANDS,COVENTRY,3,54 +EAST_MIDLANDS,COVENTRY,4+,23 +EAST_MIDLANDS,DERBY,1,5006 +EAST_MIDLANDS,DERBY,2,14355 +EAST_MIDLANDS,DERBY,3,10808 +EAST_MIDLANDS,DERBY,4+,2805 +EAST_MIDLANDS,DONCASTER,1,60 +EAST_MIDLANDS,DONCASTER,2,129 +EAST_MIDLANDS,DONCASTER,3,342 +EAST_MIDLANDS,DONCASTER,4+,43 +EAST_MIDLANDS,EASTERN_STAFFORDSHIRE,1,577 +EAST_MIDLANDS,EASTERN_STAFFORDSHIRE,2,2367 +EAST_MIDLANDS,EASTERN_STAFFORDSHIRE,3,2099 +EAST_MIDLANDS,EASTERN_STAFFORDSHIRE,4+,492 +EAST_MIDLANDS,GRANTHAM_NEWARK,1,1613 +EAST_MIDLANDS,GRANTHAM_NEWARK,2,5029 +EAST_MIDLANDS,GRANTHAM_NEWARK,3,4791 +EAST_MIDLANDS,GRANTHAM_NEWARK,4+,1266 +EAST_MIDLANDS,GRIMSBY,1,71 +EAST_MIDLANDS,GRIMSBY,2,556 +EAST_MIDLANDS,GRIMSBY,3,596 +EAST_MIDLANDS,GRIMSBY,4+,186 +EAST_MIDLANDS,KINGS_LYNN,1,9 +EAST_MIDLANDS,KINGS_LYNN,2,38 +EAST_MIDLANDS,KINGS_LYNN,3,43 +EAST_MIDLANDS,KINGS_LYNN,4+,9 +EAST_MIDLANDS,LEICESTER,1,14418 +EAST_MIDLANDS,LEICESTER,2,30198 +EAST_MIDLANDS,LEICESTER,3,28635 +EAST_MIDLANDS,LEICESTER,4+,9210 +EAST_MIDLANDS,LINCOLN,1,2702 +EAST_MIDLANDS,LINCOLN,2,10111 +EAST_MIDLANDS,LINCOLN,3,9875 +EAST_MIDLANDS,LINCOLN,4+,3753 +EAST_MIDLANDS,LINCOLNSHIRE_FENS,1,1705 +EAST_MIDLANDS,LINCOLNSHIRE_FENS,2,4998 +EAST_MIDLANDS,LINCOLNSHIRE_FENS,3,5108 +EAST_MIDLANDS,LINCOLNSHIRE_FENS,4+,1279 +EAST_MIDLANDS,MILTON_KEYNES,1,69 +EAST_MIDLANDS,MILTON_KEYNES,2,174 +EAST_MIDLANDS,MILTON_KEYNES,3,211 +EAST_MIDLANDS,MILTON_KEYNES,4+,88 +EAST_MIDLANDS,NORTHAMPTON,1,4425 +EAST_MIDLANDS,NORTHAMPTON,2,10324 +EAST_MIDLANDS,NORTHAMPTON,3,9119 +EAST_MIDLANDS,NORTHAMPTON,4+,3311 +EAST_MIDLANDS,NORTHANTS_CENTRAL,1,3023 +EAST_MIDLANDS,NORTHANTS_CENTRAL,2,9453 +EAST_MIDLANDS,NORTHANTS_CENTRAL,3,10617 +EAST_MIDLANDS,NORTHANTS_CENTRAL,4+,2766 +EAST_MIDLANDS,NORTH_NOTTINGHAM,1,2835 +EAST_MIDLANDS,NORTH_NOTTINGHAM,2,10961 +EAST_MIDLANDS,NORTH_NOTTINGHAM,3,13873 +EAST_MIDLANDS,NORTH_NOTTINGHAM,4+,2250 +EAST_MIDLANDS,NOTTINGHAM,1,10467 +EAST_MIDLANDS,NOTTINGHAM,2,27504 +EAST_MIDLANDS,NOTTINGHAM,3,22810 +EAST_MIDLANDS,NOTTINGHAM,4+,8473 +EAST_MIDLANDS,PEAKS_DALES,1,1203 +EAST_MIDLANDS,PEAKS_DALES,2,2995 +EAST_MIDLANDS,PEAKS_DALES,3,2435 +EAST_MIDLANDS,PEAKS_DALES,4+,798 +EAST_MIDLANDS,PETERBOROUGH,1,735 +EAST_MIDLANDS,PETERBOROUGH,2,2653 +EAST_MIDLANDS,PETERBOROUGH,3,2816 +EAST_MIDLANDS,PETERBOROUGH,4+,886 +EAST_MIDLANDS,RUGBY_EAST,1,530 +EAST_MIDLANDS,RUGBY_EAST,2,1509 +EAST_MIDLANDS,RUGBY_EAST,3,1740 +EAST_MIDLANDS,RUGBY_EAST,4+,588 +EAST_MIDLANDS,SCUNTHORPE,1,38 +EAST_MIDLANDS,SCUNTHORPE,2,121 +EAST_MIDLANDS,SCUNTHORPE,3,125 +EAST_MIDLANDS,SCUNTHORPE,4+,43 +EAST_MIDLANDS,SHEFFIELD,1,254 +EAST_MIDLANDS,SHEFFIELD,2,774 +EAST_MIDLANDS,SHEFFIELD,3,637 +EAST_MIDLANDS,SHEFFIELD,4+,142 +EAST_MIDLANDS,SOUTHERN_GREATER_MANCHESTER,1,303 +EAST_MIDLANDS,SOUTHERN_GREATER_MANCHESTER,2,975 +EAST_MIDLANDS,SOUTHERN_GREATER_MANCHESTER,3,574 +EAST_MIDLANDS,SOUTHERN_GREATER_MANCHESTER,4+,130 +EAST_MIDLANDS,TAMESIDE_GLOSSOP,1,295 +EAST_MIDLANDS,TAMESIDE_GLOSSOP,2,1293 +EAST_MIDLANDS,TAMESIDE_GLOSSOP,3,617 +EAST_MIDLANDS,TAMESIDE_GLOSSOP,4+,140 +EAST_MIDLANDS,WOLDS_AND_COAST,1,2058 +EAST_MIDLANDS,WOLDS_AND_COAST,2,5120 +EAST_MIDLANDS,WOLDS_AND_COAST,3,3688 +EAST_MIDLANDS,WOLDS_AND_COAST,4+,972 +EAST_OF_ENGLAND,AYLESBURY,1,236 +EAST_OF_ENGLAND,AYLESBURY,2,357 +EAST_OF_ENGLAND,AYLESBURY,3,227 +EAST_OF_ENGLAND,AYLESBURY,4+,93 +EAST_OF_ENGLAND,BEDFORD,1,4529 +EAST_OF_ENGLAND,BEDFORD,2,7272 +EAST_OF_ENGLAND,BEDFORD,3,6514 +EAST_OF_ENGLAND,BEDFORD,4+,2210 +EAST_OF_ENGLAND,BURY_ST_EDMUNDS,1,2437 +EAST_OF_ENGLAND,BURY_ST_EDMUNDS,2,6728 +EAST_OF_ENGLAND,BURY_ST_EDMUNDS,3,7753 +EAST_OF_ENGLAND,BURY_ST_EDMUNDS,4+,3027 +EAST_OF_ENGLAND,CAMBRIDGE,1,7659 +EAST_OF_ENGLAND,CAMBRIDGE,2,14109 +EAST_OF_ENGLAND,CAMBRIDGE,3,10553 +EAST_OF_ENGLAND,CAMBRIDGE,4+,6066 +EAST_OF_ENGLAND,CENTRAL_NORFOLK_NORWICH,1,8207 +EAST_OF_ENGLAND,CENTRAL_NORFOLK_NORWICH,2,17902 +EAST_OF_ENGLAND,CENTRAL_NORFOLK_NORWICH,3,14734 +EAST_OF_ENGLAND,CENTRAL_NORFOLK_NORWICH,4+,5793 +EAST_OF_ENGLAND,CHELMSFORD,1,4759 +EAST_OF_ENGLAND,CHELMSFORD,2,8914 +EAST_OF_ENGLAND,CHELMSFORD,3,6226 +EAST_OF_ENGLAND,CHELMSFORD,4+,2199 +EAST_OF_ENGLAND,COLCHESTER,1,6512 +EAST_OF_ENGLAND,COLCHESTER,2,14452 +EAST_OF_ENGLAND,COLCHESTER,3,9234 +EAST_OF_ENGLAND,COLCHESTER,4+,3264 +EAST_OF_ENGLAND,HARLOW_STORTFORD,1,3690 +EAST_OF_ENGLAND,HARLOW_STORTFORD,2,6282 +EAST_OF_ENGLAND,HARLOW_STORTFORD,3,4484 +EAST_OF_ENGLAND,HARLOW_STORTFORD,4+,1968 +EAST_OF_ENGLAND,HUNTINGDON,1,1935 +EAST_OF_ENGLAND,HUNTINGDON,2,3934 +EAST_OF_ENGLAND,HUNTINGDON,3,3642 +EAST_OF_ENGLAND,HUNTINGDON,4+,1367 +EAST_OF_ENGLAND,IPSWICH,1,5383 +EAST_OF_ENGLAND,IPSWICH,2,11270 +EAST_OF_ENGLAND,IPSWICH,3,10432 +EAST_OF_ENGLAND,IPSWICH,4+,2736 +EAST_OF_ENGLAND,KINGS_LYNN,1,2856 +EAST_OF_ENGLAND,KINGS_LYNN,2,7381 +EAST_OF_ENGLAND,KINGS_LYNN,3,7310 +EAST_OF_ENGLAND,KINGS_LYNN,4+,2037 +EAST_OF_ENGLAND,LOWESTOFT_GREAT_YARMOUTH,1,4036 +EAST_OF_ENGLAND,LOWESTOFT_GREAT_YARMOUTH,2,7737 +EAST_OF_ENGLAND,LOWESTOFT_GREAT_YARMOUTH,3,7199 +EAST_OF_ENGLAND,LOWESTOFT_GREAT_YARMOUTH,4+,1430 +EAST_OF_ENGLAND,LUTON,1,7601 +EAST_OF_ENGLAND,LUTON,2,9363 +EAST_OF_ENGLAND,LUTON,3,8716 +EAST_OF_ENGLAND,LUTON,4+,2566 +EAST_OF_ENGLAND,MILTON_KEYNES,1,679 +EAST_OF_ENGLAND,MILTON_KEYNES,2,1759 +EAST_OF_ENGLAND,MILTON_KEYNES,3,1185 +EAST_OF_ENGLAND,MILTON_KEYNES,4+,372 +EAST_OF_ENGLAND,NORTHANTS_CENTRAL,1,21 +EAST_OF_ENGLAND,NORTHANTS_CENTRAL,2,46 +EAST_OF_ENGLAND,NORTHANTS_CENTRAL,3,73 +EAST_OF_ENGLAND,NORTHANTS_CENTRAL,4+,30 +EAST_OF_ENGLAND,NORTH_WEST_LONDON,1,69 +EAST_OF_ENGLAND,NORTH_WEST_LONDON,2,121 +EAST_OF_ENGLAND,NORTH_WEST_LONDON,3,106 +EAST_OF_ENGLAND,NORTH_WEST_LONDON,4+,164 +EAST_OF_ENGLAND,OUTER_NORTH_EAST_LONDON,1,829 +EAST_OF_ENGLAND,OUTER_NORTH_EAST_LONDON,2,1784 +EAST_OF_ENGLAND,OUTER_NORTH_EAST_LONDON,3,1155 +EAST_OF_ENGLAND,OUTER_NORTH_EAST_LONDON,4+,524 +EAST_OF_ENGLAND,OUTER_NORTH_LONDON,1,302 +EAST_OF_ENGLAND,OUTER_NORTH_LONDON,2,666 +EAST_OF_ENGLAND,OUTER_NORTH_LONDON,3,406 +EAST_OF_ENGLAND,OUTER_NORTH_LONDON,4+,187 +EAST_OF_ENGLAND,PETERBOROUGH,1,4249 +EAST_OF_ENGLAND,PETERBOROUGH,2,10206 +EAST_OF_ENGLAND,PETERBOROUGH,3,10034 +EAST_OF_ENGLAND,PETERBOROUGH,4+,3173 +EAST_OF_ENGLAND,SOUTHEND,1,7793 +EAST_OF_ENGLAND,SOUTHEND,2,11859 +EAST_OF_ENGLAND,SOUTHEND,3,7673 +EAST_OF_ENGLAND,SOUTHEND,4+,2487 +EAST_OF_ENGLAND,SOUTH_EAST_HERTS,1,4794 +EAST_OF_ENGLAND,SOUTH_EAST_HERTS,2,7948 +EAST_OF_ENGLAND,SOUTH_EAST_HERTS,3,5030 +EAST_OF_ENGLAND,SOUTH_EAST_HERTS,4+,2432 +EAST_OF_ENGLAND,SOUTH_WEST_ESSEX,1,5865 +EAST_OF_ENGLAND,SOUTH_WEST_ESSEX,2,10993 +EAST_OF_ENGLAND,SOUTH_WEST_ESSEX,3,8363 +EAST_OF_ENGLAND,SOUTH_WEST_ESSEX,4+,2429 +EAST_OF_ENGLAND,SOUTH_WEST_HERTS,1,10481 +EAST_OF_ENGLAND,SOUTH_WEST_HERTS,2,16159 +EAST_OF_ENGLAND,SOUTH_WEST_HERTS,3,8614 +EAST_OF_ENGLAND,SOUTH_WEST_HERTS,4+,4219 +EAST_OF_ENGLAND,STEVENAGE_NORTH_HERTS,1,4123 +EAST_OF_ENGLAND,STEVENAGE_NORTH_HERTS,2,5998 +EAST_OF_ENGLAND,STEVENAGE_NORTH_HERTS,3,4462 +EAST_OF_ENGLAND,STEVENAGE_NORTH_HERTS,4+,1441 +LONDON,CENTRAL_LONDON,1,31649 +LONDON,CENTRAL_LONDON,2,27084 +LONDON,CENTRAL_LONDON,3,10829 +LONDON,CENTRAL_LONDON,4+,5695 +LONDON,INNER_EAST_LONDON,1,29027 +LONDON,INNER_EAST_LONDON,2,28767 +LONDON,INNER_EAST_LONDON,3,12062 +LONDON,INNER_EAST_LONDON,4+,7563 +LONDON,INNER_NORTH_LONDON,1,37332 +LONDON,INNER_NORTH_LONDON,2,33252 +LONDON,INNER_NORTH_LONDON,3,14675 +LONDON,INNER_NORTH_LONDON,4+,9827 +LONDON,INNER_SOUTH_EAST_LONDON,1,40493 +LONDON,INNER_SOUTH_EAST_LONDON,2,46753 +LONDON,INNER_SOUTH_EAST_LONDON,3,20074 +LONDON,INNER_SOUTH_EAST_LONDON,4+,11807 +LONDON,INNER_SOUTH_WEST_LONDON,1,15333 +LONDON,INNER_SOUTH_WEST_LONDON,2,22328 +LONDON,INNER_SOUTH_WEST_LONDON,3,10024 +LONDON,INNER_SOUTH_WEST_LONDON,4+,6956 +LONDON,INNER_WEST_LONDON,1,23310 +LONDON,INNER_WEST_LONDON,2,24269 +LONDON,INNER_WEST_LONDON,3,10527 +LONDON,INNER_WEST_LONDON,4+,8178 +LONDON,NORTH_WEST_LONDON,1,16491 +LONDON,NORTH_WEST_LONDON,2,25700 +LONDON,NORTH_WEST_LONDON,3,18202 +LONDON,NORTH_WEST_LONDON,4+,9958 +LONDON,OUTER_EAST_LONDON,1,18601 +LONDON,OUTER_EAST_LONDON,2,24731 +LONDON,OUTER_EAST_LONDON,3,16365 +LONDON,OUTER_EAST_LONDON,4+,9288 +LONDON,OUTER_NORTH_EAST_LONDON,1,14992 +LONDON,OUTER_NORTH_EAST_LONDON,2,25660 +LONDON,OUTER_NORTH_EAST_LONDON,3,21035 +LONDON,OUTER_NORTH_EAST_LONDON,4+,7919 +LONDON,OUTER_NORTH_LONDON,1,28786 +LONDON,OUTER_NORTH_LONDON,2,36966 +LONDON,OUTER_NORTH_LONDON,3,20998 +LONDON,OUTER_NORTH_LONDON,4+,11989 +LONDON,OUTER_SOUTH_EAST_LONDON,1,14580 +LONDON,OUTER_SOUTH_EAST_LONDON,2,24800 +LONDON,OUTER_SOUTH_EAST_LONDON,3,15870 +LONDON,OUTER_SOUTH_EAST_LONDON,4+,5744 +LONDON,OUTER_SOUTH_LONDON,1,19336 +LONDON,OUTER_SOUTH_LONDON,2,25983 +LONDON,OUTER_SOUTH_LONDON,3,14514 +LONDON,OUTER_SOUTH_LONDON,4+,5892 +LONDON,OUTER_SOUTH_WEST_LONDON,1,13344 +LONDON,OUTER_SOUTH_WEST_LONDON,2,18231 +LONDON,OUTER_SOUTH_WEST_LONDON,3,8832 +LONDON,OUTER_SOUTH_WEST_LONDON,4+,6150 +LONDON,OUTER_WEST_LONDON,1,13522 +LONDON,OUTER_WEST_LONDON,2,19527 +LONDON,OUTER_WEST_LONDON,3,16016 +LONDON,OUTER_WEST_LONDON,4+,7743 +NORTHERN_IRELAND,BELFAST,all,31175 +NORTHERN_IRELAND,LOUGH_NEAGH_LOWER,all,15652 +NORTHERN_IRELAND,LOUGH_NEAGH_UPPER,all,23933 +NORTHERN_IRELAND,NORTH_NI,all,7169 +NORTHERN_IRELAND,NORTH_WEST_NI,all,12592 +NORTHERN_IRELAND,SOUTH_EAST_NI,all,19530 +NORTHERN_IRELAND,SOUTH_NI,all,12697 +NORTHERN_IRELAND,SOUTH_WEST_NI,all,9718 +NORTH_EAST,DARLINGTON,1,1231 +NORTH_EAST,DARLINGTON,2,6387 +NORTH_EAST,DARLINGTON,3,4590 +NORTH_EAST,DARLINGTON,4+,1147 +NORTH_EAST,DURHAM,1,2107 +NORTH_EAST,DURHAM,2,13762 +NORTH_EAST,DURHAM,3,11383 +NORTH_EAST,DURHAM,4+,3098 +NORTH_EAST,NORTHUMBERLAND,1,1847 +NORTH_EAST,NORTHUMBERLAND,2,8457 +NORTH_EAST,NORTHUMBERLAND,3,7131 +NORTH_EAST,NORTHUMBERLAND,4+,1531 +NORTH_EAST,NORTH_CUMBRIA,1,7 +NORTH_EAST,NORTH_CUMBRIA,2,54 +NORTH_EAST,NORTH_CUMBRIA,3,57 +NORTH_EAST,NORTH_CUMBRIA,4+,40 +NORTH_EAST,SUNDERLAND,1,2816 +NORTH_EAST,SUNDERLAND,2,11273 +NORTH_EAST,SUNDERLAND,3,9723 +NORTH_EAST,SUNDERLAND,4+,1846 +NORTH_EAST,TEESSIDE,1,4281 +NORTH_EAST,TEESSIDE,2,15747 +NORTH_EAST,TEESSIDE,3,20170 +NORTH_EAST,TEESSIDE,4+,3634 +NORTH_EAST,TYNESIDE,1,8359 +NORTH_EAST,TYNESIDE,2,33772 +NORTH_EAST,TYNESIDE,3,21105 +NORTH_EAST,TYNESIDE,4+,7009 +NORTH_WEST,BARROW_IN_FURNESS,1,845 +NORTH_WEST,BARROW_IN_FURNESS,2,3675 +NORTH_WEST,BARROW_IN_FURNESS,3,2212 +NORTH_WEST,BARROW_IN_FURNESS,4+,497 +NORTH_WEST,BOLTON_AND_BURY,1,4087 +NORTH_WEST,BOLTON_AND_BURY,2,18220 +NORTH_WEST,BOLTON_AND_BURY,3,11388 +NORTH_WEST,BOLTON_AND_BURY,4+,2348 +NORTH_WEST,CENTRAL_GREATER_MANCHESTER,1,24412 +NORTH_WEST,CENTRAL_GREATER_MANCHESTER,2,48853 +NORTH_WEST,CENTRAL_GREATER_MANCHESTER,3,28015 +NORTH_WEST,CENTRAL_GREATER_MANCHESTER,4+,10083 +NORTH_WEST,CENTRAL_LANCS,1,4143 +NORTH_WEST,CENTRAL_LANCS,2,11325 +NORTH_WEST,CENTRAL_LANCS,3,10502 +NORTH_WEST,CENTRAL_LANCS,4+,2726 +NORTH_WEST,EAST_CHESHIRE,1,1562 +NORTH_WEST,EAST_CHESHIRE,2,4887 +NORTH_WEST,EAST_CHESHIRE,3,3028 +NORTH_WEST,EAST_CHESHIRE,4+,1290 +NORTH_WEST,EAST_LANCS,1,2753 +NORTH_WEST,EAST_LANCS,2,13355 +NORTH_WEST,EAST_LANCS,3,8896 +NORTH_WEST,EAST_LANCS,4+,2042 +NORTH_WEST,FYLDE_COAST,1,8378 +NORTH_WEST,FYLDE_COAST,2,12915 +NORTH_WEST,FYLDE_COAST,3,12035 +NORTH_WEST,FYLDE_COAST,4+,2668 +NORTH_WEST,GREATER_LIVERPOOL,1,13273 +NORTH_WEST,GREATER_LIVERPOOL,2,26374 +NORTH_WEST,GREATER_LIVERPOOL,3,26149 +NORTH_WEST,GREATER_LIVERPOOL,4+,7309 +NORTH_WEST,KENDAL,1,1209 +NORTH_WEST,KENDAL,2,2599 +NORTH_WEST,KENDAL,3,2134 +NORTH_WEST,KENDAL,4+,771 +NORTH_WEST,LANCASTER,1,2279 +NORTH_WEST,LANCASTER,2,5166 +NORTH_WEST,LANCASTER,3,3755 +NORTH_WEST,LANCASTER,4+,1895 +NORTH_WEST,NORTH_CHESHIRE,1,3330 +NORTH_WEST,NORTH_CHESHIRE,2,10223 +NORTH_WEST,NORTH_CHESHIRE,3,8248 +NORTH_WEST,NORTH_CHESHIRE,4+,1601 +NORTH_WEST,NORTH_CUMBRIA,1,1755 +NORTH_WEST,NORTH_CUMBRIA,2,6387 +NORTH_WEST,NORTH_CUMBRIA,3,4711 +NORTH_WEST,NORTH_CUMBRIA,4+,1660 +NORTH_WEST,OLDHAM_ROCHDALE,1,2411 +NORTH_WEST,OLDHAM_ROCHDALE,2,13261 +NORTH_WEST,OLDHAM_ROCHDALE,3,8558 +NORTH_WEST,OLDHAM_ROCHDALE,4+,1660 +NORTH_WEST,SOUTHERN_GREATER_MANCHESTER,1,5118 +NORTH_WEST,SOUTHERN_GREATER_MANCHESTER,2,14979 +NORTH_WEST,SOUTHERN_GREATER_MANCHESTER,3,10204 +NORTH_WEST,SOUTHERN_GREATER_MANCHESTER,4+,2385 +NORTH_WEST,SOUTHPORT,1,3251 +NORTH_WEST,SOUTHPORT,2,5145 +NORTH_WEST,SOUTHPORT,3,4226 +NORTH_WEST,SOUTHPORT,4+,1371 +NORTH_WEST,SOUTH_CHESHIRE,1,2341 +NORTH_WEST,SOUTH_CHESHIRE,2,7247 +NORTH_WEST,SOUTH_CHESHIRE,3,6474 +NORTH_WEST,SOUTH_CHESHIRE,4+,2197 +NORTH_WEST,STAFFORDSHIRE_NORTH,1,9 +NORTH_WEST,STAFFORDSHIRE_NORTH,2,40 +NORTH_WEST,STAFFORDSHIRE_NORTH,3,24 +NORTH_WEST,STAFFORDSHIRE_NORTH,4+,5 +NORTH_WEST,ST_HELENS,1,1019 +NORTH_WEST,ST_HELENS,2,5783 +NORTH_WEST,ST_HELENS,3,5072 +NORTH_WEST,ST_HELENS,4+,728 +NORTH_WEST,TAMESIDE_GLOSSOP,1,1773 +NORTH_WEST,TAMESIDE_GLOSSOP,2,7921 +NORTH_WEST,TAMESIDE_GLOSSOP,3,4139 +NORTH_WEST,TAMESIDE_GLOSSOP,4+,782 +NORTH_WEST,WEST_CHESHIRE,1,2847 +NORTH_WEST,WEST_CHESHIRE,2,8218 +NORTH_WEST,WEST_CHESHIRE,3,7742 +NORTH_WEST,WEST_CHESHIRE,4+,2357 +NORTH_WEST,WEST_CUMBRIA,1,821 +NORTH_WEST,WEST_CUMBRIA,2,3052 +NORTH_WEST,WEST_CUMBRIA,3,2492 +NORTH_WEST,WEST_CUMBRIA,4+,633 +NORTH_WEST,WEST_PENNINE,1,1708 +NORTH_WEST,WEST_PENNINE,2,9867 +NORTH_WEST,WEST_PENNINE,3,5878 +NORTH_WEST,WEST_PENNINE,4+,1126 +NORTH_WEST,WIGAN,1,2507 +NORTH_WEST,WIGAN,2,11518 +NORTH_WEST,WIGAN,3,10381 +NORTH_WEST,WIGAN,4+,1618 +NORTH_WEST,WIRRAL,1,4176 +NORTH_WEST,WIRRAL,2,10388 +NORTH_WEST,WIRRAL,3,10855 +NORTH_WEST,WIRRAL,4+,2651 +SCOTLAND,ABERDEEN_AND_SHIRE,1,8886 +SCOTLAND,ABERDEEN_AND_SHIRE,2,14519 +SCOTLAND,ABERDEEN_AND_SHIRE,3,5895 +SCOTLAND,ABERDEEN_AND_SHIRE,4+,2663 +SCOTLAND,ARGYLL_AND_BUTE,1,1127 +SCOTLAND,ARGYLL_AND_BUTE,2,2130 +SCOTLAND,ARGYLL_AND_BUTE,3,1301 +SCOTLAND,ARGYLL_AND_BUTE,4+,438 +SCOTLAND,AYRSHIRES,1,3355 +SCOTLAND,AYRSHIRES,2,8338 +SCOTLAND,AYRSHIRES,3,4611 +SCOTLAND,AYRSHIRES,4+,909 +SCOTLAND,DUMFRIES_AND_GALLOWAY,1,1520 +SCOTLAND,DUMFRIES_AND_GALLOWAY,2,4075 +SCOTLAND,DUMFRIES_AND_GALLOWAY,3,2990 +SCOTLAND,DUMFRIES_AND_GALLOWAY,4+,904 +SCOTLAND,DUNDEE_AND_ANGUS,1,5707 +SCOTLAND,DUNDEE_AND_ANGUS,2,10456 +SCOTLAND,DUNDEE_AND_ANGUS,3,4441 +SCOTLAND,DUNDEE_AND_ANGUS,4+,1540 +SCOTLAND,EAST_DUNBARTONSHIRE,1,599 +SCOTLAND,EAST_DUNBARTONSHIRE,2,1262 +SCOTLAND,EAST_DUNBARTONSHIRE,3,672 +SCOTLAND,EAST_DUNBARTONSHIRE,4+,173 +SCOTLAND,FIFE,1,3320 +SCOTLAND,FIFE,2,9595 +SCOTLAND,FIFE,3,5270 +SCOTLAND,FIFE,4+,1462 +SCOTLAND,FORTH_VALLEY,1,2636 +SCOTLAND,FORTH_VALLEY,2,6918 +SCOTLAND,FORTH_VALLEY,3,2937 +SCOTLAND,FORTH_VALLEY,4+,790 +SCOTLAND,GREATER_GLASGOW,1,14978 +SCOTLAND,GREATER_GLASGOW,2,26740 +SCOTLAND,GREATER_GLASGOW,3,7442 +SCOTLAND,GREATER_GLASGOW,4+,2112 +SCOTLAND,HIGHLAND_AND_ISLANDS,1,3284 +SCOTLAND,HIGHLAND_AND_ISLANDS,2,8469 +SCOTLAND,HIGHLAND_AND_ISLANDS,3,5915 +SCOTLAND,HIGHLAND_AND_ISLANDS,4+,1841 +SCOTLAND,LOTHIAN,1,18074 +SCOTLAND,LOTHIAN,2,30012 +SCOTLAND,LOTHIAN,3,10044 +SCOTLAND,LOTHIAN,4+,4327 +SCOTLAND,NORTH_LANARKSHIRE,1,2062 +SCOTLAND,NORTH_LANARKSHIRE,2,6339 +SCOTLAND,NORTH_LANARKSHIRE,3,3376 +SCOTLAND,NORTH_LANARKSHIRE,4+,669 +SCOTLAND,PERTH_AND_KINROSS,1,2098 +SCOTLAND,PERTH_AND_KINROSS,2,4029 +SCOTLAND,PERTH_AND_KINROSS,3,1965 +SCOTLAND,PERTH_AND_KINROSS,4+,668 +SCOTLAND,RENFREWSHIRE_AND_INVERCLYDE,1,4208 +SCOTLAND,RENFREWSHIRE_AND_INVERCLYDE,2,6991 +SCOTLAND,RENFREWSHIRE_AND_INVERCLYDE,3,2546 +SCOTLAND,RENFREWSHIRE_AND_INVERCLYDE,4+,503 +SCOTLAND,SCOTTISH_BORDERS,1,1461 +SCOTLAND,SCOTTISH_BORDERS,2,3189 +SCOTLAND,SCOTTISH_BORDERS,3,2271 +SCOTLAND,SCOTTISH_BORDERS,4+,646 +SCOTLAND,SOUTH_LANARKSHIRE,1,3051 +SCOTLAND,SOUTH_LANARKSHIRE,2,7569 +SCOTLAND,SOUTH_LANARKSHIRE,3,3282 +SCOTLAND,SOUTH_LANARKSHIRE,4+,689 +SCOTLAND,WEST_DUNBARTONSHIRE,1,927 +SCOTLAND,WEST_DUNBARTONSHIRE,2,1625 +SCOTLAND,WEST_DUNBARTONSHIRE,3,661 +SCOTLAND,WEST_DUNBARTONSHIRE,4+,108 +SCOTLAND,WEST_LOTHIAN,1,1247 +SCOTLAND,WEST_LOTHIAN,2,3461 +SCOTLAND,WEST_LOTHIAN,3,2186 +SCOTLAND,WEST_LOTHIAN,4+,497 +SOUTH_EAST,ASHFORD,1,1508 +SOUTH_EAST,ASHFORD,2,3832 +SOUTH_EAST,ASHFORD,3,3788 +SOUTH_EAST,ASHFORD,4+,1207 +SOUTH_EAST,AYLESBURY,1,2284 +SOUTH_EAST,AYLESBURY,2,4739 +SOUTH_EAST,AYLESBURY,3,3283 +SOUTH_EAST,AYLESBURY,4+,1325 +SOUTH_EAST,BASINGSTOKE,1,3291 +SOUTH_EAST,BASINGSTOKE,2,6246 +SOUTH_EAST,BASINGSTOKE,3,5391 +SOUTH_EAST,BASINGSTOKE,4+,1892 +SOUTH_EAST,BLACKWATER_VALLEY,1,5264 +SOUTH_EAST,BLACKWATER_VALLEY,2,9018 +SOUTH_EAST,BLACKWATER_VALLEY,3,7615 +SOUTH_EAST,BLACKWATER_VALLEY,4+,3087 +SOUTH_EAST,BOURNEMOUTH,1,594 +SOUTH_EAST,BOURNEMOUTH,2,1255 +SOUTH_EAST,BOURNEMOUTH,3,924 +SOUTH_EAST,BOURNEMOUTH,4+,270 +SOUTH_EAST,BRIGHTON_AND_HOVE,1,17890 +SOUTH_EAST,BRIGHTON_AND_HOVE,2,16622 +SOUTH_EAST,BRIGHTON_AND_HOVE,3,7918 +SOUTH_EAST,BRIGHTON_AND_HOVE,4+,5194 +SOUTH_EAST,CANTERBURY,1,3238 +SOUTH_EAST,CANTERBURY,2,6227 +SOUTH_EAST,CANTERBURY,3,4601 +SOUTH_EAST,CANTERBURY,4+,2806 +SOUTH_EAST,CHELTENHAM,1,106 +SOUTH_EAST,CHELTENHAM,2,280 +SOUTH_EAST,CHELTENHAM,3,277 +SOUTH_EAST,CHELTENHAM,4+,139 +SOUTH_EAST,CHERWELL_VALLEY,1,2457 +SOUTH_EAST,CHERWELL_VALLEY,2,4517 +SOUTH_EAST,CHERWELL_VALLEY,3,3859 +SOUTH_EAST,CHERWELL_VALLEY,4+,1424 +SOUTH_EAST,CHICHESTER,1,1944 +SOUTH_EAST,CHICHESTER,2,4293 +SOUTH_EAST,CHICHESTER,3,3781 +SOUTH_EAST,CHICHESTER,4+,1429 +SOUTH_EAST,CHILTERNS,1,4060 +SOUTH_EAST,CHILTERNS,2,6924 +SOUTH_EAST,CHILTERNS,3,5146 +SOUTH_EAST,CHILTERNS,4+,2712 +SOUTH_EAST,CRAWLEY_REIGATE,1,9830 +SOUTH_EAST,CRAWLEY_REIGATE,2,15294 +SOUTH_EAST,CRAWLEY_REIGATE,3,10364 +SOUTH_EAST,CRAWLEY_REIGATE,4+,4139 +SOUTH_EAST,DOVER_SHEPWAY,1,4422 +SOUTH_EAST,DOVER_SHEPWAY,2,7610 +SOUTH_EAST,DOVER_SHEPWAY,3,5141 +SOUTH_EAST,DOVER_SHEPWAY,4+,1335 +SOUTH_EAST,EASTBOURNE,1,4841 +SOUTH_EAST,EASTBOURNE,2,7632 +SOUTH_EAST,EASTBOURNE,3,4582 +SOUTH_EAST,EASTBOURNE,4+,1523 +SOUTH_EAST,EAST_THAMES_VALLEY,1,7656 +SOUTH_EAST,EAST_THAMES_VALLEY,2,11639 +SOUTH_EAST,EAST_THAMES_VALLEY,3,8361 +SOUTH_EAST,EAST_THAMES_VALLEY,4+,4016 +SOUTH_EAST,GUILDFORD,1,6007 +SOUTH_EAST,GUILDFORD,2,8586 +SOUTH_EAST,GUILDFORD,3,5675 +SOUTH_EAST,GUILDFORD,4+,3789 +SOUTH_EAST,HIGH_WEALD,1,5098 +SOUTH_EAST,HIGH_WEALD,2,8475 +SOUTH_EAST,HIGH_WEALD,3,5556 +SOUTH_EAST,HIGH_WEALD,4+,2542 +SOUTH_EAST,ISLE_OF_WIGHT,1,3027 +SOUTH_EAST,ISLE_OF_WIGHT,2,5853 +SOUTH_EAST,ISLE_OF_WIGHT,3,3617 +SOUTH_EAST,ISLE_OF_WIGHT,4+,881 +SOUTH_EAST,LUTON,1,18 +SOUTH_EAST,LUTON,2,49 +SOUTH_EAST,LUTON,3,45 +SOUTH_EAST,LUTON,4+,22 +SOUTH_EAST,MAIDSTONE,1,3114 +SOUTH_EAST,MAIDSTONE,2,6250 +SOUTH_EAST,MAIDSTONE,3,4337 +SOUTH_EAST,MAIDSTONE,4+,1686 +SOUTH_EAST,MEDWAY_SWALE,1,6006 +SOUTH_EAST,MEDWAY_SWALE,2,11386 +SOUTH_EAST,MEDWAY_SWALE,3,11997 +SOUTH_EAST,MEDWAY_SWALE,4+,2685 +SOUTH_EAST,MILTON_KEYNES,1,4723 +SOUTH_EAST,MILTON_KEYNES,2,9451 +SOUTH_EAST,MILTON_KEYNES,3,8472 +SOUTH_EAST,MILTON_KEYNES,4+,3758 +SOUTH_EAST,NEWBURY,1,1769 +SOUTH_EAST,NEWBURY,2,3449 +SOUTH_EAST,NEWBURY,3,2589 +SOUTH_EAST,NEWBURY,4+,957 +SOUTH_EAST,NORTH_WEST_KENT,1,4009 +SOUTH_EAST,NORTH_WEST_KENT,2,7018 +SOUTH_EAST,NORTH_WEST_KENT,3,5516 +SOUTH_EAST,NORTH_WEST_KENT,4+,1477 +SOUTH_EAST,OUTER_SOUTH_EAST_LONDON,1,6 +SOUTH_EAST,OUTER_SOUTH_EAST_LONDON,2,31 +SOUTH_EAST,OUTER_SOUTH_EAST_LONDON,3,26 +SOUTH_EAST,OUTER_SOUTH_EAST_LONDON,4+,12 +SOUTH_EAST,OUTER_SOUTH_LONDON,1,1737 +SOUTH_EAST,OUTER_SOUTH_LONDON,2,3805 +SOUTH_EAST,OUTER_SOUTH_LONDON,3,1976 +SOUTH_EAST,OUTER_SOUTH_LONDON,4+,1047 +SOUTH_EAST,OUTER_SOUTH_WEST_LONDON,1,244 +SOUTH_EAST,OUTER_SOUTH_WEST_LONDON,2,483 +SOUTH_EAST,OUTER_SOUTH_WEST_LONDON,3,264 +SOUTH_EAST,OUTER_SOUTH_WEST_LONDON,4+,240 +SOUTH_EAST,OXFORD,1,7907 +SOUTH_EAST,OXFORD,2,13914 +SOUTH_EAST,OXFORD,3,11444 +SOUTH_EAST,OXFORD,4+,6761 +SOUTH_EAST,PORTSMOUTH,1,9482 +SOUTH_EAST,PORTSMOUTH,2,17019 +SOUTH_EAST,PORTSMOUTH,3,13783 +SOUTH_EAST,PORTSMOUTH,4+,4888 +SOUTH_EAST,READING,1,10276 +SOUTH_EAST,READING,2,15769 +SOUTH_EAST,READING,3,11155 +SOUTH_EAST,READING,4+,6138 +SOUTH_EAST,SALISBURY,1,172 +SOUTH_EAST,SALISBURY,2,433 +SOUTH_EAST,SALISBURY,3,676 +SOUTH_EAST,SALISBURY,4+,253 +SOUTH_EAST,SOUTHAMPTON,1,13339 +SOUTH_EAST,SOUTHAMPTON,2,18511 +SOUTH_EAST,SOUTHAMPTON,3,12589 +SOUTH_EAST,SOUTHAMPTON,4+,5961 +SOUTH_EAST,SUSSEX_EAST,1,4988 +SOUTH_EAST,SUSSEX_EAST,2,7500 +SOUTH_EAST,SUSSEX_EAST,3,4270 +SOUTH_EAST,SUSSEX_EAST,4+,1261 +SOUTH_EAST,SWINDON,1,182 +SOUTH_EAST,SWINDON,2,475 +SOUTH_EAST,SWINDON,3,487 +SOUTH_EAST,SWINDON,4+,359 +SOUTH_EAST,THANET,1,4115 +SOUTH_EAST,THANET,2,7065 +SOUTH_EAST,THANET,3,4014 +SOUTH_EAST,THANET,4+,1143 +SOUTH_EAST,WALTON,1,6513 +SOUTH_EAST,WALTON,2,10232 +SOUTH_EAST,WALTON,3,5708 +SOUTH_EAST,WALTON,4+,4088 +SOUTH_EAST,WINCHESTER,1,1380 +SOUTH_EAST,WINCHESTER,2,2907 +SOUTH_EAST,WINCHESTER,3,2625 +SOUTH_EAST,WINCHESTER,4+,1730 +SOUTH_EAST,WORTHING,1,8491 +SOUTH_EAST,WORTHING,2,9655 +SOUTH_EAST,WORTHING,3,6394 +SOUTH_EAST,WORTHING,4+,1916 +SOUTH_WEST,BATH,1,3796 +SOUTH_WEST,BATH,2,5235 +SOUTH_WEST,BATH,3,3954 +SOUTH_WEST,BATH,4+,2984 +SOUTH_WEST,BOURNEMOUTH,1,13820 +SOUTH_WEST,BOURNEMOUTH,2,21325 +SOUTH_WEST,BOURNEMOUTH,3,11275 +SOUTH_WEST,BOURNEMOUTH,4+,5167 +SOUTH_WEST,BRISTOL,1,19319 +SOUTH_WEST,BRISTOL,2,27170 +SOUTH_WEST,BRISTOL,3,18247 +SOUTH_WEST,BRISTOL,4+,10093 +SOUTH_WEST,CHELTENHAM,1,5456 +SOUTH_WEST,CHELTENHAM,2,8481 +SOUTH_WEST,CHELTENHAM,3,6148 +SOUTH_WEST,CHELTENHAM,4+,2827 +SOUTH_WEST,EXETER,1,4847 +SOUTH_WEST,EXETER,2,8719 +SOUTH_WEST,EXETER,3,6607 +SOUTH_WEST,EXETER,4+,3900 +SOUTH_WEST,GLOUCESTER,1,5360 +SOUTH_WEST,GLOUCESTER,2,10096 +SOUTH_WEST,GLOUCESTER,3,8032 +SOUTH_WEST,GLOUCESTER,4+,2972 +SOUTH_WEST,KERNOW_WEST,1,6911 +SOUTH_WEST,KERNOW_WEST,2,13526 +SOUTH_WEST,KERNOW_WEST,3,10967 +SOUTH_WEST,KERNOW_WEST,4+,3791 +SOUTH_WEST,MENDIP,1,1847 +SOUTH_WEST,MENDIP,2,3578 +SOUTH_WEST,MENDIP,3,3006 +SOUTH_WEST,MENDIP,4+,1025 +SOUTH_WEST,MID_EAST_DEVON,1,1639 +SOUTH_WEST,MID_EAST_DEVON,2,4121 +SOUTH_WEST,MID_EAST_DEVON,3,3133 +SOUTH_WEST,MID_EAST_DEVON,4+,1020 +SOUTH_WEST,MID_WEST_DORSET,1,3157 +SOUTH_WEST,MID_WEST_DORSET,2,5978 +SOUTH_WEST,MID_WEST_DORSET,3,4562 +SOUTH_WEST,MID_WEST_DORSET,4+,1482 +SOUTH_WEST,MONMOUTHSHIRE,1,31 +SOUTH_WEST,MONMOUTHSHIRE,2,92 +SOUTH_WEST,MONMOUTHSHIRE,3,171 +SOUTH_WEST,MONMOUTHSHIRE,4+,44 +SOUTH_WEST,NEWBURY,1,16 +SOUTH_WEST,NEWBURY,2,78 +SOUTH_WEST,NEWBURY,3,156 +SOUTH_WEST,NEWBURY,4+,58 +SOUTH_WEST,NORTH_CORNWALL_DEVON_BORDERS,1,1615 +SOUTH_WEST,NORTH_CORNWALL_DEVON_BORDERS,2,3413 +SOUTH_WEST,NORTH_CORNWALL_DEVON_BORDERS,3,3317 +SOUTH_WEST,NORTH_CORNWALL_DEVON_BORDERS,4+,1092 +SOUTH_WEST,NORTH_DEVON,1,2362 +SOUTH_WEST,NORTH_DEVON,2,5261 +SOUTH_WEST,NORTH_DEVON,3,4307 +SOUTH_WEST,NORTH_DEVON,4+,1467 +SOUTH_WEST,PLYMOUTH,1,8834 +SOUTH_WEST,PLYMOUTH,2,13867 +SOUTH_WEST,PLYMOUTH,3,10467 +SOUTH_WEST,PLYMOUTH,4+,3860 +SOUTH_WEST,SALISBURY,1,2062 +SOUTH_WEST,SALISBURY,2,5481 +SOUTH_WEST,SALISBURY,3,6992 +SOUTH_WEST,SALISBURY,4+,2419 +SOUTH_WEST,SOUTH_DEVON,1,7843 +SOUTH_WEST,SOUTH_DEVON,2,11753 +SOUTH_WEST,SOUTH_DEVON,3,7949 +SOUTH_WEST,SOUTH_DEVON,4+,2431 +SOUTH_WEST,SWINDON,1,4143 +SOUTH_WEST,SWINDON,2,9206 +SOUTH_WEST,SWINDON,3,6546 +SOUTH_WEST,SWINDON,4+,2132 +SOUTH_WEST,TAUNTON_WEST_SOMERSET,1,3673 +SOUTH_WEST,TAUNTON_WEST_SOMERSET,2,7597 +SOUTH_WEST,TAUNTON_WEST_SOMERSET,3,6272 +SOUTH_WEST,TAUNTON_WEST_SOMERSET,4+,1991 +SOUTH_WEST,WARWICKSHIRE_SOUTH,1,8 +SOUTH_WEST,WARWICKSHIRE_SOUTH,2,28 +SOUTH_WEST,WARWICKSHIRE_SOUTH,3,36 +SOUTH_WEST,WARWICKSHIRE_SOUTH,4+,4 +SOUTH_WEST,WESTON_S_MARE,1,3478 +SOUTH_WEST,WESTON_S_MARE,2,5871 +SOUTH_WEST,WESTON_S_MARE,3,3644 +SOUTH_WEST,WESTON_S_MARE,4+,1233 +SOUTH_WEST,WEST_WILTSHIRE,1,2967 +SOUTH_WEST,WEST_WILTSHIRE,2,6987 +SOUTH_WEST,WEST_WILTSHIRE,3,5996 +SOUTH_WEST,WEST_WILTSHIRE,4+,1990 +SOUTH_WEST,YEOVIL,1,2667 +SOUTH_WEST,YEOVIL,2,5707 +SOUTH_WEST,YEOVIL,3,5294 +SOUTH_WEST,YEOVIL,4+,1669 +WALES,BLAENAU_GWENT,1,442 +WALES,BLAENAU_GWENT,2,1882 +WALES,BLAENAU_GWENT,3,2314 +WALES,BLAENAU_GWENT,4+,205 +WALES,BRECON_AND_RADNOR,1,745 +WALES,BRECON_AND_RADNOR,2,1721 +WALES,BRECON_AND_RADNOR,3,1981 +WALES,BRECON_AND_RADNOR,4+,664 +WALES,BRIDGEND,1,939 +WALES,BRIDGEND,2,3401 +WALES,BRIDGEND,3,4340 +WALES,BRIDGEND,4+,834 +WALES,CAERPHILLY,1,956 +WALES,CAERPHILLY,2,3130 +WALES,CAERPHILLY,3,5449 +WALES,CAERPHILLY,4+,623 +WALES,CARDIFF,1,9179 +WALES,CARDIFF,2,13254 +WALES,CARDIFF,3,8166 +WALES,CARDIFF,4+,5181 +WALES,CARMARTHENSHIRE,1,1235 +WALES,CARMARTHENSHIRE,2,3805 +WALES,CARMARTHENSHIRE,3,5734 +WALES,CARMARTHENSHIRE,4+,1396 +WALES,CEREDIGION,1,1219 +WALES,CEREDIGION,2,2254 +WALES,CEREDIGION,3,2300 +WALES,CEREDIGION,4+,1135 +WALES,FLINTSHIRE,1,859 +WALES,FLINTSHIRE,2,2467 +WALES,FLINTSHIRE,3,3140 +WALES,FLINTSHIRE,4+,574 +WALES,MERTHYR_CYNON,1,794 +WALES,MERTHYR_CYNON,2,2975 +WALES,MERTHYR_CYNON,3,4407 +WALES,MERTHYR_CYNON,4+,581 +WALES,MONMOUTHSHIRE,1,734 +WALES,MONMOUTHSHIRE,2,1985 +WALES,MONMOUTHSHIRE,3,2142 +WALES,MONMOUTHSHIRE,4+,715 +WALES,NEATH_PORT_TALBOT,1,817 +WALES,NEATH_PORT_TALBOT,2,2926 +WALES,NEATH_PORT_TALBOT,3,4813 +WALES,NEATH_PORT_TALBOT,4+,616 +WALES,NEWPORT,1,1793 +WALES,NEWPORT,2,3724 +WALES,NEWPORT,3,4407 +WALES,NEWPORT,4+,1102 +WALES,NORTH_CLWYD,1,3263 +WALES,NORTH_CLWYD,2,7575 +WALES,NORTH_CLWYD,3,5398 +WALES,NORTH_CLWYD,4+,1462 +WALES,NORTH_POWYS,1,627 +WALES,NORTH_POWYS,2,1743 +WALES,NORTH_POWYS,3,2085 +WALES,NORTH_POWYS,4+,655 +WALES,NORTH_WEST_WALES,1,1328 +WALES,NORTH_WEST_WALES,2,3942 +WALES,NORTH_WEST_WALES,3,4244 +WALES,NORTH_WEST_WALES,4+,1696 +WALES,PEMBROKESHIRE,1,1352 +WALES,PEMBROKESHIRE,2,3059 +WALES,PEMBROKESHIRE,3,3233 +WALES,PEMBROKESHIRE,4+,928 +WALES,SOUTH_GWYNEDD,1,365 +WALES,SOUTH_GWYNEDD,2,942 +WALES,SOUTH_GWYNEDD,3,855 +WALES,SOUTH_GWYNEDD,4+,292 +WALES,SWANSEA,1,3298 +WALES,SWANSEA,2,6848 +WALES,SWANSEA,3,6170 +WALES,SWANSEA,4+,2588 +WALES,TAFF_RHONDDA,1,1074 +WALES,TAFF_RHONDDA,2,4038 +WALES,TAFF_RHONDDA,3,6984 +WALES,TAFF_RHONDDA,4+,1349 +WALES,TORFAEN,1,437 +WALES,TORFAEN,2,1704 +WALES,TORFAEN,3,2046 +WALES,TORFAEN,4+,308 +WALES,VALE_OF_GLAMORGAN,1,1394 +WALES,VALE_OF_GLAMORGAN,2,3506 +WALES,VALE_OF_GLAMORGAN,3,3266 +WALES,VALE_OF_GLAMORGAN,4+,820 +WALES,WEST_CHESHIRE,1,120 +WALES,WEST_CHESHIRE,2,408 +WALES,WEST_CHESHIRE,3,535 +WALES,WEST_CHESHIRE,4+,82 +WALES,WREXHAM,1,1281 +WALES,WREXHAM,2,4708 +WALES,WREXHAM,3,3633 +WALES,WREXHAM,4+,905 +WEST_MIDLANDS,BIRMINGHAM,1,22680 +WEST_MIDLANDS,BIRMINGHAM,2,34684 +WEST_MIDLANDS,BIRMINGHAM,3,39709 +WEST_MIDLANDS,BIRMINGHAM,4+,10752 +WEST_MIDLANDS,BLACK_COUNTRY,1,12318 +WEST_MIDLANDS,BLACK_COUNTRY,2,27150 +WEST_MIDLANDS,BLACK_COUNTRY,3,32298 +WEST_MIDLANDS,BLACK_COUNTRY,4+,5565 +WEST_MIDLANDS,BRECON_AND_RADNOR,1,11 +WEST_MIDLANDS,BRECON_AND_RADNOR,2,38 +WEST_MIDLANDS,BRECON_AND_RADNOR,3,37 +WEST_MIDLANDS,BRECON_AND_RADNOR,4+,27 +WEST_MIDLANDS,CHELTENHAM,1,100 +WEST_MIDLANDS,CHELTENHAM,2,312 +WEST_MIDLANDS,CHELTENHAM,3,272 +WEST_MIDLANDS,CHELTENHAM,4+,113 +WEST_MIDLANDS,CHERWELL_VALLEY,1,31 +WEST_MIDLANDS,CHERWELL_VALLEY,2,118 +WEST_MIDLANDS,CHERWELL_VALLEY,3,94 +WEST_MIDLANDS,CHERWELL_VALLEY,4+,47 +WEST_MIDLANDS,COVENTRY,1,5822 +WEST_MIDLANDS,COVENTRY,2,16383 +WEST_MIDLANDS,COVENTRY,3,17783 +WEST_MIDLANDS,COVENTRY,4+,5144 +WEST_MIDLANDS,EASTERN_STAFFORDSHIRE,1,1338 +WEST_MIDLANDS,EASTERN_STAFFORDSHIRE,2,4054 +WEST_MIDLANDS,EASTERN_STAFFORDSHIRE,3,3551 +WEST_MIDLANDS,EASTERN_STAFFORDSHIRE,4+,912 +WEST_MIDLANDS,HEREFORDSHIRE,1,2931 +WEST_MIDLANDS,HEREFORDSHIRE,2,5518 +WEST_MIDLANDS,HEREFORDSHIRE,3,4831 +WEST_MIDLANDS,HEREFORDSHIRE,4+,1735 +WEST_MIDLANDS,MID_STAFFS,1,4290 +WEST_MIDLANDS,MID_STAFFS,2,10976 +WEST_MIDLANDS,MID_STAFFS,3,11548 +WEST_MIDLANDS,MID_STAFFS,4+,2538 +WEST_MIDLANDS,PEAKS_DALES,1,4 +WEST_MIDLANDS,PEAKS_DALES,2,64 +WEST_MIDLANDS,PEAKS_DALES,3,56 +WEST_MIDLANDS,PEAKS_DALES,4+,19 +WEST_MIDLANDS,RUGBY_EAST,1,1368 +WEST_MIDLANDS,RUGBY_EAST,2,3087 +WEST_MIDLANDS,RUGBY_EAST,3,2511 +WEST_MIDLANDS,RUGBY_EAST,4+,876 +WEST_MIDLANDS,SHROPSHIRE,1,5388 +WEST_MIDLANDS,SHROPSHIRE,2,14043 +WEST_MIDLANDS,SHROPSHIRE,3,16077 +WEST_MIDLANDS,SHROPSHIRE,4+,4798 +WEST_MIDLANDS,SOLIHULL,1,1240 +WEST_MIDLANDS,SOLIHULL,2,3784 +WEST_MIDLANDS,SOLIHULL,3,3214 +WEST_MIDLANDS,SOLIHULL,4+,1114 +WEST_MIDLANDS,STAFFORDSHIRE_NORTH,1,4115 +WEST_MIDLANDS,STAFFORDSHIRE_NORTH,2,16808 +WEST_MIDLANDS,STAFFORDSHIRE_NORTH,3,12015 +WEST_MIDLANDS,STAFFORDSHIRE_NORTH,4+,2686 +WEST_MIDLANDS,WARWICKSHIRE_SOUTH,1,3230 +WEST_MIDLANDS,WARWICKSHIRE_SOUTH,2,7718 +WEST_MIDLANDS,WARWICKSHIRE_SOUTH,3,4760 +WEST_MIDLANDS,WARWICKSHIRE_SOUTH,4+,2572 +WEST_MIDLANDS,WORCESTER_NORTH,1,3512 +WEST_MIDLANDS,WORCESTER_NORTH,2,6576 +WEST_MIDLANDS,WORCESTER_NORTH,3,6692 +WEST_MIDLANDS,WORCESTER_NORTH,4+,1470 +WEST_MIDLANDS,WORCESTER_SOUTH,1,4179 +WEST_MIDLANDS,WORCESTER_SOUTH,2,8044 +WEST_MIDLANDS,WORCESTER_SOUTH,3,5898 +WEST_MIDLANDS,WORCESTER_SOUTH,4+,2200 +YORKSHIRE,BARNSLEY,1,1719 +YORKSHIRE,BARNSLEY,2,8351 +YORKSHIRE,BARNSLEY,3,7314 +YORKSHIRE,BARNSLEY,4+,1186 +YORKSHIRE,BRADFORD_SOUTH_DALES,1,9183 +YORKSHIRE,BRADFORD_SOUTH_DALES,2,19213 +YORKSHIRE,BRADFORD_SOUTH_DALES,3,16770 +YORKSHIRE,BRADFORD_SOUTH_DALES,4+,5780 +YORKSHIRE,DARLINGTON,1,30 +YORKSHIRE,DARLINGTON,2,124 +YORKSHIRE,DARLINGTON,3,165 +YORKSHIRE,DARLINGTON,4+,69 +YORKSHIRE,DONCASTER,1,3600 +YORKSHIRE,DONCASTER,2,11032 +YORKSHIRE,DONCASTER,3,13397 +YORKSHIRE,DONCASTER,4+,2579 +YORKSHIRE,GRIMSBY,1,1781 +YORKSHIRE,GRIMSBY,2,4675 +YORKSHIRE,GRIMSBY,3,8531 +YORKSHIRE,GRIMSBY,4+,1019 +YORKSHIRE,HALIFAX,1,3065 +YORKSHIRE,HALIFAX,2,8884 +YORKSHIRE,HALIFAX,3,5210 +YORKSHIRE,HALIFAX,4+,1281 +YORKSHIRE,HARROGATE,1,2575 +YORKSHIRE,HARROGATE,2,5125 +YORKSHIRE,HARROGATE,3,3696 +YORKSHIRE,HARROGATE,4+,1516 +YORKSHIRE,HULL_EAST_RIDING,1,7563 +YORKSHIRE,HULL_EAST_RIDING,2,20021 +YORKSHIRE,HULL_EAST_RIDING,3,15550 +YORKSHIRE,HULL_EAST_RIDING,4+,4392 +YORKSHIRE,KIRKLEES,1,6427 +YORKSHIRE,KIRKLEES,2,14498 +YORKSHIRE,KIRKLEES,3,10182 +YORKSHIRE,KIRKLEES,4+,2840 +YORKSHIRE,LANCASTER,1,65 +YORKSHIRE,LANCASTER,2,175 +YORKSHIRE,LANCASTER,3,180 +YORKSHIRE,LANCASTER,4+,49 +YORKSHIRE,LEEDS,1,17077 +YORKSHIRE,LEEDS,2,30655 +YORKSHIRE,LEEDS,3,18484 +YORKSHIRE,LEEDS,4+,10626 +YORKSHIRE,RICHMOND_HAMBLETON,1,1030 +YORKSHIRE,RICHMOND_HAMBLETON,2,3523 +YORKSHIRE,RICHMOND_HAMBLETON,3,3793 +YORKSHIRE,RICHMOND_HAMBLETON,4+,1355 +YORKSHIRE,ROTHERHAM,1,1844 +YORKSHIRE,ROTHERHAM,2,6221 +YORKSHIRE,ROTHERHAM,3,7277 +YORKSHIRE,ROTHERHAM,4+,999 +YORKSHIRE,SCARBOROUGH,1,3062 +YORKSHIRE,SCARBOROUGH,2,5365 +YORKSHIRE,SCARBOROUGH,3,3776 +YORKSHIRE,SCARBOROUGH,4+,1347 +YORKSHIRE,SCUNTHORPE,1,1278 +YORKSHIRE,SCUNTHORPE,2,3523 +YORKSHIRE,SCUNTHORPE,3,5819 +YORKSHIRE,SCUNTHORPE,4+,871 +YORKSHIRE,SHEFFIELD,1,9218 +YORKSHIRE,SHEFFIELD,2,15124 +YORKSHIRE,SHEFFIELD,3,14361 +YORKSHIRE,SHEFFIELD,4+,5487 +YORKSHIRE,TEESSIDE,1,69 +YORKSHIRE,TEESSIDE,2,306 +YORKSHIRE,TEESSIDE,3,285 +YORKSHIRE,TEESSIDE,4+,116 +YORKSHIRE,WAKEFIELD,1,2901 +YORKSHIRE,WAKEFIELD,2,10410 +YORKSHIRE,WAKEFIELD,3,7924 +YORKSHIRE,WAKEFIELD,4+,1738 +YORKSHIRE,YORK,1,4416 +YORKSHIRE,YORK,2,11288 +YORKSHIRE,YORK,3,7161 +YORKSHIRE,YORK,4+,4076 diff --git a/policyengine_uk_data/storage/lha_list_of_rents.csv.gz b/policyengine_uk_data/storage/lha_list_of_rents.csv.gz deleted file mode 100644 index af02bfda5c1ad0f6105008fad7a93b6a3c969a6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 853159 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 z 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�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

0}>ag5t`?;St`ScXGazkP31oY+GAyI3s0h+YBCo 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

t?OH7T{bt(Pn|K<4YPij8baRqh+p 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�KAQsa2Wpcepp7h$RZB2U^do@W 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

?n3xyz*gf}Xt<{e9%F$zc<#?VPicZ=Qb-61n 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 diff --git a/policyengine_uk_data/tests/test_brma_assignment.py b/policyengine_uk_data/tests/test_brma_assignment.py new file mode 100644 index 000000000..e6fa57aa1 --- /dev/null +++ b/policyengine_uk_data/tests/test_brma_assignment.py @@ -0,0 +1,170 @@ +"""BRMA assignment: census private-rented weights and the draw. + +Invariants of ``assign_brmas``, for any weights table and any benefit units +whose region × LHA category cell has a positive weight: + +1. Support: each benefit unit's BRMA has a positive weight in its cell. +2. Determinism: the same generator state gives the same BRMAs. +3. Fail closed: a benefit unit in a cell with no positive weight raises. +4. Proportionality: draws converge on the cell's weights. +""" + +import numpy as np +import pandas as pd +import pytest +from hypothesis import given, settings +from hypothesis import strategies as st +from policyengine_uk.variables.household.demographic.locations import BRMAName + +from policyengine_uk_data.datasets.brma import ( + BRMA_HOUSEHOLDS_PATH, + LHA_CATEGORY_BEDROOMS, + assign_brmas, + load_brma_weights, +) + +REGIONS = [ + "NORTH_EAST", + "NORTH_WEST", + "YORKSHIRE", + "EAST_MIDLANDS", + "WEST_MIDLANDS", + "EAST_OF_ENGLAND", + "LONDON", + "SOUTH_EAST", + "SOUTH_WEST", + "WALES", + "SCOTLAND", + "NORTHERN_IRELAND", +] +CATEGORIES = list(LHA_CATEGORY_BEDROOMS) + + +@pytest.fixture(scope="module") +def households(): + return pd.read_csv(BRMA_HOUSEHOLDS_PATH, dtype={"bedrooms": str}) + + +@pytest.fixture(scope="module") +def weights(): + return load_brma_weights() + + +def test_table_covers_every_region_band_and_brma(households): + assert list(households.columns) == ["region", "brma", "bedrooms", "households"] + assert (households.households > 0).all() + assert not households.duplicated(["region", "brma", "bedrooms"]).any() + assert set(households.region) == set(REGIONS) + assert set(households.brma) == set(BRMAName.__members__) + bands = households.groupby("region").bedrooms.agg(set) + # Northern Ireland's 2021 census has no bedrooms question. + assert bands.pop("NORTHERN_IRELAND") == {"all"} + assert all(b == {"1", "2", "3", "4+"} for b in bands) + + +# Published private-rented households (private landlord or letting agency plus +# other private rented): Census 2021 TS054 (England, Wales); Scotland's Census +# 2022 tenure by bedrooms, national cells; NISRA Census 2021 tenure, 7 categories. +CENSUS_PRIVATE_RENTED = { + "ENGLAND": 4_794_889, + "WALES": 228_642, + "SCOTLAND": 323_042, + "NORTHERN_IRELAND": 132_436, +} + + +def test_nations_reconcile_to_published_census_totals(households): + nation = households.region.where( + households.region.isin(["WALES", "SCOTLAND", "NORTHERN_IRELAND"]), "ENGLAND" + ) + totals = households.groupby(nation).households.sum() + for name, published in CENSUS_PRIVATE_RENTED.items(): + # Small-area cells are perturbed for disclosure control, so sums + # differ slightly from national tables. + assert abs(totals[name] / published - 1) < 0.001, name + + +def test_edinburgh_and_glasgow_hold_the_most_scottish_private_renters(households): + # Census 2022: Lothian 19.3%, Greater Glasgow 15.9%. The 2019-20 list of + # rents gave Greater Glasgow the fewest entries of any Scottish BRMA. + scotland = ( + households[households.region == "SCOTLAND"].groupby("brma").households.sum() + ) + assert set(scotland.nlargest(2).index) == {"LOTHIAN", "GREATER_GLASGOW"} + + +def test_every_region_category_cell_has_weights(weights): + cells = weights.groupby(["region", "lha_category"]).weight.sum() + assert len(cells) == len(REGIONS) * len(CATEGORIES) + assert (cells > 0).all() + + +def test_shared_and_one_bedroom_categories_use_the_same_weights(weights): + a = weights[weights.lha_category == "A"].drop(columns="lha_category") + b = weights[weights.lha_category == "B"].drop(columns="lha_category") + pd.testing.assert_frame_equal(a.reset_index(drop=True), b.reset_index(drop=True)) + + +def test_large_draw_matches_scottish_two_bedroom_weights(weights): + cell = weights[(weights.region == "SCOTLAND") & (weights.lha_category == "C")] + n = 400_000 + drawn = assign_brmas( + np.full(n, "SCOTLAND"), np.full(n, "C"), np.random.default_rng(1), weights + ) + observed = pd.Series(drawn).value_counts(normalize=True) + expected = cell.set_index("brma").weight / cell.weight.sum() + assert observed.index.isin(expected.index).all() + assert ( + observed.reindex(expected.index, fill_value=0) - expected + ).abs().max() < 0.004 + + +@st.composite +def weights_and_units(draw): + regions = draw( + st.lists(st.sampled_from(REGIONS), min_size=1, max_size=3, unique=True) + ) + brmas = [f"B{i}" for i in range(draw(st.integers(1, 5)))] + rows = [ + (region, category, brma, draw(st.sampled_from([0, 0.5, 1, 7, 1000]))) + for region in regions + for category in CATEGORIES + for brma in brmas + ] + table = pd.DataFrame(rows, columns=["region", "lha_category", "brma", "weight"]) + table = table[table.weight > 0] + cells = sorted(set(zip(table.region, table.lha_category))) + units = draw(st.lists(st.sampled_from(cells), max_size=40)) if cells else [] + region = np.array([u[0] for u in units], dtype=str) + category = np.array([u[1] for u in units], dtype=str) + return table, region, category, draw(st.integers(0, 2**32 - 1)) + + +@settings(max_examples=200, deadline=None, derandomize=True) +@given(weights_and_units()) +def test_draws_stay_on_positive_weights_and_are_deterministic(case): + table, region, category, seed = case + first = assign_brmas(region, category, np.random.default_rng(seed), table) + second = assign_brmas(region, category, np.random.default_rng(seed), table) + assert list(first) == list(second) + positive = set(zip(table.region, table.lha_category, table.brma)) + assert all((r, c, b) in positive for r, c, b in zip(region, category, first)) + + +@settings(max_examples=100, deadline=None, derandomize=True) +@given(weights_and_units(), st.sampled_from(REGIONS), st.sampled_from(CATEGORIES)) +def test_cells_without_positive_weight_fail_closed(case, region, category): + table, *_ = case + if ((table.region == region) & (table.lha_category == category)).any(): + return + with pytest.raises(ValueError, match="No BRMA weights"): + assign_brmas( + np.array([region]), np.array([category]), np.random.default_rng(0), table + ) + + +def test_built_dataset_brmas_lie_in_their_regions_weights(enhanced_frs, weights): + household = enhanced_frs.household + supported = set(zip(weights.region, weights.brma)) + pairs = zip(household.region.astype(str), household.brma.astype(str)) + assert all(pair in supported for pair in pairs) diff --git a/pyproject.toml b/pyproject.toml index beff7f1a4..7973343cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,8 +45,9 @@ dev = [ "yaml-changelog>=0.1.7", "itables", "quantile-forest", - "build", "towncrier>=24.8.0", - + "build", + "towncrier>=24.8.0", + "hypothesis>=6.168.3", ] [tool.setuptools] diff --git a/uv.lock b/uv.lock index a3e9f44d9..672737ea1 100644 --- a/uv.lock +++ b/uv.lock @@ -577,6 +577,75 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/f4/124858007ddf3c61e9b144107304c9152fa80b5b6c168da07d86fe583cc1/huggingface_hub-1.1.5-py3-none-any.whl", hash = "sha256:e88ecc129011f37b868586bbcfae6c56868cae80cd56a79d61575426a3aa0d7d", size = 516000, upload-time = "2025-11-20T15:49:30.926Z" }, ] +[[package]] +name = "hypothesis" +version = "6.168.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/b7/13118bbc45d6d8b9d04e2de779e2a4ff23145ea39efa692b994fb874ca72/hypothesis-6.168.3.tar.gz", hash = "sha256:a43388f9067678fef6e13bdff325b6cfa6961a590498bb37f7ff31589c83bc75", size = 511022, upload-time = "2026-09-28T05:20:58.499Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/cd/746a2fc1e5e5ba34f07ea6ee1ad07525a3dde5ff4836db3a7980af49a891/hypothesis-6.168.3-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d20972ca134e652e9928ecd200966a8a2857adc2812c1d74b12a872e5cd503eb", size = 791536, upload-time = "2026-09-28T05:18:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0f/7a158e377b69556c8e12c25c8fd811d0103e54c24a12dab1f3b9819f202e/hypothesis-6.168.3-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:eafbec09d3e87d13d8242411d1f5868b5e879f1bd6d95e233e9ff80c527bea1c", size = 787313, upload-time = "2026-09-28T05:20:18.122Z" }, + { url = "https://files.pythonhosted.org/packages/45/c6/7df9104ee359e8fcd77791781c47e70794964ca69673665e0de2a6590f4c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c5627497968cc62d140e9fde1ea21e12cac7b64dc419fea8286cd34ff1ad4e", size = 1124036, upload-time = "2026-09-28T05:20:04.372Z" }, + { url = "https://files.pythonhosted.org/packages/92/0f/8a61715404a73b9a82cb1f976803428d603cdea976a9c30266c72ad6a7ce/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dc56e6dc6eeb0aeb08ac463f847279bde2336c4786faf7ee0af4b93cd031a7", size = 1147875, upload-time = "2026-09-28T05:19:15.495Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3f/2b16e95cc3b9a069afa23830a012aefe377ce4a457a227e5a5026eb827ff/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:753bb501f8560d2e321ed3b62596b4496c56f15668b0a0669231ccc3e6c4e80d", size = 1149489, upload-time = "2026-09-28T05:19:18.886Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e7/d7cf6dc068bb02732b2a6e38a35a0dcb7f2137608198fc79d740f69d197c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71ab606c472449cb872ef2a7acaec679ee4f651b7f0a477a04ebc85d8933ef8c", size = 1191992, upload-time = "2026-09-28T05:19:21.83Z" }, + { url = "https://files.pythonhosted.org/packages/5f/26/f1e5b25dec15998e8375d722825ec3dae1075cbe7cb1f74221b2312a2e33/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26928956c54748e4dfa587333741ab750246123b93484955646ff316cca27eef", size = 1169911, upload-time = "2026-09-28T05:19:27.996Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/901234a49147e6bf8a5b9e54b775706a223c2b52befea1106ea2aaf15d48/hypothesis-6.168.3-cp310-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:0bdfc53c041b61c854fa3761735736b991bc2bddafee45a361cfe4d43027c1ef", size = 1129406, upload-time = "2026-09-28T05:18:42.632Z" }, + { url = "https://files.pythonhosted.org/packages/55/c1/5fc9ff91ec9fba6bb527833386c66812524b5cc75fe7d4a4f9122ee1c420/hypothesis-6.168.3-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:650528e2b1e2a45e95c2df624d4b9364b8ac5a027ba84e1eea2bc5398dd01dcd", size = 1160399, upload-time = "2026-09-28T05:20:23.911Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d2/49ad1ef5c55547c8abfd0fc571b3493806dda530fd5cb3d8263dbad86a72/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:209dc54cdb1b4d6d7020ad8d09e44c49756361b7183adacea4d6f5705085b595", size = 1299906, upload-time = "2026-09-28T05:18:58.417Z" }, + { url = "https://files.pythonhosted.org/packages/0d/5f/f98a26094c4f462c4215807bed0f9a6b5508b27a3c329bcba1bc8adc7ac7/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:af8ca98cd11dc7f9427bb90483abcd9688d4df2e8e63893a30a2423b027ebb11", size = 1425538, upload-time = "2026-09-28T05:20:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b8/c5b4406e3a6591e51a42f85469351d1d824e0a54b84167aec9b2353759fe/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:f8122cfdd0bc0ba843063effa22ac310bdebdb3a1319bf1e63f14baa119c72ab", size = 1377084, upload-time = "2026-09-28T05:20:06.618Z" }, + { url = "https://files.pythonhosted.org/packages/e0/01/0d84a8ea469d024c15f602799c0b8410fbe03d99fdb0370449b33c3c916f/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4bedbb379eab34f792af7ee9a05aae04e9c08bbb52e0f90f5a2110d4fe4b2fbd", size = 1281162, upload-time = "2026-09-28T05:19:42.768Z" }, + { url = "https://files.pythonhosted.org/packages/22/b5/ea6435038de1a795f005cb603531e8ccc053febc50180f3ab55583c9c60e/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:5a953115b9f5c95133ab2d04efffeec96e5658c3207923dca7285f7db3e6bbef", size = 1300433, upload-time = "2026-09-28T05:18:55.634Z" }, + { url = "https://files.pythonhosted.org/packages/6c/78/fa6c77d9f64b6d592e69e582d83cbce7d7e56897faa4762885a2123b0166/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6173558e676ad25ed1e20507fa4024a0d816dd90f715f77006e5a28f19109026", size = 1336273, upload-time = "2026-09-28T05:19:08.273Z" }, + { url = "https://files.pythonhosted.org/packages/f1/56/4acd0d778bab818c9ea336fcba768bf43bc70db7f84cc373579298df4641/hypothesis-6.168.3-cp310-abi3-win32.whl", hash = "sha256:dc66390fb12d80585aa9222bf538ce8b7aa22cf5d118250647355a1c9e8f62f4", size = 678211, upload-time = "2026-09-28T05:19:23.355Z" }, + { url = "https://files.pythonhosted.org/packages/b0/db/0a02b146ad1c30f9716362f2e1a379dfd6b0f7be03ac1e22c9da24c9e2a9/hypothesis-6.168.3-cp310-abi3-win_amd64.whl", hash = "sha256:92325b276360fe86c5bf71a568c0d53a6d140b0de36dcf029f9164a17803bb24", size = 684906, upload-time = "2026-09-28T05:18:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c0/958deaf726848f96f52250740bf39f13f476b068e22f73e2b358eaa07532/hypothesis-6.168.3-cp310-abi3-win_arm64.whl", hash = "sha256:3cf6f1eeaf41cd8d60cf1f88fde905ca1dd77c906929a507d6ac7f66f2ccba2a", size = 683292, upload-time = "2026-09-28T05:19:57.404Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a2/6787da846d929e52fc3344d803299c45782dbeac287528af08380e984bf8/hypothesis-6.168.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1b230a850de63334c16654a34a2d547e0179d36b9071d4439b3e7237f6d077e7", size = 793254, upload-time = "2026-09-28T05:19:36.294Z" }, + { url = "https://files.pythonhosted.org/packages/89/ba/2893f5ca42501f4d562cba3229c8994c3a3e5fac66ef60c1e0e0b5220a5d/hypothesis-6.168.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d63b0226cd3e0d8bdd97c3384b22a21934ed4d53246c1c93575dada616672499", size = 784699, upload-time = "2026-09-28T05:18:54.194Z" }, + { url = "https://files.pythonhosted.org/packages/b7/aa/7d7349daf75b71f6f35876f8de115e974c5c04d600e86df1b2779b0883ab/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0369f5df055f96e117ab12e5f249668ff144731ab5280bc7a205fdf81f990b89", size = 1123016, upload-time = "2026-09-28T05:20:36.372Z" }, + { url = "https://files.pythonhosted.org/packages/00/f0/7774e1ea072708ea46cb25c4aeee5f9978b6c271764809069e8a6789858e/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f076bcd0f77fdcdb7797826c879099573d03a02e228ebe649ea917081b962ac0", size = 1168989, upload-time = "2026-09-28T05:20:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7d/113992abed9efbd7944e3a496a382da58152dce126fddf6419ff31a0a57d/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b823ba1fcec8da730f29316d010b06d3f7e0c3828dcf91020e24c55e7d24652a", size = 1298626, upload-time = "2026-09-28T05:19:40.986Z" }, + { url = "https://files.pythonhosted.org/packages/d5/65/3659fa5e733027e5b37a27486e57f4053535e40853d23501c422bb275043/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dd2849c269d674e4618590f3b48d443bd4c06b5aef3d8d869086c2e6d213d248", size = 1335184, upload-time = "2026-09-28T05:20:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/35aab2221b5ea65125340f236e1a765a9e9f3b28d89a389ea0033fed29f7/hypothesis-6.168.3-cp313-cp313-win_amd64.whl", hash = "sha256:3ef7d26f5789e691401d5f87eafed9bd2763f0dbe47af6d6b66012a509404766", size = 682173, upload-time = "2026-09-28T05:19:12.762Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/27b0cb56ff5d2bc92458bf6fcebdb1f0dc01f57f043a178e9f9d74498169/hypothesis-6.168.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e2d4c68729a13df9af4998d2652cfb5d541c5609b88c306880a5dfb284938ec2", size = 793287, upload-time = "2026-09-28T05:20:38.522Z" }, + { url = "https://files.pythonhosted.org/packages/e8/bd/5342f95c3bc36586777ef8cb8eba87ac7acf0184210327fb0e6d8654e295/hypothesis-6.168.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b345f818083ec99966a43ca4f7b38feb62c6920ce28572bc2bde4948a8b7eaba", size = 784857, upload-time = "2026-09-28T05:20:42.609Z" }, + { url = "https://files.pythonhosted.org/packages/4a/5f/fc774241518a0588d362680a3084275058aab86d6bc02a2c61e1073142d0/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0608c610fc002978fc5de0f471770d8817e9455cb8649a47983c9f8bccfc1897", size = 1123330, upload-time = "2026-09-28T05:19:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/131f16775a3dca5f4fe27f0d6ad9a9851600098a54a872d163f6ebf0b664/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dcf6448b1ecc37f2b23f2d1b3ddfc9ff6b6910614c15a642dc82f419b96037b", size = 1169178, upload-time = "2026-09-28T05:19:53.436Z" }, + { url = "https://files.pythonhosted.org/packages/06/61/c9f5bff8b73321c9fd12f2d69666c6e4861b97b60f5f24fdd6ac293007fd/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ae4f9f094041dcce5119ebd7bab71062743ab02b6e654d056b370beda78c19e2", size = 1299127, upload-time = "2026-09-28T05:20:14.486Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6d/d4618f8ab12dd76c4d58ea052252759aa2bf0c4e71f4b502ba5d577e0b9f/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d479985fe73af97badfb72dc6d20c6a353e486a36f6d065f600026e0cf954a86", size = 1335390, upload-time = "2026-09-28T05:20:10.326Z" }, + { url = "https://files.pythonhosted.org/packages/95/b6/727161e17cc297df1aeea945de05c532033b66751625bec192bc5b5ff707/hypothesis-6.168.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:785e2c45f8c08e274b4bf1ccae97f1a4e09407e9a68e80790cfab1d17a4a45fa", size = 624291, upload-time = "2026-09-28T05:18:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/77/23/2f9b506392a0b8712440bcb781abc5713be9ffac1303b6d10f3669050882/hypothesis-6.168.3-cp314-cp314-win_amd64.whl", hash = "sha256:320920b1e3dae8611eee8a03d063cf2187446f2a17c38cfb8a7fc1466f71eee2", size = 682064, upload-time = "2026-09-28T05:20:16.336Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/efabfd95eb2b69c0c9fa1e1c83c8290aa2715d46baeb5a7764faf09c133a/hypothesis-6.168.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:35380baa981108a7f60c4eab71e46acd8d8f58440520346a1a6aba06dca7e074", size = 791875, upload-time = "2026-09-28T05:19:37.789Z" }, + { url = "https://files.pythonhosted.org/packages/1b/fc/2a0ada1623a9a33048bbf9f00a7c92513398c6b8865cba5efb854262ce30/hypothesis-6.168.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f0aaaed00438fa6673d856aaee12a4a8afbde82a9f3c5ff487cacfb064239afe", size = 783412, upload-time = "2026-09-28T05:18:48.266Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/73c615d37eeb12da0209555612c32ced628d860267c23cfd2691c6207aea/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27e6df1576bf838e7f484d4ae5cba92114497ca30afb917056bf1ea33e95675", size = 1121662, upload-time = "2026-09-28T05:19:26.225Z" }, + { url = "https://files.pythonhosted.org/packages/92/54/1893344a3b8bbf83fa7c9bb7e96f6836580213854f46671cb749f7b4706c/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bc85014577982ec6d2e266edc5cd6e7a7d3674c648791ca983c67a52f89a0c4", size = 1167761, upload-time = "2026-09-28T05:18:49.85Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/a61d82968febd25a0f08ffbbfabfaeead66f68fc5fa73f3c9ece1c36fc8f/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ccfc29505aa1cdcc254cb9cd701fd0811fef5480addd97d4127a00df023410f7", size = 1297309, upload-time = "2026-09-28T05:19:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/01/fe8e4cf6d39d02f4efadaa351427fa13722086cfc54a2da3579741c5177a/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32d0699566aaa93f9e97a44705d7164386f1e91de78d277f53bada35e78bcc96", size = 1334260, upload-time = "2026-09-28T05:19:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/39/6a/09177ebc62f4778f94379ecade6a51299d3d8c4f4b75ba636bf3a0202364/hypothesis-6.168.3-cp314-cp314t-win_amd64.whl", hash = "sha256:28d88fa174ecbd4ecbd7bb290f06d0db084a3971c3f511ae2830b65b5e25500f", size = 681992, upload-time = "2026-09-28T05:19:48.043Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f6/890bf33d608cd63348d3146a3ca83362fbf09e589c5e5230a00c403070f4/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:61f5782d807b1e6aa5c9beef1054cb2037e7d1add48a64972cd6ee447778781f", size = 791231, upload-time = "2026-09-28T05:18:43.998Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/fc36b204f8aa7437c676576d9437f0422de46aa8a729e6cd5bbb0224e759/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:7aacf3cf40c7ce8f9e4924d5b57bc0b068beafdfed2347bcf160a28b4cfbba7b", size = 783171, upload-time = "2026-09-28T05:19:20.353Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d2/3cd087d577db67c404991d7723e64d7cd75570cdc82a0f7329aed6f2086c/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01768a03a30dc54df7fe457c0b34016c84d598fa00d5965ededab93ba4eb3408", size = 1121152, upload-time = "2026-09-28T05:18:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/42/6f/a05a68cc66e7a22701c50bf94fb9ddeb36f4f5d0de3cc130066709eda621/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1a8a4ffc6c6e6e577f2bfbcfebf7cffbb310283ba2532c729570a0a752cebaaa", size = 1144069, upload-time = "2026-09-28T05:20:44.705Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f4/fdd7a093fb2fb3a0ce24256c92ad5bf67936f4669bd06d5ceae4298150ec/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b987d73eba95183a7e59cca6d1925c588aa4307922d9852cc2b4d282a2ae4128", size = 1146692, upload-time = "2026-09-28T05:20:25.83Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/6dbd4377e935505ae4fc8ee4c7b18c69994c4bbaca015447c470218bdbee/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4569c39bd97d9573e946429ed676f3b55a7c8ed80920addd67d384a47d59b38", size = 1189480, upload-time = "2026-09-28T05:20:46.734Z" }, + { url = "https://files.pythonhosted.org/packages/ba/bf/ff288b496b690000d2686dcfa7f67855e4c5a6dddb464ed8e4880be83bb2/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6042b8707a4b25bbbfe20b110258fb7549a68951e5525608a8ce06091039e9fc", size = 1167109, upload-time = "2026-09-28T05:19:24.758Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d1/3fee2bc29fc747fabbb27e174515592e390809ca465d3bbbabbcfa3235a8/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:f413629de94d38a7a2ad259697a6752526143cb49c2e2d7bdba19381c80693f6", size = 1126823, upload-time = "2026-09-28T05:18:52.636Z" }, + { url = "https://files.pythonhosted.org/packages/58/6a/585294392fa6a6d9719446a042a777ba98ecca265d9e48cbedc10c88df0f/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f071737e4e775bebba07e319eb645a880d1e0186b4d24bad23255e849d86d483", size = 1155773, upload-time = "2026-09-28T05:20:51.268Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4d/fa283ff79996debf1ff08593e01f8b773eb8211b19b3d6d5d491317a65bf/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:f59a3912858d0609c26054aa1c474847c797937f5e0e1c77f0d3f08032e50f09", size = 1296671, upload-time = "2026-09-28T05:18:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/42/05/98f9c2f628da5afabb6c3e8df5d2d299d2d50bf306b14a6e26d3954c4951/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:f09c05a23a8025dd5cad07c2ed299a46778e72d49ff0dd5bf353bcc0f7dc1580", size = 1422001, upload-time = "2026-09-28T05:19:04.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c9/f2109ade29a7ec284d55bca328d784743e8b13e321576fd34ee7e65f99af/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:44ace770bda3a0301739fc5a413c764de790c739df1f1a7218dd049f8594d9f5", size = 1374182, upload-time = "2026-09-28T05:20:27.764Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/e05d5f72441564a3bebc71fa155deafd0fd3b015d6014ec8a00edf6e42bb/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:03b131043608f94a2578a2a896a1a72092acb7079815eef5b8513b08447e0e62", size = 1278402, upload-time = "2026-09-28T05:20:56.332Z" }, + { url = "https://files.pythonhosted.org/packages/96/d7/6988a7f1f69c5c530687dce03a32c157e2d878e3a2e32af9269ce016b78a/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:e9784aca26eddfe99b03a0292320db742cc8a74200ef864fdce949f526f973cd", size = 1297770, upload-time = "2026-09-28T05:19:11.387Z" }, + { url = "https://files.pythonhosted.org/packages/a2/28/5bb82b60b836bd2329e1fe01ad94efc2b14dfa806f8e50ed14b795d78770/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:2b52ac363096232bebc2add117e9178d91f4248f4cdb919fd1026b5f86a4bb16", size = 1333977, upload-time = "2026-09-28T05:20:02.483Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7d/d419841b8f65481ea1a50c4ba36f2670d48b8c7a51e4e8586089564cf7f6/hypothesis-6.168.3-cp315-abi3.abi3t-win32.whl", hash = "sha256:d28e3a6b511a74ce37df5274b51f36c2b274fea7365e00b16f0c81e22acd5957", size = 675394, upload-time = "2026-09-28T05:19:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d2/1de6a2ad100e44817f2e9a8e8ba3eeaf4769621f4f87f2d4966c4971fcc4/hypothesis-6.168.3-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:7b9638789548361a57d984f56619ac694a914c328181d911271618409261ff4a", size = 681699, upload-time = "2026-09-28T05:19:09.957Z" }, + { url = "https://files.pythonhosted.org/packages/c0/79/be3370fd02734d6b1d950183ae9224580d19fa8d356b95348d60f1e3eeb7/hypothesis-6.168.3-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:65d78e4357ec48ed2c67825f06740ee3599be4cfe770a6092bed07108d679ac5", size = 679849, upload-time = "2026-09-28T05:19:06.884Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1364,7 +1433,7 @@ wheels = [ [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1392,6 +1461,7 @@ dependencies = [ dev = [ { name = "build" }, { name = "furo" }, + { name = "hypothesis" }, { name = "itables" }, { name = "l0-python" }, { name = "pytest" }, @@ -1410,6 +1480,7 @@ requires-dist = [ { name = "google-auth" }, { name = "google-cloud-storage" }, { name = "huggingface-hub" }, + { name = "hypothesis", marker = "extra == 'dev'", specifier = ">=6.168.3" }, { name = "itables", marker = "extra == 'dev'" }, { name = "l0-python", marker = "extra == 'dev'", specifier = ">=0.4.0" }, { name = "microcalibrate", specifier = ">=0.18.0" }, From eb14fd07907cbf19dbc4cb968d0248a0e35cfde6 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 04:13:03 -0400 Subject: [PATCH 11/70] Restore donor status benefits on SPI rows, keep the donor's Child Benefit flag Review of 96672af (subfleet 20261002-011737-spi-514-review): - IIDB, AFCS and bereavement support follow an injury, service or a death, not income, and the QRF drew them at 6.2, 2.4 and 4.6 times the FRS rate by weight. SPI rows now take the donor's own values. - The Child Benefit take-up flag keeps the donor's value: the award does not depend on the replaced incomes and the claim is for the same children. Only the UC and Pension Credit flags are redrawn. - The comment no longer says the model's means test replaces the zeroed income-related reports: in policyengine-uk 2.93.0 housing benefit, CTR, IS, tax credits and income-related ESA and JSA need a report, so SPI rows no longer get them. Evidence is now cited by weight, and Child Benefit counts 16-19 qualifying young people. - One assign_reported_takeup helper serves create_frs and the SPI rows, so the rate and the anchoring rule have one source. The SPI draws no longer depend on which columns are present. - Tests pin the three rule sets, use shuffled, gapped ids and check the rebuilt flags against reports that are not zeroed. Co-Authored-By: Claude Opus 5.5 --- .../spi-synthetic-reported-benefits.fixed.md | 2 +- policyengine_uk_data/datasets/frs.py | 51 +++--- .../datasets/imputations/frs_only.py | 156 +++++++++------- .../tests/test_spi_donor_benefit_rules.py | 172 +++++++++++++----- 4 files changed, 246 insertions(+), 135 deletions(-) diff --git a/changelog.d/spi-synthetic-reported-benefits.fixed.md b/changelog.d/spi-synthetic-reported-benefits.fixed.md index f315e0118..1310079b8 100644 --- a/changelog.d/spi-synthetic-reported-benefits.fixed.md +++ b/changelog.d/spi-synthetic-reported-benefits.fixed.md @@ -1 +1 @@ -SPI-synthetic rows no longer report income-related, out-of-work or Child Benefit receipt, and their take-up flags and `receives_benefits_in_own_right` come from their own reports instead of the FRS donor's. +SPI-synthetic rows no longer report income-related, out-of-work or Child Benefit receipt, take their industrial injuries, armed forces compensation and bereavement support from the FRS donor, and get UC, Pension Credit and `receives_benefits_in_own_right` flags from their own reports instead of the donor's. diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index 82f31fe55..1e2e9b8bf 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -33,6 +33,7 @@ STORAGE_FOLDER, ) from policyengine_uk_data.parameters import load_take_up_rate, load_parameter +from policyengine_uk_data.utils.takeup import assign_takeup_with_reported_anchors from policyengine_uk_data.datasets.childcare.assumptions import ( EXTENDED_HOURS_MEAN, EXTENDED_HOURS_SD, @@ -229,6 +230,24 @@ def reported_benunit_mask( return benunit["benunit_id"].isin(reporter_benunits).values +def assign_reported_takeup( + person: pd.DataFrame, + benunit: pd.DataFrame, + flag: str, + year: int, + draws: np.ndarray, +) -> np.ndarray: + """Take-up for one ``REPORTED_TAKEUP_ANCHORS`` flag: benefit units + reporting receipt claim, and the rest are filled at random so the share + claiming matches the take-up rate (see ``utils/takeup.py``).""" + rate_name, report_column = REPORTED_TAKEUP_ANCHORS[flag] + return assign_takeup_with_reported_anchors( + draws, + load_take_up_rate(rate_name, year), + reported_mask=reported_benunit_mask(person, benunit, report_column), + ) + + def derive_receives_benefits_in_own_right(pe_person: pd.DataFrame) -> pd.Series: """Identify people reporting adult benefits that end QYP status.""" @@ -1505,9 +1524,6 @@ def determine_education_level(fted_val, typeed2_val, age_val): generator = np.random.default_rng(seed=100) # Load take-up rates from parameter files - child_benefit_rate = load_take_up_rate("child_benefit", year) - pension_credit_rate = load_take_up_rate("pension_credit", year) - universal_credit_rate = load_take_up_rate("universal_credit", year) marriage_allowance_rate = load_take_up_rate("marriage_allowance", year) child_benefit_opts_out_rate = load_take_up_rate("child_benefit_opts_out_rate", year) tfc_rate = load_take_up_rate("tax_free_childcare", year) @@ -1525,19 +1541,6 @@ def determine_education_level(fted_val, typeed2_val, age_val): # who report positive receipt of a benefit are assigned takeup=True with # certainty; the remaining non-reporters are filled probabilistically to # hit the aggregate target rate. See policyengine_uk_data/utils/takeup.py. - from policyengine_uk_data.utils.takeup import ( - assign_takeup_with_reported_anchors, - ) - - def _anchored_takeup(flag: str, rate: float) -> np.ndarray: - return assign_takeup_with_reported_anchors( - generator.random(len(pe_benunit)), - rate, - reported_mask=reported_benunit_mask( - pe_person, pe_benunit, REPORTED_TAKEUP_ANCHORS[flag][1] - ), - ) - # Person-level pe_person["would_claim_marriage_allowance"] = ( generator.random(len(pe_person)) < marriage_allowance_rate @@ -1545,17 +1548,21 @@ def _anchored_takeup(flag: str, rate: float) -> np.ndarray: # Benefit unit-level — anchor on any adult in the benefit unit having # reported positive receipt in the FRS benefits table. - pe_benunit["would_claim_child_benefit"] = _anchored_takeup( - "would_claim_child_benefit", child_benefit_rate + pe_benunit["would_claim_child_benefit"] = assign_reported_takeup( + pe_person, + pe_benunit, + "would_claim_child_benefit", + year, + generator.random(len(pe_benunit)), ) pe_benunit["child_benefit_opts_out"] = ( generator.random(len(pe_benunit)) < child_benefit_opts_out_rate ) - pe_benunit["would_claim_pc"] = _anchored_takeup( - "would_claim_pc", pension_credit_rate + pe_benunit["would_claim_pc"] = assign_reported_takeup( + pe_person, pe_benunit, "would_claim_pc", year, generator.random(len(pe_benunit)) ) - pe_benunit["would_claim_uc"] = _anchored_takeup( - "would_claim_uc", universal_credit_rate + pe_benunit["would_claim_uc"] = assign_reported_takeup( + pe_person, pe_benunit, "would_claim_uc", year, generator.random(len(pe_benunit)) ) pe_benunit["would_claim_tfc"] = generator.random(len(pe_benunit)) < tfc_rate diff --git a/policyengine_uk_data/datasets/imputations/frs_only.py b/policyengine_uk_data/datasets/imputations/frs_only.py index 036215650..26a39532f 100644 --- a/policyengine_uk_data/datasets/imputations/frs_only.py +++ b/policyengine_uk_data/datasets/imputations/frs_only.py @@ -43,10 +43,9 @@ from policyengine_uk_data.datasets.frs import ( BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS, REPORTED_TAKEUP_ANCHORS, - reported_benunit_mask, + assign_reported_takeup, + derive_receives_benefits_in_own_right, ) -from policyengine_uk_data.parameters import load_take_up_rate -from policyengine_uk_data.utils.takeup import assign_takeup_with_reported_anchors logger = logging.getLogger(__name__) @@ -109,33 +108,39 @@ "esa_income_reported", ] -# Benefit reports set to zero on SPI-donor rows once the QRF has drawn them. -# The QRF draws each person's reports from their age, gender, region and -# incomes; it sees nothing of their benefit unit (partner, children, rent, -# capital) or of their health. A report says the person is an existing -# claimant, and policyengine-uk acts on that, so these are zeroed: +# The QRF draws each person's benefit reports from their age, gender, region +# and incomes. It sees nothing of their benefit unit (partner, children, +# rent, capital), their health or their history, and policyengine-uk reads a +# positive report as an existing claim. On SPI-donor rows, after the draw: # -# - Income-related awards. Entitlement turns on the benefit unit's joint -# means and make-up, which on these rows come from the imputed incomes, so -# the model's own means test is the only coherent source. A report would -# instead be a continuing-award gate (housing benefit, income support, tax -# credits, income-related ESA and JSA), the paid amount (income-related -# ESA and JSA; council tax reduction where the model has no scheme) or a -# certain-claim anchor (UC, Pension Credit). Sure Start Maternity Grant -# needs one of these awards and is copied from the donor, not drawn. -# - Benefits paid only to people out of work or incapable of it: ESA and -# JSA (contributory), incapacity benefit and severe disablement allowance. -# On the 2024-25 build, 76% of SPI-row ESA (contributory) reporters earned -# more than ESA's permitted-work limit, against 2% of FRS reporters. -# - Child Benefit, whose only use is the take-up anchor. The draw ignores -# the children: on the 2024-25 build, 44% of SPI-row reports were in -# benefit units without a child under 16 (FRS rows: 8%). +# Zeroed (SPI_DONOR_ZEROED_PERSON_VARIABLES): +# - Income-related awards. Entitlement turns on the unit's joint means and +# make-up, which here come from the imputed incomes. UC and Pension Credit +# keep a route: their take-up flags are redrawn below. In +# policyengine-uk 2.93.0 the others (housing benefit, council tax +# reduction, income support, tax credits, income-related ESA and JSA) can +# only be claimed with a report, so these rows no longer receive them. +# Sure Start Maternity Grant needs one of these awards. +# - Benefits paid only to people out of work or incapable of it: ESA and JSA +# (contributory), incapacity benefit and severe disablement allowance. On +# the 2024-25 build, 41% of SPI-row ESA (contributory) reporters by weight +# earned more than ESA's permitted-work limit, against 0.4% on FRS rows. +# - Child Benefit, which the model reads only through the take-up flag. The +# draw ignores the children: 34% of SPI-row reports by weight were in +# benefit units with no child or qualifying young person (FRS rows: 0%). # -# State pension (driven by age), winter fuel payment (not read by the -# model), the disability benefits, carer's allowance (the draws respect its -# earnings limit) and IIDB, AFCS and bereavement support (payable at any -# income) keep their drawn values. The zeroed columns stay in the QRF chain -# above so that the values kept do not change. +# Restored to the donor's own value (SPI_DONOR_RESTORED_PERSON_VARIABLES): +# industrial injuries, armed forces compensation and bereavement support. +# These follow from an injury, service or a death, not income, and the QRF +# drew them at 6.2, 2.4 and 4.6 times the FRS rate by weight. +# +# Kept as drawn: state pension (paid as reported once over pension age), +# winter fuel payment (not read by the model), the disability benefits and +# carer's allowance, whose drawn rates sit below the FRS rates as the income +# gradient implies. +# +# Every column stays in the QRF chain above, so the values kept do not +# change. They were drawn alongside the values later zeroed or restored. SPI_DONOR_ZEROED_PERSON_VARIABLES = [ "universal_credit_reported", "pension_credit_reported", @@ -153,45 +158,59 @@ "sda_reported", "child_benefit_reported", ] +SPI_DONOR_RESTORED_PERSON_VARIABLES = [ + "iidb_reported", + "afcs_reported", + "bsp_reported", +] -# Seed for the take-up draws on SPI-donor rows; create_frs uses 100. +# Take-up flags redrawn on SPI-donor rows. Whether a synthetic family claims +# a means-tested benefit at its imputed income is unobserved, so these units +# draw at the take-up rate. The Child Benefit flag keeps the donor's value: +# the award doesn't depend on the replaced incomes, and the donor's claim is +# for the same children. +SPI_DONOR_REDRAWN_TAKEUP_FLAGS = ("would_claim_uc", "would_claim_pc") +# Seed for those draws; create_frs uses 100. SPI_DONOR_TAKEUP_SEED = 101 def apply_spi_donor_benefit_rules( dataset: UKSingleYearDataset, + donor_person: pd.DataFrame | None = None, ) -> UKSingleYearDataset: - """Zero SPI-donor benefit reports and re-derive the flags built from them. - - ``create_frs`` sets ``receives_benefits_in_own_right`` and the - report-anchored take-up flags from the donor's own reports, before the - SPI rows exist. Here they are rebuilt from the rows' own reports: a unit - reporting receipt claims, and the rest draw at the take-up rate. With the - anchoring reports zeroed, every SPI-donor unit draws at the rate, since - whether a synthetic family claims is unobserved. + """Apply the SPI-donor benefit rules above to ``dataset``. + + ``donor_person`` is the person table before the QRF draw, holding the + donor's own reports; without it the restored columns are left alone. + ``receives_benefits_in_own_right`` and the redrawn take-up flags, which + ``create_frs`` built from the donor's reports, are rebuilt from the rows' + own reports. """ dataset = dataset.copy() person, benunit = dataset.person, dataset.benunit for column in SPI_DONOR_ZEROED_PERSON_VARIABLES: if column in person.columns: person[column] = 0.0 + if donor_person is not None: + for column in SPI_DONOR_RESTORED_PERSON_VARIABLES: + if column in person.columns and column in donor_person.columns: + person[column] = donor_person[column].values - own_right = [c for c in BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS if c in person] if "receives_benefits_in_own_right" in person.columns: + own_right = person.reindex( + columns=list(BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS), fill_value=0.0 + ) person["receives_benefits_in_own_right"] = ( - person[own_right].fillna(0).sum(axis=1) > 0 + derive_receives_benefits_in_own_right(own_right).values ) year = int(str(dataset.time_period)[:4]) generator = np.random.default_rng(seed=SPI_DONOR_TAKEUP_SEED) - for flag, (rate_name, column) in REPORTED_TAKEUP_ANCHORS.items(): - if flag not in benunit.columns or column not in person.columns: - continue - benunit[flag] = assign_takeup_with_reported_anchors( - generator.random(len(benunit)), - load_take_up_rate(rate_name, year), - reported_mask=reported_benunit_mask(person, benunit, column), - ) + for flag in SPI_DONOR_REDRAWN_TAKEUP_FLAGS: + draws = generator.random(len(benunit)) + report_column = REPORTED_TAKEUP_ANCHORS[flag][1] + if flag in benunit.columns and report_column in person.columns: + benunit[flag] = assign_reported_takeup(person, benunit, flag, year, draws) return dataset @@ -270,13 +289,12 @@ def impute_frs_only_variables( replace the existing (donor-leaked) values in ``FRS_ONLY_PERSON_VARIABLES`` only. Variables absent from either frame are skipped silently. ``apply_spi_donor_benefit_rules`` then - zeroes ``SPI_DONOR_ZEROED_PERSON_VARIABLES`` and rebuilds the flags - derived from reports, before the disability categories and flags are - derived from the remaining reports. + zeroes or restores some reports and rebuilds the flags derived from + them, before the disability categories and flags are derived from the + final reports. """ - from policyengine_uk_data.utils.qrf import QRF - target_dataset = target_dataset.copy() + donor_person = target_dataset.person.copy() train_person = train_dataset.person target_person = target_dataset.person @@ -295,13 +313,32 @@ def impute_frs_only_variables( len(missing), sorted(missing), ) - if not outputs: + if outputs: + target_dataset = _impute_outputs(train_dataset, target_dataset, outputs) + else: logger.warning( "Stage-2 FRS-only imputation: no output variables available; " "applying only the SPI-donor benefit rules." ) - return apply_spi_donor_benefit_rules(target_dataset) + target_dataset = apply_spi_donor_benefit_rules(target_dataset, donor_person) + target_dataset.person = add_disability_benefit_categories_from_reported_amounts( + target_dataset.person, + int(str(target_dataset.time_period)[:4]), + ) + target_dataset.person = add_disability_benefit_flags_from_reported_amounts( + target_dataset.person, + int(str(target_dataset.time_period)[:4]), + ) + + return target_dataset + + +def _impute_outputs(train_dataset, target_dataset, outputs): + """Fit the stage-2 QRF and write its draws of ``outputs`` to the target.""" + from policyengine_uk_data.utils.qrf import QRF + + train_person = train_dataset.person train_inputs_raw = _build_predictor_frame(train_dataset) target_inputs_raw = _build_predictor_frame(target_dataset) @@ -335,15 +372,4 @@ def impute_frs_only_variables( # amounts or contributions and are non-negative by construction. values = np.maximum(predictions[column].values, 0.0) target_dataset.person[column] = values - - target_dataset = apply_spi_donor_benefit_rules(target_dataset) - target_dataset.person = add_disability_benefit_categories_from_reported_amounts( - target_dataset.person, - int(str(target_dataset.time_period)[:4]), - ) - target_dataset.person = add_disability_benefit_flags_from_reported_amounts( - target_dataset.person, - int(str(target_dataset.time_period)[:4]), - ) - return target_dataset diff --git a/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py b/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py index c221e54ed..36b87a7bc 100644 --- a/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py +++ b/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py @@ -2,13 +2,16 @@ Properties of ``apply_spi_donor_benefit_rules`` for any input: -1. Every column in ``SPI_DONOR_ZEROED_PERSON_VARIABLES`` is zero afterwards. +1. Every column in ``SPI_DONOR_ZEROED_PERSON_VARIABLES`` is zero afterwards, + and every column in ``SPI_DONOR_RESTORED_PERSON_VARIABLES`` equals the + donor's value. 2. Nothing else changes except ``receives_benefits_in_own_right`` and the - report-anchored take-up flags; the input is not mutated. -3. A benefit unit with a member reporting an anchoring benefit claims it. -4. ``receives_benefits_in_own_right`` is true exactly when the person - reports one of ``BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS``. -5. The rules are deterministic and idempotent. + redrawn take-up flags, and the input is not mutated. +3. A benefit unit with a member reporting UC or Pension Credit claims it. +4. ``receives_benefits_in_own_right`` holds exactly when the person reports + one of ``BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS``. +5. The rules are deterministic and idempotent, and no flag's draws depend on + which other columns are present. The fixtures are synthetic, not survey records. """ @@ -30,6 +33,8 @@ from policyengine_uk_data.datasets.imputations import frs_only from policyengine_uk_data.datasets.imputations.frs_only import ( FRS_ONLY_PERSON_VARIABLES, + SPI_DONOR_REDRAWN_TAKEUP_FLAGS, + SPI_DONOR_RESTORED_PERSON_VARIABLES, SPI_DONOR_ZEROED_PERSON_VARIABLES, apply_spi_donor_benefit_rules, ) @@ -39,15 +44,54 @@ REPORT_COLUMNS = sorted( set(FRS_ONLY_PERSON_VARIABLES) | set(SPI_DONOR_ZEROED_PERSON_VARIABLES) ) -DERIVED = {"receives_benefits_in_own_right", *REPORTED_TAKEUP_ANCHORS} +CHANGED = {"receives_benefits_in_own_right", *SPI_DONOR_REDRAWN_TAKEUP_FLAGS} +RULED = set(SPI_DONOR_ZEROED_PERSON_VARIABLES) | set( + SPI_DONOR_RESTORED_PERSON_VARIABLES +) +ANCHORING_REPORTS = { + REPORTED_TAKEUP_ANCHORS[flag][1] for flag in SPI_DONOR_REDRAWN_TAKEUP_FLAGS +} + + +def test_rule_sets_are_pinned(): + """Each column's treatment is a decision; changing one must be deliberate.""" + assert set(SPI_DONOR_ZEROED_PERSON_VARIABLES) == { + "universal_credit_reported", + "pension_credit_reported", + "housing_benefit_reported", + "council_tax_benefit_reported", + "income_support_reported", + "working_tax_credit_reported", + "child_tax_credit_reported", + "jsa_income_reported", + "esa_income_reported", + "ssmg_reported", + "jsa_contrib_reported", + "esa_contrib_reported", + "incapacity_benefit_reported", + "sda_reported", + "child_benefit_reported", + } + assert set(SPI_DONOR_RESTORED_PERSON_VARIABLES) == { + "iidb_reported", + "afcs_reported", + "bsp_reported", + } + assert set(SPI_DONOR_REDRAWN_TAKEUP_FLAGS) == {"would_claim_uc", "would_claim_pc"} + assert not set(SPI_DONOR_ZEROED_PERSON_VARIABLES) & set( + SPI_DONOR_RESTORED_PERSON_VARIABLES + ) -def _dataset(benunit_sizes, reports, flags) -> UKSingleYearDataset: +def _dataset(benunit_sizes, reports, flags, id_seed=0) -> UKSingleYearDataset: + """Benefit units of the given sizes, with shuffled, gapped ids.""" + rng = np.random.default_rng(id_seed) n_benunits, n_people = len(benunit_sizes), sum(benunit_sizes) - benunit_of_person = np.repeat(np.arange(n_benunits), benunit_sizes) + benunit_ids = rng.permutation(n_benunits) * 7 + 3 + benunit_of_person = np.repeat(benunit_ids, benunit_sizes) person = pd.DataFrame( { - "person_id": np.arange(n_people), + "person_id": rng.permutation(n_people) * 5 + 11, "person_benunit_id": benunit_of_person, "person_household_id": benunit_of_person, "age": np.full(n_people, 40), @@ -56,12 +100,11 @@ def _dataset(benunit_sizes, reports, flags) -> UKSingleYearDataset: ) for i, column in enumerate(REPORT_COLUMNS): person[column] = np.asarray(reports[i][:n_people], dtype=float) - benunit = pd.DataFrame({"benunit_id": np.arange(n_benunits)}) + person = person.sample(frac=1, random_state=id_seed).reset_index(drop=True) + benunit = pd.DataFrame({"benunit_id": benunit_ids}) for j, flag in enumerate(REPORTED_TAKEUP_ANCHORS): benunit[flag] = np.roll(np.asarray(flags[:n_benunits]), j) - household = pd.DataFrame( - {"household_id": np.arange(n_benunits), "household_weight": 0.0} - ) + household = pd.DataFrame({"household_id": benunit_ids, "household_weight": 0.0}) return UKSingleYearDataset( person=person, benunit=benunit, household=household, fiscal_year=YEAR ) @@ -74,7 +117,16 @@ def datasets(draw): amount = st.one_of(st.just(0.0), st.floats(0.01, 50_000)) reports = [draw(st.lists(amount, min_size=n, max_size=n)) for _ in REPORT_COLUMNS] flags = draw(st.lists(st.booleans(), min_size=n, max_size=n)) - return _dataset(sizes, reports, flags) + return _dataset(sizes, reports, flags, id_seed=draw(st.integers(0, 10**6))) + + +def _donor(dataset, seed=1): + """A donor person table: the same people with different report values.""" + donor = dataset.person.copy() + rng = np.random.default_rng(seed) + for column in SPI_DONOR_RESTORED_PERSON_VARIABLES: + donor[column] = np.where(rng.random(len(donor)) < 0.5, 0.0, 1_234.0) + return donor def _reporting_benunits(person, benunit, column): @@ -84,26 +136,30 @@ def _reporting_benunits(person, benunit, column): @settings(max_examples=60, deadline=None) @given(datasets()) -def test_rules_zero_listed_reports_and_touch_nothing_else(dataset): +def test_rules_zero_restore_and_touch_nothing_else(dataset): before = dataset.copy() - after = apply_spi_donor_benefit_rules(dataset) + donor = _donor(dataset) + after = apply_spi_donor_benefit_rules(dataset, donor) for column in SPI_DONOR_ZEROED_PERSON_VARIABLES: assert (after.person[column] == 0).all(), column - kept = [c for c in after.person.columns if c not in DERIVED] - unchanged = [c for c in kept if c not in SPI_DONOR_ZEROED_PERSON_VARIABLES] + for column in SPI_DONOR_RESTORED_PERSON_VARIABLES: + np.testing.assert_array_equal(after.person[column], donor[column]) + unchanged = [c for c in after.person.columns if c not in CHANGED | RULED] pd.testing.assert_frame_equal(after.person[unchanged], before.person[unchanged]) + kept_flags = [c for c in after.benunit.columns if c not in CHANGED] + pd.testing.assert_frame_equal(after.benunit[kept_flags], before.benunit[kept_flags]) pd.testing.assert_frame_equal(after.household, before.household) pd.testing.assert_frame_equal(dataset.person, before.person) pd.testing.assert_frame_equal(dataset.benunit, before.benunit) -@settings(max_examples=60, deadline=None) +@settings(max_examples=30, deadline=None) @given(datasets()) -def test_rules_rebuild_own_right_flag_from_own_reports(dataset): - after = apply_spi_donor_benefit_rules(dataset).person - own = after[list(BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS)].sum(axis=1) > 0 - assert (after.receives_benefits_in_own_right == own).all() +def test_restored_columns_untouched_without_donor(dataset): + after = apply_spi_donor_benefit_rules(dataset) + restored = list(SPI_DONOR_RESTORED_PERSON_VARIABLES) + pd.testing.assert_frame_equal(after.person[restored], dataset.person[restored]) @settings( @@ -112,17 +168,23 @@ def test_rules_rebuild_own_right_flag_from_own_reports(dataset): suppress_health_check=[HealthCheck.function_scoped_fixture], ) @given(dataset=datasets()) -def test_reporters_claim_whatever_is_zeroed(dataset, monkeypatch): - # With no anchoring report zeroed, reporters must still claim: the - # anchors are rebuilt from the rows' own reports, not left as copies. - anchoring = {column for _, column in REPORTED_TAKEUP_ANCHORS.values()} +def test_flags_follow_own_reports_whatever_is_zeroed(dataset, monkeypatch): + # With the own-right and anchoring reports left in place, the rebuilt + # flags must follow them, not the donor's flags. monkeypatch.setattr( frs_only, "SPI_DONOR_ZEROED_PERSON_VARIABLES", - [c for c in SPI_DONOR_ZEROED_PERSON_VARIABLES if c not in anchoring], + [ + c + for c in SPI_DONOR_ZEROED_PERSON_VARIABLES + if c not in ANCHORING_REPORTS | set(BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS) + ], ) after = apply_spi_donor_benefit_rules(dataset) - for flag, (_, column) in REPORTED_TAKEUP_ANCHORS.items(): + own = after.person[list(BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS)].sum(axis=1) > 0 + assert (after.person.receives_benefits_in_own_right == own).all() + for flag in SPI_DONOR_REDRAWN_TAKEUP_FLAGS: + column = REPORTED_TAKEUP_ANCHORS[flag][1] reports = _reporting_benunits(after.person, after.benunit, column) assert after.benunit[flag].values[reports].all(), flag @@ -130,54 +192,70 @@ def test_reporters_claim_whatever_is_zeroed(dataset, monkeypatch): @settings(max_examples=40, deadline=None) @given(datasets()) def test_rules_are_deterministic_and_idempotent(dataset): - once = apply_spi_donor_benefit_rules(dataset) - again = apply_spi_donor_benefit_rules(dataset) - twice = apply_spi_donor_benefit_rules(once) + donor = _donor(dataset) + once = apply_spi_donor_benefit_rules(dataset, donor) + again = apply_spi_donor_benefit_rules(dataset, donor) + twice = apply_spi_donor_benefit_rules(once, donor) for frame in ("person", "benunit", "household"): pd.testing.assert_frame_equal(getattr(once, frame), getattr(again, frame)) pd.testing.assert_frame_equal(getattr(once, frame), getattr(twice, frame)) +@settings(max_examples=30, deadline=None) +@given(datasets()) +def test_draws_do_not_depend_on_other_columns(dataset): + full = apply_spi_donor_benefit_rules(dataset) + dataset.benunit = dataset.benunit.drop(columns=["would_claim_uc"]) + partial = apply_spi_donor_benefit_rules(dataset) + pd.testing.assert_series_equal( + full.benunit.would_claim_pc, partial.benunit.would_claim_pc + ) + + def test_unreported_units_claim_at_the_take_up_rate(): n = 40_000 rng = np.random.default_rng(0) reports = [rng.gamma(2, 1_000, n) for _ in REPORT_COLUMNS] dataset = _dataset([1] * n, reports, np.ones(n, dtype=bool)) after = apply_spi_donor_benefit_rules(dataset).benunit - for flag, (rate_name, _) in REPORTED_TAKEUP_ANCHORS.items(): - rate = load_take_up_rate(rate_name, YEAR) + for flag in SPI_DONOR_REDRAWN_TAKEUP_FLAGS: + rate = load_take_up_rate(REPORTED_TAKEUP_ANCHORS[flag][0], YEAR) assert after[flag].mean() == pytest.approx(rate, abs=0.01), flag + assert after.would_claim_child_benefit.all() -def test_stage_two_keeps_drawn_values_of_kept_reports(monkeypatch): - """Zeroing does not change the QRF draws of the reports that are kept.""" +def test_stage_two_applies_the_rules_and_keeps_drawn_values(monkeypatch): + """Through ``impute_frs_only_variables``: zeroed, restored, kept and flags.""" from policyengine_uk_data.tests.test_frs_only_imputation import _fake_dataset train = _fake_dataset(person_rows=400, seed=0) - for column in ("esa_contrib_reported", "state_pension_reported", "ssmg_reported"): - train.person[column] = np.where( - np.random.default_rng(1).random(400) < 0.3, 5_000.0, 0.0 - ) + rng = np.random.default_rng(1) + for column in ("esa_contrib_reported", "state_pension_reported", "iidb_reported"): + train.person[column] = np.where(rng.random(400) < 0.3, 5_000.0, 0.0) target = _fake_dataset(person_rows=80, seed=1) target.person["ssmg_reported"] = 600.0 + target.person["iidb_reported"] = np.where(rng.random(80) < 0.5, 0.0, 777.0) target.person["receives_benefits_in_own_right"] = True target.benunit["would_claim_uc"] = True + target.benunit["would_claim_child_benefit"] = False ruled = frs_only.impute_frs_only_variables(train, target) monkeypatch.setattr(frs_only, "SPI_DONOR_ZEROED_PERSON_VARIABLES", []) + monkeypatch.setattr(frs_only, "SPI_DONOR_RESTORED_PERSON_VARIABLES", []) unruled = frs_only.impute_frs_only_variables(train, target) for column in SPI_DONOR_ZEROED_PERSON_VARIABLES: assert (ruled.person[column] == 0).all(), column - kept = [ - c - for c in FRS_ONLY_PERSON_VARIABLES - if c not in SPI_DONOR_ZEROED_PERSON_VARIABLES - ] + np.testing.assert_array_equal( + ruled.person.iidb_reported, target.person.iidb_reported + ) + assert not np.array_equal(unruled.person.iidb_reported, target.person.iidb_reported) + kept = [c for c in FRS_ONLY_PERSON_VARIABLES if c not in RULED] pd.testing.assert_frame_equal(ruled.person[kept], unruled.person[kept]) assert not ruled.person.receives_benefits_in_own_right.any() + assert not ruled.benunit.would_claim_child_benefit.any() - # Disability flags come from the zeroed reports: ESA (contributory) was + # Disability flags come from the final reports: ESA (contributory) was # drawn for some people but no longer marks them disabled. assert (unruled.person.esa_contrib_reported > 0).any() flags = ["is_disabled_for_benefits", "is_severely_disabled_for_benefits"] From 90377e06575cd8f057ac3d449a8df25c875957a9 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 05:14:11 -0400 Subject: [PATCH 12/70] Drop a small-cell comparator from the SPI rules comment; test the rate year and the UC redraw Round-2 review of eb14fd0 (subfleet 20261002-041419-spi-514-review-r2, APPROVE): the FRS comparison for ESA (contributory) rested on under 10 records; the take-up rates' year and the stage-two UC redraw had no direct test. Co-Authored-By: Claude Opus 5.5 --- .../datasets/imputations/frs_only.py | 2 +- .../tests/test_spi_donor_benefit_rules.py | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/policyengine_uk_data/datasets/imputations/frs_only.py b/policyengine_uk_data/datasets/imputations/frs_only.py index 26a39532f..06b9b78b0 100644 --- a/policyengine_uk_data/datasets/imputations/frs_only.py +++ b/policyengine_uk_data/datasets/imputations/frs_only.py @@ -124,7 +124,7 @@ # - Benefits paid only to people out of work or incapable of it: ESA and JSA # (contributory), incapacity benefit and severe disablement allowance. On # the 2024-25 build, 41% of SPI-row ESA (contributory) reporters by weight -# earned more than ESA's permitted-work limit, against 0.4% on FRS rows. +# earned more than ESA's permitted-work limit. # - Child Benefit, which the model reads only through the take-up flag. The # draw ignores the children: 34% of SPI-row reports by weight were in # benefit units with no child or qualifying young person (FRS rows: 0%). diff --git a/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py b/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py index 36b87a7bc..799439038 100644 --- a/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py +++ b/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py @@ -224,6 +224,25 @@ def test_unreported_units_claim_at_the_take_up_rate(): assert after.would_claim_child_benefit.all() +def test_take_up_rates_are_read_for_the_dataset_year(monkeypatch): + years = [] + + def rate(name, year): + years.append(year) + return 0.5 + + monkeypatch.setattr("policyengine_uk_data.datasets.frs.load_take_up_rate", rate) + dataset = _dataset([1, 2], [[1.0] * 3 for _ in REPORT_COLUMNS], [True] * 3) + dataset = UKSingleYearDataset( + person=dataset.person, + benunit=dataset.benunit, + household=dataset.household, + fiscal_year=2031, + ) + apply_spi_donor_benefit_rules(dataset) + assert years == [2031] * len(SPI_DONOR_REDRAWN_TAKEUP_FLAGS) + + def test_stage_two_applies_the_rules_and_keeps_drawn_values(monkeypatch): """Through ``impute_frs_only_variables``: zeroed, restored, kept and flags.""" from policyengine_uk_data.tests.test_frs_only_imputation import _fake_dataset @@ -254,6 +273,9 @@ def test_stage_two_applies_the_rules_and_keeps_drawn_values(monkeypatch): pd.testing.assert_frame_equal(ruled.person[kept], unruled.person[kept]) assert not ruled.person.receives_benefits_in_own_right.any() assert not ruled.benunit.would_claim_child_benefit.any() + # Every unit entered claiming UC as the donor; with the reports zeroed, + # the redraw at the 55% rate leaves some 80 units out. + assert not ruled.benunit.would_claim_uc.all() # Disability flags come from the final reports: ESA (contributory) was # drawn for some people but no longer marks them disabled. From 61f93ba3384be16587336cc290e1d58146dc1af3 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 07:50:06 -0400 Subject: [PATCH 13/70] Supply is_claimant_or_partner from FRS adult-table membership An FRS benefit unit is one adult or a couple plus dependent children. The adult table holds the head (UPERSON 1) and any partner (UPERSON 2); any other adult forms and heads their own benefit unit. So adult-table membership is policyengine-uk's is_claimant_or_partner (#1896), which the model otherwise infers from ages and cannot get right for unflagged large-age-gap households (policyengine-uk#2039). - frs.py derives it next to is_parent and rejects a benefit unit without one or two adult records (none in FRS 2020-21, 2022-23, 2023-24 or 2024-25). - SPI records are one-person benefit units, so each is its claimant. - The transfer builder marks the tax-unit head and a joint filer's spouse; the checked-in enhanced_cps_2025.h5 gains the builder's column in place (every other column unchanged). - stack_datasets refuses to stack a person table without the role onto one with it. Cloning, subsampling, uprating and the SPI and CGT donor copies carry whole person tables, so the column follows them. - Tests: examples, Hypothesis properties over generated FRS-shaped households, stacking, cloning, SPI, transfer builder vs checked-in H5, and built-dataset invariants. Co-Authored-By: Claude Opus 5.5 --- changelog.d/frs-claimant-or-partner.added.md | 1 + policyengine_uk_data/datasets/enhanced_cps.py | 10 + policyengine_uk_data/datasets/frs.py | 33 ++++ policyengine_uk_data/datasets/spi.py | 2 + .../storage/enhanced_cps_2025.h5 | Bin 23390386 -> 23164435 bytes .../tests/test_claimant_or_partner.py | 178 ++++++++++++++++++ .../tests/test_clone_and_assign.py | 14 ++ .../tests/test_policybench_transfer.py | 48 ++++- policyengine_uk_data/tests/test_spi_build.py | 12 ++ policyengine_uk_data/utils/stack.py | 7 + pyproject.toml | 5 +- uv.lock | 73 ++++++- 12 files changed, 376 insertions(+), 7 deletions(-) create mode 100644 changelog.d/frs-claimant-or-partner.added.md create mode 100644 policyengine_uk_data/tests/test_claimant_or_partner.py diff --git a/changelog.d/frs-claimant-or-partner.added.md b/changelog.d/frs-claimant-or-partner.added.md new file mode 100644 index 000000000..f98eb1dac --- /dev/null +++ b/changelog.d/frs-claimant-or-partner.added.md @@ -0,0 +1 @@ +Supply `is_claimant_or_partner`, each benefit unit's single adult or couple, from FRS adult-table membership, so policyengine-uk reads the survey's roles instead of inferring them from ages. SPI records and the public transfer dataset (`enhanced_cps_2025.h5`, column added in place) carry it too, and stacking refuses a person table without it. diff --git a/policyengine_uk_data/datasets/enhanced_cps.py b/policyengine_uk_data/datasets/enhanced_cps.py index 490f89cae..b4e038e3c 100644 --- a/policyengine_uk_data/datasets/enhanced_cps.py +++ b/policyengine_uk_data/datasets/enhanced_cps.py @@ -559,6 +559,15 @@ def _build_base_dataset( adults = scenario["adults"] children = scenario["children"] people = adults + children + # Each source household is one tax unit with its head listed first and, + # for joint filers, the spouse second: the benefit unit's claimant and + # partner. + claimants_or_partners = 2 if row["filing_status"] == "joint" else 1 + if len(adults) < claimants_or_partners: + raise ValueError( + f"Source household {source_household_id} files " + f"{row['filing_status']} but lists {len(adults)} adult(s)." + ) has_mortgage = any( "deductible_mortgage_interest" in person.get("inputs", {}) @@ -663,6 +672,7 @@ def _build_base_dataset( "person_id": person_id, "person_household_id": household_id, "person_benunit_id": benunit_id, + "is_claimant_or_partner": person_index <= claimants_or_partners, "age": int(person["age"]), "gender": "MALE" if (household_id + person_index) % 2 else "FEMALE", "employment_income_before_lsr": _gbp( diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index e440d4869..01f2435e3 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -392,6 +392,32 @@ def derive_is_parent_from_frs_microdata( return is_adult_record & has_dependent_children +def derive_is_claimant_or_partner_from_frs_microdata( + person_ids, + person_benunit_ids, + adult_person_ids, +) -> np.ndarray: + """Identify each FRS benefit unit's single adult or couple. + + An FRS benefit unit is one adult or a couple plus any dependent children. + The adult table holds the head (UPERSON 1) and any partner (UPERSON 2); + the child table holds the dependent children. Any other adult in the + household, such as a grown-up son or daughter, forms and heads their own + benefit unit. So adult-table membership is policyengine-uk's + `is_claimant_or_partner`, which the model otherwise infers from ages. + """ + + is_adult_record = np.isin(np.asarray(person_ids), np.asarray(adult_person_ids)) + per_benunit = pd.Series(is_adult_record).groupby(np.asarray(person_benunit_ids)) + counts = per_benunit.sum() + if not counts.between(1, 2).all(): + raise ValueError( + "Every FRS benefit unit needs one or two adult-table records; " + f"{int((~counts.between(1, 2)).sum())} benefit units do not." + ) + return is_adult_record + + def _as_non_negative_array(values) -> np.ndarray: values = np.asarray(values, dtype=float) return np.maximum(np.nan_to_num(values, nan=0.0), 0.0) @@ -728,6 +754,13 @@ def create_frs( benunit_ids=pe_benunit.benunit_id, dependent_children=dependent_children, ) + pe_person["is_claimant_or_partner"] = ( + derive_is_claimant_or_partner_from_frs_microdata( + person_ids=pe_person.person_id, + person_benunit_ids=pe_person.person_benunit_id, + adult_person_ids=frs["adult"].person_id, + ) + ) MARITAL = [ "MARRIED", "SINGLE", diff --git a/policyengine_uk_data/datasets/spi.py b/policyengine_uk_data/datasets/spi.py index e22be675c..41de96410 100644 --- a/policyengine_uk_data/datasets/spi.py +++ b/policyengine_uk_data/datasets/spi.py @@ -112,6 +112,8 @@ def create_spi( person["person_id"] = df.SREF person["person_household_id"] = df.SREF person["person_benunit_id"] = df.SREF + # Each SPI taxpayer is their own one-person benefit unit, so its claimant. + person["is_claimant_or_partner"] = np.ones(len(df), dtype=bool) benunit["benunit_id"] = df.SREF household["household_id"] = df.SREF diff --git a/policyengine_uk_data/storage/enhanced_cps_2025.h5 b/policyengine_uk_data/storage/enhanced_cps_2025.h5 index 77bf31c5606021562b61aff5b265f483bcfa83b3..633cff57f50f10e89c390bdc940a9d81d879f0fa 100644 GIT binary patch delta 1278481 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

$&78vwiC8KL>|3x0^}OW_vAK%Ye{ zj((X|EDGOXo?Rckj6~#)%zDN2E*si-|HGw;SZvy{SkJEdMq2mQDR}jn_;!n0@?=DE zMOi(zX;&#&f}*I7(s!wKlvP>AthQxbWyBffqj08AAWrP@d!QwfS=>ZsFV|*=L*)->5>4dU@G9sdglXl(wfxbN2upvHEqF!fSbq)bm zdbZqrJsfQJx{}l{5~%cgk8j$<6weNoL7Oq`e702E!cSh;hE|t$TX>0(kL(!+S0HPL z24u*bH}K9-h=b@inG{^7x-#`m?j<@U+x!*^<4rO6?XuadzSY!N(+8*Si-Q-)2}G!l z54i+KE)R8)D%&^-Mccynkxy`EJF~#L$XiO2A^M3w+=+Jmb!5v9ej+*;d`?#a6kY_p zjP2CgW(~zG?ZgGo7Mv{BYW&qY0glCX=@Rs_2!p9`D@_gWsNI+rK3Ph4TifD|cTm)^ zcXX!oE%)3W)@KYl)N*QXoxbpUUyslG<9m>uOzs7HwK5|AJX{;9tKdq?ZZ|NB9HtagYWi$+0@-tTB&CE0Hulqo46XjwJI?@^n4sdd;?{>lIv zMOKmpU~{I$|pKcK1S3$ za9?7kv^<8gNvHjR5DAT~pR)Db#02OW{uv_-^Yk+GK1Ju zwNJW_vY5Tzrx{C)t8S;ci=g_C6DiVQZwq;3{zB)~X4WzX${nSAw-f<0-#t zohK;c7zlM5#{*;g86BhmGf2?D$&`^_vL3)e{~wJhK27R=#jgO}G78LJn&0G!zVbD{ z(ZglJH>MOo8G=<0hoWElLaC$^4Bpa?#Wn$WB0twU%jv=~h=uV-9QbZm8X2MkO$Usz zwsrWoO0maFW*59<7JufjNy)e26LFo!eaFnaRf)?`>m11{6?GS+bW(rUr_OQz!`q&| zMBzM0Wasy+nHMam6IZ$Pd1MXWsGH)G{fQguA*G8g%-$?Ytp#NsQ=tDr>%S+9FT7wV5IY%##|(SJR3&aN1e z0K@GV@%@2m@8*E2^*r3dT?YT4%Ma)fiY&(4f(n-3BvN+un!U@Fv>vGgbqZB-A%9gE2zgwXxSUa~pGI zd9H#+&kmW;@d{s!OiG}$VxKLlHtZ9A+kE~TXbLdq{N&1) zIj$ge%T1GiZ)^LMQ~k~zgm~1CFJ*ziNwq}t0e2Yz5eHzT)tYj}?~JhAg&CDJr+ehq z@G1n1NGmv$xDaNZ4v+5Xu)<~34dy;0JRPeknMl6 z@w?LS1arL8AER|&S3(P!R~~?d$7cbDfPMrAKL}UN4@&U)FzWD^mJ)1yJ3wabE-h^% z;SC+px*62uV9(#^DW5iPv1cXFVY^`ZO^^6>g?=s?4OB3d4oa|Dtjxv#uKyTNB=+Gl`t{pmtJFsnP$kMJ*ODfq9zXhk z-jJo#^Ey=VOe~dYY2AONj^=~=p&D?D0ESj%sf+aTW~=vkvk6pMHqz(Zx@LLo@y90E z2{Vf}^>leyFj53sd{WOO0m7sKf!gK6*&zL^s?d{snZU`9g}-P1P^gfV+7rMywm4X2 zDyCi5ndqkC8o+Ml4udvuaYtOOpG_YGi2bME58=DHuBQhgL_#7o$blValgpFp2g;q| zfhcbo0DpG`IeM$w*5#l8sJR6@EU7|redHs{s6qqQ<&-`cC?Opm0RV7bbEnEO*Rz|Y zn)ZQ7pwC))MwZQJsM%KUYHJCx!Wyv{pupip^EG@L%xmOWh?(GOqWG{uV-7))lFTX7 z73jS&$0$9-47gX3$l*|y0#qcCj4+0E-|`7zv+;LCbZhAQ+gKJ&$GGGg+8uc11j&X2 zcpufBKQvQ%hBJAO8j`T#C8G%8_k8mivjbb8zP2p1gu)MRR zMLHBh&BqZ}x*`J3B2G0-m$l8g zcdp)U;Va)aX9@s{Ve$2YFZUHO4$D0I!xj$1&&-T9ZPhD%d#pnbRvgwKBlHTK9A_p% zIXNWl>$hYC6pp%Ey2D=a+#H-u^3#`eXzD2*lbcm9D9wxg&!ALpWjdyh`lMEzC8!od z+bn_Mh}n&T>^0;@;NuwQ4Y|F?Y17 zApP4qRFDJWVx;n%$0h0d^u1*q1#FPk-ce-K$qPF;j1Z|`N2VnM z$IS7?R5w}I$!2L#SM8+VvBX6_VbI)f6l--a9)N|=)GUM-I%`GU1RmABWnX6p6zDC4 zGSB@G5VTm(JVSoz!cLHyr&Xk_D+lCgSM5D-0x&4YTJrvyQl&drOm=3d$g%FGp`W%1 z6t^TUOqD5PSJ+^ZXf>i~vNj^zn5FKR3zmlGga$1Pr}rkl8NTCdJ+Ssww`o96mPto$ zDsdu=z{#Etm6U-WZh+Lg_u@LB;f0!DdG0&lT5!0t7tRx^qRj2hLZ}LHWhATy5B6pT zf-ia4;_w7hPq4T8lpQv&_ti%FDZ9wWd>hzLV}M7o4}{{1ro*9PyQ#@E@#^oeDuG;94VaQr;K_6MC-&!`b>8O4;xMsfGh%WlqS_WACT?l7W;C`}3RlVeac zFNpbL5u)Zp%s7Pj!Y@TgcM^;QBu8DqIYu}3lsCrfkVhFuqCbyk&nRE={QO&2d2ND2 z1yG3z-9$d0$ovqgs~k4fAjB=0#K`ns?L}HlHer|@(M0I3`Rz4@tp?br$gni6EzSTg zK+9@@)J$il0L3vXbL%uyPNriB$S7YpmEY-dQ2~khXo;O>YMR;RStjtz)v3;%Y215| zfI*jFI=f?d>d)rBf3uuZW@t;A7-f*cPTi`?(0{|?jPY!Z408x&JAoQkJ)6&4 z<1C(Ba1QtEkKcJ2@T1ciYy-()FmO|h<@$>=wOClH{n|25VxDI?>1!eaW$yFb%SJ;# zvXyH=;S0f_Vd676^U(a!75uP}Q!Ezre+4JREC8)*QVqTS(p4y8B4vTrEdE{=v2sa>rls85J=$0 z-2t})e-DY}s|Nx@_$#01a4ER`ZVM;aC4!Tpph+cJY$3BLWgPv)*8RMtV7X(1IUv4TVclMfb2Kf`d{in( zyHd}w@FsF9$6*;U{FTeBV89I+%Q$ZNyGvn>cxSnn4HT!*c^EJ1 zQ2MMwh%e=@HN=x~$!eCgbu||tji;b!s%I~s5sr!TT;*_uv1zg$`%RZ9WYh92cH|l} ztKT#SHR}wO;LU58SzllVmn-#Eu1{)>(4?~VT1Ei2AxOS3VbXfQwRe%1*6HF+5WoBW zuu?h|>nw5WxshOy#2uo@6*I6gpMy85Pc-`#n*zO>Lr#Af$pxyFKEKD)DW$68eZgOrDld5W`%-ifx zSyR0&?BG}C&ojH*fH#>JB4g~TW(H!X@>`_x$lm(!EnW9IH*{FH-uror8^&hk^gY3F|H58%OH%SFku9T-U7SRHmE`{}%qkXjN`mcVMY>ZJj0`MYrI@#+oQZN2BtBcK`pM0~6L4s-5$NBaT>(k$4_zVt5R z{PwW@=|6%8?0KxMN5O_^wIR0l-|Lu!R??GDVa=ai3$FP3EA(VDbE*gLW3N;ZgYSs% z&2KK}C({DBH?!EgbxaR4eDIOiz1z=2!AtvJBF1vi-r zX~PW;E;pEFX{OjTb79LZTKRU1WtJP$GBx%0yq@<#`g|Y1zqomwd(Ue=uSTE20HI(v zn;QKUn<}xM{c;a$Np(%)UC2j+LdgkVYv-f?1JS+xYgWNi0At7`Lz!OM%L;fOz5;Do zzR!GANMRbSf4FN1_Mf-Z*dML}6^e1lm1LInbwo3DI>0ji2TTuN!1Dvx)xZcnpu?#5 zALojX58@(MhWTQ6*3RrQzp zR)+=)hF1VXuyxT5asFFfoG=p#VerwwG^zK!W(_rGa`^YyTSlk<0~)5nyYpc-Oh==X z@6a%$sah4nWMH#tNbrfHV`Fj(7S)A7rlnV1i+p(mTZ{&5sYh8h>!`NsuhwDNa`l)t z=!o6UI49Z1&AjZZ3z<*dUSkZ}a+ed@1C2FV<|I;l6TU`DZ*=%Lxn~E|s{+sn-XH#b zx`27T6P##-hQS4_(C`PZM0JJcD~Ut0o=dag_15S#Upof4J=LiTq7C)wMn^`wbUK4^ z5dX&cN9}=*-!jHuznFJ>lzdF7of$@X4r_-aL!{r)8G=uXmi~qWkS(NPmuP!8$4+ zr>L#-e=umLoYy&tU70l6TRu6@<^a#=fZ*cQ+{ntTf^+he!M$rR2GC$P2%;DOps_4o7s%?blFr=q zKlFkEguAz5p!RX;=trx*UWLrRr_kI9*Z3#lF|6?!ZzS#)j^XMr{GQbx)@&*d$|lI1 zhq)OVUT4<`N0D@$S0rFzf%mv97?F}r^mAAxuKLZqYB%aZxUDwG-EXiQdxmHoh_kU} zFzBHh+yeB%hdkX?lFB!mB>R5H>XWOO{s&e+`;Tzg8)NIKBz@dX_L1abX8#o~5`2q8 z25teginqcy8KqiJH%rua6d{fQKLhVX|h?ewHRVVMZok~fLM%Zzo>aV*gB~X+Tp(_OrQxJKm<1_&HdFsf!^}f z+29xxeP;S&OdC~GmVelVgnxAJTjYK(IJ5^ofq)|}9B3gYo`i43jt4nk0(=`|Uq*vHa__XSeCQ~JDQH}#dFS8X{-8q&l70IjTIQ8_{*3kE=CDnvbN zn}H}C)nl@};iNwbo#@~*34ddsp@7qNvhXfv+@Q>xrGUX#ius^n3Ct;|eaaVIq@ zr|k#4av3vVr*0KcG55s}nz~WJ;s{n`t7O3}H&ai^0EJ=#@=0s|D7k~r7#kRL_^nm8 zsL(0(@EFL2#>4|npR*!R^W(Z+9Eo6dW9v?ls;*|3t~yx`>@pew%yHun8SkV9Nc{QB zWpXl)sAteoH;ambEJxc0O5SEL)o;IFx~Cb>-Ks2cjU3x|l>oE%nneZc5c*2YV>lD$ zR`Dw%8y*BXqI4#@Ge4Ll=#v|Zvt+wl)Sd>aH!tZ@%>t>8RcJE2^XHMyQmML55jlJ4 z#8!Aa=hXD@aS8;9QA>!9VXa|NVi;I<;M~tWDI>FLSkz3mN==JOeAMrV65T&)YDFE5 zyUm(f7JU`zs1{QjfT7zKN5&9ruHrm@i~QihIvLQS1oE`9r)7mheBgz3R`Je#Bv4Os z_n}ln(K8XGtH!L^Qky@)VFK^XNWA`u-rz+^9aQtt1=cWI$27%_{id(3Z4+s99`PX# z`dT1=31hUMoO9mcN-RSjq2}v%{n$0jo4}57{if?Y`M_TbA}E$R45wG@RR-ZsFxTwE zpa9doxO((xtRU+GEI_Z(mX8NojCgKtkm={Rfrk6c&h-WM-j@(NLIT>%tZ{T5=258{ z9))s}UWZc*1aD;ok}m^?BK*%5=`x@mJ2$7EZmYINjo!09r<#0)U;W!IP#Rd^jfFs4 z3K|>rM>~?b8b&KznuM@C3^W{!&72SmVlFGD#nw>F6tCK(2JB4L^Sa#+B3|Q$25bQm zZ)jMLhtfedG$(IOWrfr8r9KZUI)ar4ynlYX!BLWSCNjoAFanz<~GGV@a8|=3>8vf^=@-q)0!b)8E#T!!j6=upHDE zeOL?|C~?8^isc6e9DwNpj*izfXITI_C7? zX9%OyJfsfH!56l+ERq^+EW4?B7~a+lNF~_CT409@LG3vHl;03G9h9^Wj???WS57oW znDHv@cqhSf2c+57hc0rm9X2Aj-#_g!T|CA+JLsG=FqhTc4(z4|O*O!D+dEnaIl`qU z0Ayk(?RcQVN&xogbXcmq+t~s=y|39G^j2=w1+{ZKJ<${m`0~1%Nz%uc4m^*#T2wR$ z880tl_-kIpG$?Xv?fRrKO5h>|39Nw*YlwjW^~txr z;SU~ej{DQ@IQ{!G$pU&jS_ALGG^MXTW{j$t zp4l5wtDy$((Z@qZ_hZr2)pmDT*UzH5TZJNC7GGBS_qPCg1lAdWo&3ck(X!GIU2O+o zDyWtES5rJlpAK|9)?)^lo~Sm=e=yUa6?Kf9pUh3yOJo&Glg!k>cRfJTGuk+4*Vf5q zv#X@5;Qh88Ro3aYcBO|rPiB1-3DPVyW(Z$LJWG6T4wk9c_m%VE*rCi!PKf&c9Yb|b z!p+wXN!`h5@Fhzcrh6#b5Vmuc*_?AWba;)JzLd^p4rdKjyZ07pH$uDWj#vUivgHN- zF>lxBBbf!#Yfrg9QfI5SamLs-%Cee{wHHPsFCK~2vTTe+(L;8P;cOtlvqJ#$v*W7I`7j0uYg^xO`v6Ip^GotYxfS8P@lUamc|PJ$}4{ObVKyolz5mi%6k?XA{@} zpxmp;!Pncl$@qBz{|zP)mtv-OZ#?8XD~F_Ir<#d6+8wd&kk*TAw^`phlkqRbX_qv` zhL=x4imzVBsVqo*hj~*iD(vx}hKrC~^u+1tpDHZt&R{NR4Mi@Sbbj})f#R3OtMjuo z)7z(T@t89UW(7yZA0C$){;kwZo%3e$(e)7koSw-mfp$|VZ?H<5C)Jz9G+kDJVOgJc zT+3!z#_0u%xWe92dp1jcKAR1ty5R9B@ahd_eh$9_Rn?&m-jmL%%q8mxBA=SUZ&?{y zxP<;0`zAa8@=ey6Tz(i%Z~mZ~k~z3E6mho^8SB}C5r~+nySB?bOc?EC%DjaX-=eRP zBF!`DZO1YOzk}cSa192GvUh>0JQchp&2GaMTGZ}=5e!`~)fsAV216Dx zo8`6AB`gX=iP3RWjC^34d^RGsNSKs5GE}fTHjO&}rQpd{gLjqZ7#tJR)W;49d zEc0~&xZc8r>N0c^xXTPu_lx7F1jMtTXFu!%A(T<1?)c@H9$w&OSFn7RP0!Dues0+_ zQl`j$^D$LzyupN~%cPauSBdiKC1CfMPOhd;3>IBB0 zJGuwR)%V+i85t(PFGoF3WYz)iF36Ru2RLgLU;rmfE|KYvw-*#2&RVxjTVO z*P%k3l%(2u+5Vx`CtG6xH!;BEvfV|e^56z ziT{|-H@)m$-(kKx@HJ~n*iH*Q5q9d7daL<1;Oz4(>&%nfdzY#I-Z1RtMc_;kYdBRZ ze8N#R{DiYj%k2Z*aI?*yReGAt_!J~AWfu{jVTSpP-bAVtpjv3zk5Ig6lKVL;rYLuh zD>x8ha`pLwU-O-t2FjW*IH3?Ccu9vZ(IM9K#%|^~T@gqodArHIQm>u)v)xsmG3PXIJdo{YG%D4Gi zXYKz8JrIilE^itf$FF8{i_AR4S*6WS(a)`?i0vEJL+gYRXt+D(YwW3JgLKmDlKU;o zfo$p_1%9PN4Z+m^I~FET0E26+|BfTId~X)*qYwv$?^|^w2o|fM<>vgrQhaPk=U(af zH(XK56&u-La(zt*Etfi(ku^TS#!HX}Uq4}L=n)j? za9M%ZoZ6kdf08-jHT#Yfb#-!+0jKzZo<8mcx+mjag(<|1w>Yw_3@osyt=cPZqnM*z z;WcoYEo?l^LD3gs@)>MNGFw}I#I7KXIPfQ}GSv9>!FdSS|37itWy~st3+Yz(3WS$h zf2@+Kg=;DB8i?zyog?Mg&!_{05%%!UmaXP7jryN{Bc2^n=#wh+4bW)hIrc}lF+>{( zG`a~U0AA-ULy?OL*mdXm^fP*2{4eb*$_Y>SLLI-rdK97}C-+o!CA%Pi=`}LaOzhl? z{8`a9rSPjhuvNKe>2IFP=u7+w{0eTYD4>cyFdq=YKp#oP5|+#wV|XjokO5b?yrj67 zUEv*WXyaM!U2^V%-V0Cwd0J%5zsjo+(Hh;e3z;*&Y}?s}aBq5zjq-9UXb_Kk^O_-W zi4GV3i_*4rq+2eu)k#C@!SCQ#hmfM?bzKLW5popA{vJ%*5F&dU(z` zCvCe0sEppXEUJNb`m8z7q}Rc&19Fp2X1g}OZN}TPg{MrvO>z^DkEbN{X9$M}`6j@Lh|Q126J z7SA~T--N&^Zco^Icrs8Uiug}MAVnxK;f#5TS}5jttf?B$z$cI<8~!i;<;`FFIje8> z++qx%7rfA4l!A+W$zPIRa-K=46%Om1zH)m6C5|6955V>OtkTNo5xN2NR?l&(UJg>H zZB7xm8hs_FVNif1m5NY-3uOtE?<_1G;kX7`m5DGk^%Eq_jg#k$Pbxwl>4Hz}s!!Pn z-Nvd-lBBW`N+PQYKc{eOFlek=*98%ScNj*GMKDRrI z=W85Ntaq;LdDPY&gYokb!U#OAzjclE259nFFMZ)($CMTMJUe-k8H?` zKB!$WC#j0v39#HGJrqeeH8g3(6KYe2bpR60OQUL(tY8tp~xM~M|#aNk#eyPvydJpA?Z;!!XbF> zP|sAEJP`UuRl?l2dqeK0xWol_fO}q4F9HCVkMO`6x1i!QNDi`G2HQSF9XS@5h9)KdOmGJ*SH0Cwi(!% zec^*h9r*Lc<{ULKeVhnwU|vd$`c#x^ESICeIZ!f^9gUsBySPhJbLt5^SM*7%3bL>% ztEPGA(g#5mrByS2xY&$!LXrll<(Up;WqWguu|o@7J-m^nC1;FwGPi0*RhGxE`HhxN zF1tuv^vIdJ+Jfm{5vmIx@Q+r*n2C|`h zOIY}K&^~Ffo%oJAHEQ@!wi7E&*p7lpt3d)}&IHoj!cGxAl&ImE`nMB`QJvACi(?=E ziiEiu)^uh0Jzd#*KyQ!^+kvocM|+k|lLPVmIpeL7=K9HruT%qK?}1C2K42l}eb$xYx8pzej zFsi=Vm%ELUfbhi$ZZdIY*UnUi-05FK%Js)~1JAr#4)u@lHPbXB(J@V7133BzJK`W5 z=?9D9{Q2heCzjV)_FM&WI1QmJ*eCz2d6@h0DcU+GJyq$zSMg&jfo*%h)O)m#y&-0dgN;l@n~?mb;9PsR=+ z$@KkX44%~8tSKx*}kPy%%PZ1YDp9H8F#ktNuPTNOCfiHuaHC0d25B-((Lm#%<)@u9!1FgqE4G z-+vV-VD?;n1~e*s<9V#6&pfvCpceH#>GIxN>?Ht#MFzZ$4wBMwe+MZp#?f~ilupLG zERT&vdQ0i&i|70YGI+=R`DQ#u#q2B*3v@^N8XYpcN)U^KUra!-?B>yxWtPuSAUgON zx~|$HmbWfq-M8__JXldnOufIff;qx`YXzCnYYfy#8Uy3*6877FGA`_wzA*7=v=j&M z`=t>^d00IQ1E87DaZT|$o4X7tD*vLFv)&T8E+}@U$OH4W>I(K^;~BfB47zx^tlV4? zk&UG%hB8m=`jwn`zH&)@p=y16BhZ1I@o|fYa5>aO{FrsTI!cfpn#6gAOU=DcQu+qiRR ztU(O;XcKeM?j9n)GCApg`oT~q?v9_;$j=6E=Hx-16d;*>DyqT0*(4tCv!qcLR?I0( zwt-n2eBhoV#QTZ&SuQ`w7pFndeHwYp(R%kIqyFLL{T?A-h9a zSz>kS#A=Klcwc=86HkBUBr7O+5j)5L0^%3(r0Q zGryfh_h4_a2DUifUlrH+6H;Wa7w*w2!)TmJ8-|>X&79@r9i6{pCzR0RRNGlWsKjHr9j0p?Gx*BT;vRW}_yV9vV@BA50p2D*vcf+z3>sbxR` zo*pzk^MoWX>^(${Zj#UJr}MF5q?>)e(cvp>-&v$ESwOJ@~ zq0PlL1E+YtepSU?E+-d`09Ed|N1u+e@CXmdjw9S+U`v7|rF*CThRyo-C=2J;fe;vS zHE0q6`=h>ApC0268{fioknOp09TsUXj*$eW|2cV^18cg6DmWG4A5@MSdxFhSGD25m zuajJD$T|@{t2Ux6`(!t7swc)zV%COvNZcu%7jL=W9XhWIeE>xE9A8iqb#&ncB(M=M zd$#HD*wg$GZh9~&+54c}^4vSl^1;JKxb^%DBNA|iIkG;0i$-C!5LfBi9sy>H7IgAc zaKH|7_Dn?J$`O6*=p*fr(`NqYpn%)`#IhrQ;vgV~cQ}zY``N5EWSR!eYTQ|7q?ZR? z2Zt|C;Q!256|!)8iYoqD0!ekj{7O&zVpp&<$vVd}yUwvmLV<^W=$|3~o(IWGdgO}> zj+GvNky&X4NQdaWi=5l4A+Q)6d8s%pvg|T5mOu>_T-L+TRFdoVahF+FB4F{Mb{AgK z^s2JJVFsS!>b2(6WNe|i*ELY1n*>*pyuyf;`ij7Z>Tp<^T)Ot3G3vtm{X!O;I_LO; zj@1Pis5Mno*+n}3YWlIv7AQH3;t@dbS5^-9UPlDKiNE30P#;kD21cod0hf_L_oz&X zvB$aOgg5juqVN9(>vWhsulSvrjVo%$UtQ$I+|nu1{tq^jRkbb*fgJ1)1yiMN>Sn7U zrzb<(Us%*2UB0-;e6`6^6PRSjEv~)kPYY1zV{UV%DGXG9c>g>6pRr{i zdz>a6?y^qR@MV8LqN-%x8m2B!`P?RTl2Zw1MFq;=R4*0~N8 zoNXIh)O3m1bcKJJZfT%ERm6(V-TU8!x|-hZ&rHRP!-hL=8%o>I1B|DFymwU%7NFW3U$hLwhe=aj}REh{zdHzh4fR-)U#%mZVO z6;k>+r=>VlGJRS0J?HNk89i1=>I?qPkVLe=4Sng@Y`-AE=Wpd|*wj(P5bqSJjYDn` z2a*cG?Pex>NSRWRDvpK<%u8C8id0FFB_cQ=yL6;ViV-4tg#?#jmIu3f1;~Ul{0;?n zU{3nF@*ZO7UK{}xG{B zC}>H3ozi5TD+?Mzu$(li5HeH_K5Ji765JwTnr;A9fPxmCQ#3zJ^+ec~`XW@Qif(~L z2eQ-Ju^y7I|8ft_c#ReAx)?hryJt`>33KQFU>m*ue>U_D^J{T{3ILH^1Uin-sw7AB zn99-jPHR1~$JBbNKgeFVfpr z8>}r=Y{A|#x=wWEoS9piI)T8ZId_y)_G8}S2)Qa$2P6h=#F4GWNz$VpwPdD0b1;}} z;Xu3s`}`w8%LW_E?vwy*A<{azfssa3+$V?yrUyk*qSgXrRpuv78FHu&`w63V1pj=i zTYsaYe50;*FvcLv!TSgJ$8|aR*Zx#zLXG4-W8L6}*~8*%N%-){2>GL4q{_#DxCwjY zdz~w+O?#+2#u+)V1PWZXp?)L`iWM%lZ!l(!{G)3KI|chwTvU}BR+ODH0grZIQY-*S zN&}nZd;DGs8Z#w%vqK|QIvo3&k7v%QO{JZ1(^w2cV{M?he2quh;oY$$A}QRz&0icI zFu@HmDWt;tHPQmH((M6)El49SFG(iKMz*dSn5e$o9`ZvNyGKJEMtGea&JT29Pip4p zB8S2wRlKbXFj=D+7Vew;NsWCZB!U%_oS>xR8b080Tb|Lw12GQ4fUb&U4p_55sM^w) zP~>a@ewDY&5O^1agO*h_%JR$maekDadc$TGD;=CpNtE?SJHKZ1g}@V@%-|B=P{PCV}CAw_L5Q54O85XTaQ(tyQLo%H7+kKpsD+7~daA*EHr?a^{T%}Ey$gPHrnb(y+#b$sZ_@OKN!w!Nw zh9yBaegGH}#>3FDa8JXQvZ=WD(5f4|hereaevkpRurJ>F~=!IiX0a9{r zOe|mUT7B502HoMQN$kTqoqV86bGzTatd#E?Ndsn;#Ac7`Urvtqjm)Cb<553ULNeu} z{zy^CHY5=#9&C>Rda#2`e2G2-IA+GD%iRI-w);RV!Hm(FrN>Sd7EZfV;tMG*-&m%Sn9b;P-))ye$}LZD2|fbNES}L0n|XZJ~)j1E_5fN zv|XByVnZ}9dgbB!c$Aq}#q2A38VIwADt^HKA8lq=+1;Jf5Ci_sXjU7$C=t&7V|c4R zc-D_c#!Uu~#U$~XUN8+NF=DdJ{QeXbdOn$;C$_sp_Rq0oqv@0_3{aq zcT=^hU_&n_or{OQR_*UwO+v3I8F`{9?yS7Y>>qdp$QB-kKs2w6Lco+r1(+e`QN5EpexI`VQuwaw6N+*x+L4ccL13gCe%jIE1^ zI}N?N$B9F}nN(y+pd_0#MDR!PN8l2E~);G>*8bqdP zb`adTVG`>hi{3I>+t^MtOMmZSD#G)xiPM@*TZ7tkSq=?`#?SE_2cz zD}4wy{ML8PR*mfrhJ8NM@S1g(LG2-HLBKtm^K?3`Wmo*y zatyFkG{MOyuH)yW>#$cTI=Q@F_qFn$D>m>ahLEojVWNo9!O0s`rq#7+5 z;evXdU3pJ)5Qb~zCS6myC3$Dh4RL^qcG#@VIbe{}H{)gCS>E$L#zE>Tbqm|b+QN~; z5Z^}-kAYeZyIlG}OIMex6T{#gV^#9ChOGFICs8#?a`Z#9#S{^jXD)Lq=a?cT7*v## z@TqYVWcM~s2Yk2j&R6M^CX+rgt+t3SafJ)s&Tk#IvnRkM0dY|iCLul_n{%Yh;K4BX ztK_wWgD}vX`x{fjPCK-dCDGdFit|p^q+zeJze~=LuXf^1=Vk&#VTPpS>A#K3Kw_{< z=d70O7}O7j2)o!0j5TpxSPXM@;p0U=z3I?H4r`u<|{;;B2)M103AR$;OjFa za{|E4{;XxMKH3Hv!h9xtj%XG zV52)^vfU49j}RDW^hj^XJfw7CM}@IoF8jV=qhNmU0#?GsP}mnHRa3s@SGYRi;kyC! z#KH>2sP&=W@h3~wram(6J1%f6OfQL&Q1AQVr(TWl%E%S-Kae;?lW(AA#66g?4zjjz6j$k2NR#NH;j39-P#1 zn5;j>d>co!tSd?o+;p#SWuLnl~Jsb_2ny*Dz}1qRCA zlk6m{>Tt_<2COx?DSBC7KgGe*`nwpkG)2}H@GE_<3kx^}wEvIUUVExkI>SbGbxZDw zmjcSeGh8eN3&5OY$n+nvH~6w!eqz>ypLkw(J+0#@Zj}M*JN;km*PNfRaezYLYrJE7 zpEY^^Z3Bhwu!susRqMLI6L;<$F5&hl2oU~f#`Y=<6(WfNj^KZw?P$R?^Bk%pjSz8O z_l7SV4*}Gha$cv{p>M8tA=0?Q^|{E(lw1dy)W#*}PPNi_?C9E1<&x>h*iLYjzhu@Q zp^l_5VYiEvzf6*1-DSN2x=6}M2r6sO3;;mk6;2s~DH{Q+i==OO6!HphcH>o63Lm8} zN%Xs3LvOh$zDG)(GBw&yPKO5;fQP#M5{bZ>bqwg}*S~Nf^C#B#$==ZsF(9J?%E_Ex zxwUBYQg|Jc`QCNbkD$!ZmR;!r%6~1emKbrS-*0G&rZR3fw5bviUKK!baD0rpk$buZ zR&!Qhy(u#Lch<&xC;r!`&SDM1SKA+2ypFVQ*56x>*MP3*j^hgAM_MZjVUba%PyrX^2QxbA)l`QO5q)5+V;EJ zDc}#dGtkMJnhhNE&RzbXPzXNa`%_(*{N3Yzry`k{8*_3VIm_L9kxOtQpgo4iU)A5s ziP$5WWF3TSoL97myjH{^W6Q%EO|ROwiny&|{*7pX56paM^vK44GEEe5$|gyv0evA= zZvV*vs7C@&?fTD?_a8DZZigCj@gZ4z$Pb|Qih*7`JlsECG9P!VE$)9Yn~MAKOaKM= z^(c$sWRIF({MD-`zGDM735)6tQ@-Cq3B+iZ*?+Uejeqli`Iil4xH31n@>RoOa{saE z^+%;dw*15N_x~_sLIA9~igN0Lj0_$YZIHpMJ=MhtHhyIE7Vd z%rU35Rpo;AGW>Jb{Gmn6(&_=wwN7n0MVh);LFB02&7Yd$i@&w3)sM=8q;jl>egQ<# z8To1LMB|cHv%KkqMh!byd5Mc8mba?Z>|S{`MuM1bgM(`|BP;;n^SgRlYKmV)Ycu2= zP!ZiFufMHQ$$+S%dld-4EKG7`{+>~pRnwW~VBxiL;x~1a%km}zx|<%Is={1q554J+QzEOQ>>c6WG*g|(q-Hoa}yDd*z=q#4_(+Jlh2@%9kXb5r-d+QBa5{$8$7)+dcvg%v|7CuTLqgLQD2nw zV6G+!cLVr)wneIZ9Kv!LGi{i&Q1#@6oFde!atd&u@IBGE1Q$ZNDZnpdiUuXWDL*za z`%A+*ENW=xPo=OFN}g)SB{|TpL*RcLUmrKJf{6D}1r!Y2U}2u~;%H@Mg&^CQX#tEu z7{*SS*{E7L?B>+Q)Q=> z0|T97{vTm86ZBVn4|T=jRs?v9ouy*zy8Zqumx#VwhjNLovaqo!*bHXMJTPsWX#c_t z=tgG4x-QF;#+Q}MCRUi6G?0S*(B`#_vaT=})0k*BK!Y^8Rcw#8ssb>!DR+&!4dxU$ z2dI$8@lY;p#uBtxC(VDR8Rrw6GZY==;D!&*D4O2sj56}HIgSS}!OvP?GI-;UZHW~1 zbOAA}O+zZZqGryUZ%$XSW5XxIXS#MQTObNJgJGPEwSw$wDH%Nwk^IV$RtP_FrIZ6Z z;YBOfsQxFoa3D~g7zZ`nAGlLGw6-e69KRi;_~3uw$vdtMxuDj>GI%9svZGolIg>VO6&@{J*W!nWdcu`e|Nk!B#kHb zFnyrXa2c?;2LIat*aQ;*(-qj0BQ9|AaR_HJBcT{nw<`y#;F6<3R=M0$`&`%bxp9x+ zL@3Z{NR-t}H<4PCcIwSGu084-2q)@Jfdr0|FMC_ZVkpoKI4t2}`fw=u)6b9_9_&`nRXXe+-qgU&yUp;m zNQXp@C?l#L^ni)HQi0jfl|FSj8x}NmLQr^cTpAR9&j788h$L>82c${rKvtbKP)~Iu z8RQxU$izX|ffNxq45*B#DSI%pa!H6{(j|!>@Ysr!N!ID24?hSv#IIf6a=o*(OXgkz z5T}nkNyeyo69o@N{hYxouoRJDT0_HEI*Zq()9~Ws>O6w^cFkTHAd7RGz*+*A z(g>0lRG{e9o0ERRO)p8Cv9X#wl0{Dcfr}VkRBqDkNd5Y9Wu)%2{|D^QZ>l$c=`7bq zp=Z>+t{ROLU!87aOxt7N2I6-MN|W#_2tedAmS1TK?e{n-L-vfd22z$VWt@&q&80)f z>xk;e{(s;I)c@%1%2IYoX=sUW!!DyR>`!2Ajkoqxi3H8*{U%_3*mnFxT;8f^Dw~3; z>ZVv#xOZ*$nt<$7UWhnYP&l>e2uH;FW>p(ZVsEbX)-5*4>d;QCnXK*GjczqFHwIu5 zZ^l3r|5;tDBurt6)G544O00C_rgF1Zt(fedy&PT&;j0<~kgQ>8cxX)Hm6iH?*8s^q z^D}Q3ZmEXTSrw$w5SdK3LX#h1@ZduFm4ZNH27h(h0Wmhf*O4Wo_5|schNXqX8^<`! zx>XHT3d=!a+wOI}S^Q-0AEmtI1^&^4bRC5nZtUQuw8a!@^o9xyRvY;#ioP;3>2Zt5|c9Z}qn>`(oojq1=h^<}6+`qh#Ob1>JuI`ZdO z9qw#1(pe;S5bWWIee-oX_cNrX4xsDTGdL*;LBL4!ZQamWg5R{lP}Se4@)^3d5MPK& zQ*joe2ZfuXe1xC$#1h!ONVvuNa2s(ZnEJW7O~`p zi1d1wX$blQ9X5szjPgqJb)FngZ^!v&p4Ja`mo6RvxnGra2h*bNCgDFrfdBde)`Ad1 zxM049_GoMT9(c~FDX-xv>w0T)1GQeFp;Pb0+G;cP z3GvQx+pgiQ0P|N)ZU=bxFa{`?h*7N(a}%sAOvY7z_o#D(zJi@2u?A zR<&_}(KzhMR+IJUxkfoP6|TOwmQ5rpjvZr}|F)Kk`rsId)`ONXHz`=>pDLBtE9DnJ zTOt}Ye~S-tW4(2^VHs>W+JlDT+BV5sCg*VWD&?|=uv5f^uK`ad46LE|paU17|3)q1 z@hZTQ8)Suv@Ki)dt`fqi%6n*rGK|CTS&bxg&L;L4+>Mb!WLAKP-M*P0dvC_LIM69M z6u?&sb_IAy)Tic$W^p1#CcW#q)gi_G;4}W1FjlFA$+kpOWYFjQdV2A?KslCsqM~g7 z+zN$Kuo08aNG(-alD^Qr8>l-1c6?u2*BL!w^lqIk)xA7GO2_yWcfn!&F+_fiuT9<4 z8$m=9P#?6*p>WV#2tRtl{BrkemZ0MG)UEJQ8ZE+8qV|!H$}iuoT6VqC2wI*9G~n6$ z^is1+=S+k=58tmd-^ldwVEcCP&^Un3@an92kd0E~7W0;073p`-yjWhrq2iIRLusT6 zV}JP}AFIVhet3vw+`nOWj+#F}NzscZwVpprlHO}ES5AG$T=_R}(Z;w&r^(yj7vIv& zf6!%%7Fw@EA_M;U2OciU=P9d>IE-}!MN>~h74|c4=8z+-5ncee+Y}!+_lOP*PJV&@ z-m*z26(pOo?#x;P zVD6M35GmVFFkjX}*l*rC!OaLC8*rS>R{_ZQT6BpV)$pya0EyqipESr_mvKSbE&;c0e`&k9}H3$6h?q2&kIdLXB3V0`@Dag#qunW~iy4k_O<>cRM)`gA} zfvbOS+qvTNtF|1hV#EMR|7j}j7zZo%Gk>WkJ8Q&wi~Dtsd;4`gw94^4{S8ghEMnIU zwsiW24zGc6g+JWRGEHj#fvcKX&i(KN$8hyucoB7>kF$NvH@71P)47$rM5g*&lis&8H?_u6})3m*hLQ0nY ziv*?(Dte<+keDJ;U5ZMgahB3#%me0t=#nliRb=}E!^;1Ok#Z51KGe=fiEC20x14yW zC$EWg`vE-kyN{UlfhTrpcw!OeVL+6JltF1pLw zR)-YWwowTs$RoUk6!-*ZR7Yy5jtf$}bT1)=ietAzvFreJOO?!ZFlb*<)}}%~+We$% z0k?X(tWC*q2GJ=R+hwjem1kN1^4h6Dc`+T2!r$d>7##%mDun&Gg8pNZgvV__?r$7b zMdr708ekOE7b@CRp!vL_7LJsc=?KGirjpI!qg1L2t0tb=S4iuq!h+zi^SBB-0pf~= zHm-6d^{k704Bo8yFq0NEt@&kx##1S@u3JX1vhYBn4(yDFCCwvqj7rbmL zrlx!%ei?kLz=JvGgt&x)O9IRq==+{M8%t?#TYx#%d%amdgT*?$c5w43vp?B~zidqM zcc3kX_-ZrJLhyq@zBZMWI{Df3sV#|M(aoQwpufSTJ+f6rS?tfruL_0t^1|c_(k4LH z*J?~yp5Y%Y-gN*y9xF=Ng@70%&kqgapd_~T=xq4~{~%vg%P4m_w;hb%zW9;lq(L37 z&8|*R*uvP`MUH{ZuD>_T3?>#XP+w@MG2 z&T0+Wkp}y7sQlBUf?dBflqKU3Q*mk44lU*21|O^B<1_kj&Cc}&qNS83>t5G0X$SpvX5S4Yiw> zyoj->I|!7`Our$PR?L{tii0BD$f@`23^G1V*0r_;QtI8iP4R41Zp-|VHD) z^JHe6Y4io){Jx08uHi#*vz=){9TN_IprLG^wsw}B>H*L)|1=2CczYeNk7EB1G%zE* zI@nZ&WCX_!4AUwdHCM18R863C?`Tt<832?}rG`=Gvc1s>ouoBnWM`XUx^5wXj9Ht5 zaUA-E%$1E@_#wXwhnspE?2q5v*ou2UBq|9)uoZ34!6PK zrh(<`Ud*v8tGN%gVfnpmM$B=iH-^P0bW<>>%$(O&Pb|8Z&gM`FT7pP zE>-$*uUq;R@AWzTS@r2YI3Go`-*C=xy;JEw9IZW(KVx6J3nL*6K8Xk?X^DE1J6NaC z0eDgP&?OFJW{Pn5Sid$%J4J#K%9TOv6p{5h`c}+&0zC`l(M=4EJZmsJ27M$%SDi0)T((+wor6}}oq%apX=IdP84LfjqK6e?We5NrQ@mk1C@Kvk} z9-$qiS1STX$*F~$iiFN19eA|!7crZNc@oCE2>UYl& z2U7Io#pp_nC3un8pW#bc2SYIsL1EKUC3d1D=T2vT8I;Lm{4i5{TVIiBVZ)&i&#}u` zEP0v!(8wr_W>p?pL6WN56O?O(*#GXVD)RAiJ{1T+hz)ZqJY9yaz>}qLVBRay4{raT zkiwMUy>xg2bUOmkeG5BWjA2|6B@46l25SMM0E6HTBbaR4Jl#+^utZ1~?Qa7E1B|c+ z4zuHrR~2&?BUhuLw^x&-VtB6&Pg=W4@*19<66HvV*~stk=oEQo(g?L( z*Wk^?th?YVF-dR=CGGmjd&~=3VKV^?W~n+ODA6jNFyHZsE=)-W@-X< z=ukXLppeev1KOl5KS9j*uR2Wx&h}~nQd=^2^7pLe3+G7QohG%UU7ptP-!PLe_{CFV zYxQ!MzPoL6xody*7!`{m~*heDe-|3ddzXM^FNcD*#RaqB} zjW3)3jepZOr0Qu91_abu(&<}f9{VjjiGATI&Azia?C4XzM@uA{>-}Krd_5da4vrT; zFR@e&x%2}M2VjjtCHSySO#+D1AHOtefE1L5(~ss+Obd0`jyV6MRWuW)PZQiF>L>E51ah7HGi&m{3uRWy zOhutO=v`U%|IF#D`njK{3_Huq!0CTn7TEDa1fEhF=1Mi1I!ncKhIiDM1O$3td`@?> zF}KNC`p^RY()){2AafVAvdX^mX8zZf28Ac~j(P>V$msOekuv21f69vKAFv{*yd1c| z4lv9Mac{4#MI29j9VfqB#JrHdT7Ah>cUfujbXz&OddUWd6+k{KZdu;h9xf6(BF-l# z-Y3$job0)58;>nP87Qrb5E>1xGmA?lm^*U+71l-ysKirq>Q#QFMF*vE4GK+1;g~>+ zxe0}Q#Y$h}^uVvWgvU+zMSH4Zk2$~Stsm~w&0wX?{FSq&Z>x#5Q0h8wkB$F8Img(4 zA-{0}Ehi8`q-YeBCxBGNyxOH@a2@ZQ_&avh1>*fRvVpZXbaml1{|`(^i-v_%FySPP zRn(5*R_XpbZi;D_K^#7BT}d*3$7_V%fDL(wn2@lPn=bqR;I7Bb5s;mDri^4Zh^X@l zHGKL_j+usUdv5Ao1J z0=j5B5R#t$T|Y+rtO<50dzXVHM+g4i)quv)IxGLKtyq10PsiwQBv@bEGp~c9GWxv- z&yDf-Aq8qOXqBulDn2zmAFy>2u(-^eMILaHVHOi0UH;^%5eKetc7I}XFx@{{FD1Dp&Rl#O%h(-c zTwiB9=08MQSVjcM(${d-8Ga(EeM3mSUDygB_@J2V7M3pGxUfce26q+MBsMgm+h>(! zw&V`>Ksi{}j!o={V~U{DaA3R|=C^#}up075ITi-8pvZgW(LRZ_eie}7^W#?0Zn&Bs zkWhB*Ufp^D^5RJ;N1(UamCR?q(Eiosvr6`jMtpXsGAbb5v#APF)H(EbWshEWwJV`y zapNCcc|nF$dZQ|P0vOV2!q9n{jbJn9vnLv-{t5tDt*_b16;_k5|9Y~~bl~o5+H=)T zY=i6<-)d%#wnamS-U}h`R#&t0;%1D@`094ZA?XKCv)ju~zV*~ox(jZ7 z_8Dpda6oyb!bPFarGj^K8);mVKUtCo;&#^{r1#8+Dz!K;Z0;_$ z$AcfT{_X`KO;PMzIqJz;XgCY2&@{>L;)ji1tc9eV##G2@*ex8l`p75Vep2wiunuyk zHb?Z}bPG7;D&}&8w=Qx$x!MDc2iLuIMDk#0b39Z&_RWU!KIW^-s_0^G`mvSw{MbrD zOBk-w$Y;mqo78C&#b~d;y(cOmFf0QcH44y4Yb7tHB3|-u_y@nj{|1J-8Fd>;L7;uO z+IP(H#jm*5fk0HHZ{o_#kXmv)h|Q^KEx9W{#iMUgNAt%?m96c)#pB9N<*7+bG_Gq0 zaULiCCx8ibk9r>O;WxBewVs)tpLc_anq7Z@ktYtWZ{`lxp70vIL+ilwXTF`KMlgRM zb`Vc{w9T)f-uI-Wjs@FQ2B$|dJH)QCR{*>?9{8iTfJE6Ol#M2a+Tp&a^w8D@tk2=H z)*$EdXg{a=*^T1rNK!-o0^oU{obbENz~8{Je~?sbq(h35%s1dC->VU4P6fm!rcc!{ z?uvwwjj@$h$3UqQW><~`Y@DY=U-W^EOq38j=V3TjkeuE&i{0^5BuB8xj0nAUTFCvw z0}xrTMlYb3l`+oQ$0ON&n!2Vu*x)R$S?zF$S99LxHq+g25&|XN#$Fh?^Fr^jU|aip z$VYZPP+r7Og?4ZnE=b%clq-8Qaoi0BNSHJJPL%d9%1)QkPp}Nslw?F}%`_Y&snMh< zTRPs9iwIk!*#?=|v$>hpD_dc)Zqg5$>!|8V{=Wdu`@RJyF1E3skDPM83+3|ry~@dg zmi9%4D*rgfZe*duVp&nbN8W+*K`a}iiCKK<#;&qtW6)GN(~3DTSYDbg60>V$h_R!b z-J)l-G?#4Nh}cfZx&uDt8!A z|B3N4GG3S4L3|T?vqer4g56FW9W8i%?BbQ6JGp_nb>b;~1Rg&*fj!8uz{nBM&yhI= z=~ZAnk6?EZCOr0{?r5FwO6wkMeP|Dk&tP7aMYtH~4x9Ak+Me#opLQ*T6?R_xx)o&b zhd@7_UA}cw;}?6om%S&Y%x8ORM>|XBDTq~bcuHb*jZ2fsD5k{*B=lPrUHkw$b6_esU<@Z$A{j>9a7F1`THfZG~B&B zrGFyNr^)9~@hlm@-**hq4cm-1Q;>nqm465FJ7T8zNc14RK)p)H+G<$`yYS8%IasH) zmcfF7nRPkI8*C>`aS|>aF5S{(Rs?+)=&<3falLj8iB@od#?od8Z?J?3{i`i^TU$Zq z4Z&_>q0ff0kW+1cPzyJExyZet>^fr1!*MU=WQi$e!0_VTa$Zxs=Q2mIG(yv1IyKV3 z$q}5fkt6M2Qu6fqD94E#H<~%Y5Y)&{+W>5{(QIZ{ht^8>y(#C$u!jU?AQH0oSnir# zV|BXVP_+|Hq^t=vfx1ep%l;k5yUTaHxhfte25#8y<5WU)kDp*B<+(K|XQJH;`|ikz zZsR3rB0pnKf}!{;u!3}0P>i5)ZX#<`r)J5V2s}xj6w?zmNeCY|$3@Pj*j457$~suU zIzi07!#k4KRQ4p(r0Sc#G-*=ZNgroB%hO4$jJA1x$4kT6zwM}0KvI}C6||8~A)}@+ z8$*;A#Xw~0JCz?8srchozz4{C5LiYo_lTG(9jEC|ci1Q?!ltZ0jM%gU26{1#75h); z^qj*VBdMsHh8smigO`z@1?h^{*=sr<#9s<=C?wj?Ea@1?59jO^f0bL_ZeA^w5hTb< z^DB8s%9q-{!Cn@7_Rf=(S*&&A@Msu9Mc}SHussZS>7wD2rQU2k^|S4c(1a`JFel=8 z0G&Ub>2c}oHA!JNd;FWSJHrm6zB(o-9#Fx`WxvTYko6|UMaS_H=H=>K)&aT6OnvD1 zkgu4>O@^hV)@r(RdJ8lob+={SMsFy(`5Gx+wv*n$C))A^zstI=Rc{w4&*zo~N4Bp! zUgB3)rSMZc2eiO1AX6zsRz>q;bkNM-06H5m-ww46iAU;lFU;p0QK_A`7QB$}1-J-w z8;h4}^#Z$!Y3eLAcN{%^-|vc;#S3v?vDHafdOTHZgKj4)gp*?t4Gx+hoI`|0acI?Ca%mZw1z3d+Jg z;_H>%PFGg4Yf5my(1eHik8F0XBt8Ifx_%Xm?Z%1mt7Oe8q_|QEtJ!TtThceML_&XH zjTz2#e{fRjJ638fCmK@VK>5m~v#Li2El=+~S+1{RW(InMBrjc7t=IdthP?C~86a2I zv*fk!5q#xTl5`iVMJs^Wve%Bn1e=H^8ts!Dk#F~`5{Xa z#l9f5X_{2riiT?_4(JE=LwS;?C*c#N^d>HaZW zfyfM`c8BC7p&e_b9lDJOs8?ND?Xbg|DB_i4k;*xy%IiDL2yY<7R^Ic$X=2IKX;9wn z4^5Hl%-N;&G!XB>kZfJvrGpKTi6?7&%bG>;)1<iaI@DYC;2$(#`4(1vepeuN30d6Tf%tQ44|?==`7*2Jy|3-Qh7jw! zSKIMa)xNh>@bku+Jw;=)zKgR+rG1>ztd<~83ci8Js2~tl#)EeSlJtp^@Aq+B36CKE z<2!ZVy+zp^w=<0tK+xgUHfulg@VSqF0`P>d_uE%fD|!0>dP6Dpdk2x?RoE}z@i@30 z(ocHF{BQ_F=DkC9h4Ve>G3>y?Raq~jv$3@$9_7Jn(TR!e!|R#LZ^n;EK@=DpD;I@ z;s?W346e3iA{~m=+b22uRZj8RfvExHTaTL6GQP3>3izWUW-6k^JaIpb*^TLyNbN*-r}{a;($vTXV?SS>3(TsJokUJ8>^KqKk*m%~4Vl=w%TGuhU(cNf?7?aE2^ouJl6 zXj+7y)V6K?fu7jr=UM+QUsRWr4o}ko7xd+IAYq>B)WuoW&1g(>U?@zFMu*F57dZn2 z(j;PI%2$9{xL4E`mMuYfc=GEF36~=#6C(7A%)P{}fJF9^{g>2Kw^DOVC4(7HapF zSMB1SeT`H<3_wJh{=(`LIt~nwS--YOJCqT zsg@*NXW>+3jTyhP=5PF9xw3VI9Q#e56WBUc8#>$Qe%`vlUtug#tn2@sA4-%KemzI0 z$wTv11?LP{<~F4eoOcbttPK9cK31227RMCE6fNmGMUro_8a&4O9A<0;nD`v`=!!C? zYvXBh{1#Uw>r@ADG|K>~9TpZ;E_-*6aq{+U7Gso@1(^_ge|sA*8PETtJD6i0$&cHFam)AM@rXJymaEmoqog$9z4>!47Sq>xX8E- zNuLEFT;JcO0S|KkQK86#p-`H{zx%sZmCX{^j1KZFAxHy)Lq^W@JkpGS%O;U$6zZ z--!J9|FQMn0bN($|M(9DL=gpXqHGWs0*b)v1qiqYAh?1NZ3GmvqH2=E-4>})I^11jAVCa4p9CGm-^1z%_C)z zW3+i^v~glh*ruSHLmUuUHwq$ROk|YYb&4+64VI}nqk{hcQzBZAW2rM+R&N1w6TVf6 z?E;lD0AAQEbLc>OAE^=o@598_37|BiaVsyZtaYl}71)nV*p?ix%0|TY>MyED4(;`urgDH`r_IT7K7^6_fjA0H-qd zXkgMRGL&Bp%%F;cP9Y(8Yeavj{DD3%3QNa%l*

)Z}=##pbbvXN&U{7(a%g!U9G`I`6f(i5* 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

h$|EDtwqqT4fzq76pCD6vB}k0 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 U@ik*RF?OhZrR;&%y6V#Y2kR$h$N&HU delta 1057233 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%0A*c-Kwzz{|wCEFMe+9U9zznG?e(V z&ls~bdO{zbvXFfG%YdZ8aGk1gI1K1`tnUlJ*&%6tT?{#w$T)shOKa6o^Lf{d_Gfq4 zizQWJ4Y-J65KJR@zSP`wwYuDmJg~~D`jKEREgnK0N`|STqO8ttQ6Pgd27Vi$U;lYM z;SO9KA3pAF-t(sZb+eK)d9%CoCbXONYtBZ5|J58Yez7b&`>r|8tEg({YDnuMHt_=JMj7_BNIgF2oZhg*73k{QM7*}~2}nuz#@YoI z$NC7`O+9~Tr={9Uoz8xE8Fcp@lqoEl{*|2l=4k%4$P`2n2(&f!$E4Mp+dC-rHh-VijJjV+1^Z`R3levb~RUEc0Hkzb%edOqX!4$F@?| z#VKb0+$m^0`N6|0l$o&P6-%W2)&1yLucspMj$W{SkR(fr9^)AXsp|FUfpJp;@QI zt}ZDCUCMBp^^t1U^FRq0M~V$^zaM|-9Uu;@FYAdq40r?6O(&*5(DL9l>rl)!M^)|` z-E%MNCH2^xL%DKGI406Hb&b&@SF>x%S~Mjn9EWcqHz-8%W1h;>yi5e9Dhb@^>!!y2 z2~RwF>GGxnh5KQcF$SE7O>90rnpIMatJ-eCW-$*JRac5>l~}{67NfbA@)%14qn;+> zdO=dR0-X7v1v)HB@ULdT?yHH#aYxeId;a_V#jdoD3mr1VV&5XHC&@8pk!blm*2Q!i zg02}Sfy{yJeItpb2rl3N5q~om_W^;r?^ZsKb(OxZLb+W&aZ7^tYy#zcvzG+#YJVIr%)ej`jo8w`v*{NiPMKxtRnr6c6y=z zNa?B1_EZRKpCC89_|%L)XJM>C`1=WrP#`R&7g!_HlqlO2+Z32ZRY)d0lx8`PwK^9` zycF6JDZsFH*D>aNaVDjottbpV8yUPsXM5U5fm4$)M9=u#Mish|x@&vep>Ox#66Nz* z6Fb1_T4&q7dID(QwY@_e-(~MA`GkX5G3typ3UEw5;Qbw(y@QVF@U7{LH z(=iystQ7atw0neialnTZdHFW??Ky+qD|r(#KV*TVJ0Q!0W&3FN&pbdJwJcxj>zxWr zaI*s{OF7dXX^Q1dC{{Q>PHEHQ6Qpzt(rUB+PMc$|310o!!SY!*bvI8)I$?L*G7j(S zYL)AW%`6&Ymhgk-_GQ&P=|PL(U#I{Gk)Zs3r9Ijk%oq6oj{nnG2OnEY@rAhg)3_!* zB;c1HSCSVF7A3j{qKTh@fq$Zcvbg)&+uaaZhY*~fgDY;w73374M=24NWrIy8Lc zcD`_a&*KSek0GdDGRvG866tEt&SO0O;4gorN3n{xMr*lXAMWcDN3T+9UqIXH?vIuA zYsTE;w*2WGue7a2ToAD+$ zbTA?mVZB5xUXRD>fm5Ge%?j7E?Pt!l;`z1`tBS*{eMh{(s>e;l@U~Az%I=XHLZyuijFfNWcLX$qf@=G*`z8Y^&d2J4pr%nL37(Y;LYV zf35Hj_jEOwBiEsiklkExv=>J!AXiOd2m;>}*Yz<#;8A+;53fKuKzQ6|QZ}zF{`AkS zD;@WYSC@5Z&*1B)E52ELefQsh3!vjs2QcTa!sK6edfaMzfIk0-O-p{EC#qXr7kczM}(b%&I zl~`)$4JjB^z<_)STjIxc72aQz>gksH(0jsGd>|LK`P_8Vmu?FD#Iv}g01_(YPueuq zI#i2uxErS{;G8+Tko(WEj$R{C=T!Tl4?)$Yzk;%%% z7<*w@;xREAQ(>MIA|@JxwONF)K2<6_yX9XrAL*`SD`VXMiep|LmFN(*n+P#Ihmh2 zNF>Ae*m)b$3n*xNxnrd80G~v*%G*2Q`|(u}Nt!U^BZ21CCtWkX6W9;m6#twysx1xe zm-0CrygU+=z~OS5!gMVp*|@i~Q5)PEK{e{%?lX|ln)OOk{rYgAm=2uy*pFxdBhfBf zK`#Czmz*duw7LilE_mzM42AKmqo-1{lH+RhTQ}<7WMvRxAglo3umi}-9sWN2OP!(t z6>~TR?<$ZlNgaB3t1{Bx4CJdXAv>mLu4U96q|l?i3Se3y*wP*|?vo&-;~5ub6ynoo zI@o9=LpEDeHzRkCa{=w;XR0h8<;|EW6E}xbx__S-fA@cWgA2Yc2MIOle8kKu16!%q zMe;$DqFv`4QG}fOKQlb-(;c`rY*3S_HG)z=w$G$W6UQE%*LmEj6Khs{0j z)Sh{qU61*rG+q@o3_g9!6IKs$oSPi}{R81&?;F$PX0cZZ2VQSoXDFz1v=5K$mvIUA zcAncc!f(;>A1-Szf^+&hwhlU1-ja|OvZq3X#@fzVzXi>huf4nv0}CLDf~TTezX2y9+zQi_7%d40Smat{Ocm0|FYb-gsd4S}3`j10Bq9i|!iJD?mDhOq z`3D&7TFAL`Pw|6caP2%^g4$lr&hNpL0{BNSSDsJkeo${85bd!)FF0xs*epq_mgiB2 zRb2@Ok3F?qq3Pl!QtRgFxY~?qn7BX!4x!p?B<`x%eX z99aez5kvj+EZjEV3{SkCe|(SfM^(h)8XcQ{!Q7;DwR6cuLjS|tt^6~dzI971`(qR$ z%!947Us)qUAfvydn)v^QFnV-aRx znTqCSb7hANG8Y`oKs{F-^KV~#JyjK7UhpMrY%4Ls{;Ii{Y_aARe>=Pi0QLM|UB>@Q zTKiJ6NeS`WWd9o?*NYm#fM8I2ybDz+zY;a%CFyjjH|)sWcm5fF-jnooJ{71h2(CnVE2?~txY+d{;W8e}ND6KHWv+LZOCx=}e zG#VIs&js5JfBp^wLb>#$vc0U&q)9%`h`WwvD0X*m8t<>Hz5~DUE_Jkd8q_c7>-~N3 zL!PiQ7kK|(>SZj5L5rC+2(2DAkS{EfYWWs}uiT$N4g*ISgC~vwkRobbKXg{8uO91h z$nB(y_Dt#AX9s!>_O)~zQS%WbRC!d2gRA{It@Z z0LOa;bAJ*^eBkP4Jb1leU(<8%kzFpR^4FP-v$x~IrLahVfk*FG)dz3Y>iEJf$*&0> zzS>z^4B9h<`gr3Sp+x?`-+27xV-WpgE}r5Lyx>T*8FLFm0|Flk3f~kQ2R_ArT=6hl;S!-X3{MOCnyid`9aR9Rxh0zfuZxvV+! zHv>ViH5{KQd<-?(N)9Q4W#whAyQr=1H9k;|Ii};7fbR#++=8Ff#iRv z(`>EM!Gcm2O=>4Rb&jZ2USD_zdrS`&jtvtdd9wGw49VJ#C57?du%GSDaz_C z#-3QHm(%G)>V;@*IAkAVrB_Q&(?#(@NAXTj>&L~x>4S{XZhTH&@L-I7TZ%)9k&&zr z{YZD?MT&@v0E5IP(=a0%_yeDZWNm=yx3|x2Dnmz*gmQk6H?s%iF!f*)Zg5uufRhFO zfa@Kv&YRxEbHr>XK*-IKjmWTpD6zndP(-V!%?^4%&KTk`UbRcyCvRCqXHvgmgK;@@ z499_MqC4qVVNWR;B&f_RBjpX2TbUHYj^&-a;JTRp-Wi#rdClYMsi z7ss(2velCK<+5B_wTmFyO+T1r!9sx&rA38){JcVRxZ4jZVJNKXf+Pv4npFe^S!ZXk zGvj7T(<0!ejWU$&A1{fP3>s!NUMu)0DC;t2G%3RH2?O@t?M_)w&D=eGp1kMe)jogr ziDWzOO5xREuFcUwKarU5Vys&F467wvhOjo3^9OuClJR%`^W+;pFE6ssZ+!ol?|$SP zRCBOSY=1N;^p%CF%tW!!vd4s3Bb6EFgx$g^wS7&Ls$_TyUeh4+$G|6YBE zyVti&;wxtk|Jaq$@l%g%rTGoJu9Mul)0#z_XJOFboBz%a>7T=vStW~`)fv>Y(yw?- zSI*1-P?Dd<_c?l<-hD-YL+?dJ>5H!O)6s+Os+1W%#kJ=$uo@dUhPaR`7}H}ZfY23i zqHQS{*&W@Tl^$8)nT7WiA?D~`S*6j-r1nU-kR%J>TDyxizJhl0ikl;wuSWY&+Vv~x)UNkmAzfQjecOWot)~V&RZdYgva#Pt(5TNyJx0a}VW*U9uwk465YHdL zn;?94ra`8s*m+~ri+%Dzwg)FRqe^t>rlq|(D&Iqd%&DMhi>6aI?rapf1mYqI6Ckr) z7{&P~f>mAmTzBXX{#^KAQF)i2oa4tx=Ozav^Zg@QKl>wCIM0i|Bc6G5L9yjwQo(b< zL1ej&40*{<`Ru;6g*wc8wDs)l%R|}KIui|9PIJF0)Y5Ml{_!F;+`9+(Zb;)WI(72T zp!*FprR+O(yvh9-R7twe6^XRK?*(FrJOMe{G*9P4ev0t0IAMJQ+)lhgqbTfMH1-pY@qv70Injr zsb9&v(lF6}SDBhP;ooV>a4`L+eU4m*m4ISBH{!lo~*I zvcpvY`WoO{Uri8}?@97DBb2^tv1dRvEhjOk@q27eTx@6eCmC`_b$E7JN{5Db-`eGs zk7y1u%V$nbkX8UuAx?F{6p%=MiAup}X`Cb0l-Hh1P ztA=(_`k^m5ViSS+9e&3fk-xCJMzpkP>sqZe8W!A3zv(UT%#gD>QSP zvmQT1%;?cUjN~>vz2LQU{n^zXhDPemC(d#1#f{`g@#LRt0YW|DADs4&u9&W}@NSE( zRI{zgfwK>Lm>EyI%nW|>$x59n`F7)&@{e!I*P7LPArI7W9$xPmau=QCAn&#*)WMj^ zycLN6*ZCtBCl(MQ4G=dohfFiCdeYlnHaZI=E}Y`1IeD-+_vk;#n#z$H&GA=wSedif zLv1~JGFok0f0MsD^=bOCJmvmb-#vQKbIup`?bSp;QB`u*LwWaZ0}K279^tc~&xBS3 zkO~ak{rLZ(NB|gLq~q5H2eeMA(m?_@%>b*eN02(WaNa$l!oh-ys5INOe2uO3C^}L+xJ`KESCBB zH6>%urSlz8b2`EbqaE8ij%pY~p^F7qh6Q;m!xUmWl~>;gFVZ<@4d`?@V=3x{q%)Y) z{_{kSNFZr&Sg~KW=;WO#o6~O&(dVMv$`9kEqCV0fFp8xdnAQ;-?p+aX1#y$nKlq@; zcpJ%t{&r{N!h}3AsQ0G84_G*#GDtOQa5~WKWCq8U%YLXth2`5z`a2w zmfpm!n`Yl-?OCy=0W^~e({ru@Ugt79(2Msp;Ue9tsHv=BAvw!JO7}g$GJb>Yu|co zy?%_RAZwzbB%vTr`_U0wLMhion^Z!joMOd3AD-eSaYE7U*cPJ!$=OIo16R%%-mgkv zmrlkh2~ASz0_?mX8BKpQ$wsI@fA4P29#*d->6*Mxyl!?;82tD)yMsP+d;iyq;ku1O zV9IlFwaG{QG#2OYzEPW>L4wIbS9jcsAy=s^jrvQ3`LBk_GhW9H6vEsu&+M#mOWr4GCmux@)pCV15G#WY-N<0m)uYRTVPC2vG5b7 z0g^Pl7kCOj`3n!dh{?p%j;tA{zXJ~f0~$>9bDmJQxar0i=Q_ zt!t7X!zL!Ef`y?m!Y=g{juUgn9JJQp!RJ;c9|{iPiU<)utAMr%(ka0CKR*9r`$f=r zqW>%BUerwc^8JSzi_)Q0D}Pr8a$szNwHoyYnq(^@O=tcya+p2nG<&-FEOfU-vg;*tjK`jnJajt8AghU)G71oLTkZ)q5Knx83jKNYXX z%d`YF*3G(k%a-BvH9(rqLcKeaes2@4;bu=2EFep*kYVbLblhV4I!n3YT8QP_tdI%M zqy8i0_*&N*si)4I-_NUn9LJ~Ueg4VtRSLnL35h#J+G3m5mU?R-0Q-P~pxa{kRK+a$ z=+c{!)yC7m3}!c(fdtv|=n4;6qs_}x8!P;;d#+ zuKuUjdwaEr5NM! zTF>!1WGGA>>f%{XxF^-$r;#sO$QPK0S>P3#W-`Z?oY~A3KrA2gtNui!s`=?kT<|8g z$BO}i>V~8SsMtxj+Se6Yi$l7lqP&*^+4ZL#WQaF$2=I^zV&lH*MQcBXPm5?VNJ8q~ zJ@@KigZqISDJSS8MQ*cz4Xisfh=gF2fy!P~=aXOX+aRkQ6|$6s7^K`Y{$Ig1zGt`nTBrz;`Nj~RCCN7urqb9|Z z4`&q~jeXlWP3%%qI5^6L@FTwaRu7760(8m~&@`+cZ<2P*&({Cu!g)-qsdDk!9wPy?<)@c6A7TIs17 zD;2BKSf$jmf~@yojpzxDyr9wv^5rVwIJV}9sdDccQ*4>p5yjmsHH)RPA~F$y_%)`- zy;Fj`>$GKZhV?5a7=?ZO=WrEUao4F@M{MFNkTkjl zs$*NNXQ2(0fXiCOoBcUJ0khZP>h=*_Q=UZQM3_8DFC8DvzO0YrHwTO<+O}k74wv9qh1S4-0_heRQbnqa;2DE8A#(*#F|dqyk}BxB6en8yVJ3!rCn_phHl;KMDx;0% zeEAiv*X2y~=Sr^LxuoMflMBkZQk}1E9=MF?*CW$_k8W)hyzfT8I3Oy3EQ~RG^Dx*Y z%Q<>ZFP!l8vnJ=~vc>OLly^I%o2(z=yBguVnu7uEbjyOeFpQQJCFJ*;j8lxkFaOfz@41VYrG+}p>WOpR z<-uRIpr^(6`s`%wOtV6ucKANOew<{efg>foqkk9RA0L*$>Mw**e`xZHo%(=IuGx9| zJI7s`zF~K3LP;n2Yww=NGa)zDD-a^w->3gqb^AX>xUUcZv;$4ie~+KcAr{#nfQhQ4 zgoIR3?aBbDWuv~Mt2!TxWV|1LsR}UBfOjBXB$v8aC|qt%H3N8cG)Y7ySXi@>~*CrQ$IGA5|6>*n)jZ5;{IHJl$prb_B*df^;jNI?Nl!gfpDT#phSVLd61+ z90xSp(;U{&Mj+pxnO#HUnFS?Zh#+ko&cMU9=J-+@VNAGS77dNMp zj-yQmN+Rt(EiBIJ$>Azs4(vK9_Fti4uDbjCqjv?v9sU3k2h@Mc8AlWMHP41VFPpoM zwwJ)RmU^M<(927no!qkAt(vsFsUcn!VYU+*9-2Bbn-3V$)*uL`|@(kCw)`9*9g7f*k=0yyKgMvUAhKLV+Cd;+9bIRwwiG%z-UQF3(Lv z?wP4Zy%TAeqDxnXcW1}&Nfl7WP*Yg?G;-t{a~9+r{n`*z6=EdBww;v(ak|kDGOhOL zK?;r{bgdL5^dPHR0d%AdG%pD(DPES}kWl;PIowD{In7bxF}{Lq!#;nN=iyb!!Ba1S zhH@@3P2Ks2!|dXXp91!L5@Vybktw;{pe`W<>lh$0%Df=0(6SUKT04N#JBlBQ(L)Tx z0u1S+Kl8uWH)ySkwZI)v!FNmg{jIy43aAafv!Oc*(sw6MlHa`DI6N!0siUvWO-Yi!GkUz&Oe@dKZy!6ix2?wOhyJo4CbCK@)y1I z{Ts~jjyJ9E0xaWx01QPD*_Fdcs=&lJSIxAnnyOebB*rhba~1n$)`?XMi89IP;9EMo z6^b%q5ix*5^8viw1&EWxIy?#5cCDHw>XrVyWJjkDf?iO_cZ0br z_X3F$DB^D5mV^xEg>-2Mpk|i%{g7J{^XLkNN=7&JO^nEj9QKGVIKO8HNp!79c5?N+ zw{23tq8yHAjf&>%1BJGqsAM==VY`Tlo9zt<&XR_;6e^GkXTX%+5bJrexgvbg26YgM zIjNVH>1MF>wuZG@>av>T3OPr{39jhGd&C~~)duOYD|Gq{N6#tHtk5%>bVoNHxwl93 zrb^EqJvLL$UA8$-`_j%JQCx|2(B6KHcN7hFW~WRiVk?`myQeQ>+II)x-A$=O_i`%dp(ooUCT> z8sgS8pc2Kyw*TV4&AY4iS}yxw6XieWE8XCY7O!7EZ0IYR;~S(u^LCeAyL%&)@XC6A zt|=Kj&wiqf05`2~^HMk6F>;l<&M?4WvB@Pw*OHDL;?wBG%HSe8%mbzdm*4q%rEwq~@S`!8hay-_EuA-=pnW<0Z>%U@g&yi{_H=6MPZ%YPG?k0*IifJ&P0w0@UqrpiNI_KDk;<@3A< zchlrvtjTPmD$t!i)guWd(upuegb7axz5D1Pw=ZTQ>o!;lW$Wh76=nG@r0>lYbm`A# z9GxQ6ejluJ*&j!vyWeH^4nA6sp4>@Hg{G~*2U4&Q$(c!l`|=yyR~}eY-gw`hPrdmO z59Hsr46*tSI5)aIs!bASc%DrfBc$36$O(@?qkL;3!udu%T6Wb`@E^->&n_|s??)wm zVdD>H>DMg$xwVs*4(0+r$h-+w7zK+V!B*Bgfvsd%+ObDS-4+L6qYB#AZPteZ>Hnsi zae=hWaT8x4n}`41_+QQjfqKCRfu0~iCRv=Gfs^iR_n*mCTm1ROo`2lfgBe<3g@U6v zh7i0J7d%8!P-W%r6VH3mNMYF(fD|3`(b*GqAs-&v$M5N2lm}UlSqOU9EL|t+jajL!i?Ht9P6Ey97bJKECoR=4)@d?c@62KBySPR` zRo6)p5u+ukwp>jgy3<)7O89=(D7ONH#rKQ>DEzdg4K7#EN8M~tz89#XJ>|FqICI`F zYkTP`=yN)t9Lu_$dGO*THZwL5GAb)83bV};%t_Tvj=BMvgw<)%)q@u?i6dEn#YM=J zZc-hps6s%zKqrSuH`9FQ*QHnV*G+iKBTH}tzu+V#Q-#uH%pMFZ_>E|c-4qF|6Kymu z3~Rhr8|BXm(r6$aTwTz*53(~AP%3E7=DRTxjo6aO+O;v58dskH>oSkLbT4v5*>--0$#8?GJAfhZ+vpwRsJHD~Vj5`(;M1eE z@(I9_^@rx05R&8W;eq+euf9`beYuek?fS*MC}JY%LxuX;AFzK6=WODf*+zq*c%ib< zpuXZIjd%-g$rjmThAZ8CKyfw3@Ka%(J&#M7){SMS_wZry%2^LS{E-4y^J$DdR?MxC<4sRcp?_)!xmf#{_Mkuq|&OYYImWp zDcngM5AEOP(F4-xG>ZdL%~Q`C(2t&Vx_bX!6s)PZ^yoYd1f*)`MtA7N7DV!>nkSi{A+Nce5Lc-n*<;lkQ+6 zToiz99#*vA4KM-8Dw|c-IEF% zsGw{y#T$t@&Ui8^(Cu_+3Fm*8wOF$Fp?1V;Yt{4ZBul&NtKuh!$p?;a&olE4rWnK3#%?dnei+^ zFlf?J|4?p#(REv~o4=&^G-A#3j(oZDF5I!OZ!}P0bKZB1P>%_q^^X5%Ec`18gu5dpmipI@z1?r>`NDnIya@u8!wmVbg@U0gUdLTT2A*PoPXTCOB18wOoH z`?77$k3}sLe!Tmpz;`BSx9gI^^hZD1UOkd$SbSP&%I|Xhv%xNo@71BiyB|#ZTkfwZ ziO2%VhYtSMPMocLdtPk#!KJrOcW-|acVt|qe%7v7 z-mNRUGvNM?>+{drsF^>SC%R3l#Lc#Jym7*g8zWsl45?+FTora>2?Pj|W>(8!`qJ+HtWpBsrW%ag+x|>3 z#{AROJ}Gk>zI>}#i@*(QA|}~)G%ivA9h1{Gq&7UhmL{Anef3Vuac1=f@VxxA`{5s6 z<&O@W2hKXkwBm$Uo`YA|{?;ev z9t^)}t19rlfIY4xR&a5>aq|O(xywpL;=XWlXM7HRiR;hc=tZIAvfwiP?vbFOQ|wiVE9S=S|Fu;&hhOTv z;B}1&fA;tsn{)i`n+dhb+T&Woekn{lG-1ozSKiyZdRB9E6$Kx*hua9 zNnZ`#^Y=0{IeE`?<-qS9ze70IGY!8T+J5WRCjA--M7H` zZ|xm8q4~#EDl;^^ou(ADtd*PUBy%`UtH(nwxqgAv+b_~_wVZ%v_cP%^T(QVZ-BoM6 z>TG0V;|!%9E5~MDP%@s8{!pIB=R)M1-eXD3qd}foGc^QFg_qZ}L$9_;?DlPBe=e@* zoh9=_?biE{GNoyq3t~)bLZ#$Dpy#d(qTrg`Pz zZ9gK`-@LhH*9NnvFW2~_t@#w?zj*@RVg9KPbyk%AbgMSZGgw@g^>cQ@{oJd|mBbt_ zE&*j0aXV(^E@=~G`-9-`A~PNc70fv{6u8@9f5(ScYqECr1oM_|(VTOI^R)S}KuP}0 zx@n6>`m+*W``vu}cBt&vzST856YUCvBn|q0Yzbo~H!<4J#oi67a4L+OVDwgDE$d^< z{ z*)cS~@u>TT6EYB%$)U%$bqS*`yMR0Y3QzCUnZ|+dm^UQVsH2#+3nYUe7!3B?stgg zf>F)hi|!hO0%3>h9koAp4A}KQ?Uac7dPpO2BM1e|-8(??|%Bhd12(5{JnZo?+#dsV_vG4y+b?Gu$*8yY6e zf3QHPeqqR)yQTr3dMcJ26?n{yvvD)g`|TpfvpiW|J8{;W^E@ld9ooa@IT`a?Pmg+0 z!$>byI$FEL;W$6?E*ngKbu~vbFrsUOlc^`xYBF?mE6;%1p`&W+8_vAhF|MFkX89-H+|j$tYdS8i z6=t){B_e8F!HA#lP0QjtdGJOq=Tvsoz(Bd}$S1j`wE@{15*GG`hR!>9Ril{lyPaKwwBI5#vc zJLER4&%5>1fscZRo}BRd63sjq`slrtmx!xT^;2Blzh51{7dS*E0ALEoPTqW$7V)h)yI}QIwoIjBjS%<+~9HWX-??% zr$yBtO9j>2ZqNJqy5`E6?HZh|PmW%K-^ISw7<`y9mWXpMK6)J96X?ZZ@VV^LjXfSDw|u$vs;m3< z*@)WOJv;XHx28u+`0Iy9%OVPIZam?%YPa)OImc{nzpZcR!7XnNeK4H5!aU&P0~vGs zWNQxZDWyZD^Sfjg9C>bbS}A(c7Y74zH*U1t_?jZ+1MAZr1x)$E$|lbJI$?q9u0V6K zZ2~SlQw6gkUF+5+a(>~ORK-62!iU74W9;Y6E-e6MkIoLfl><~xy^J(vGnnT{s zR{}ppmb+Fj{uVUV$=x)lYW?9US_5F4cDwtsHNowH9w!xEEY=MkG-`R1$Gbdu_aiB* zj48<`jdfpi)>)-}9<*wlqW5TtuUluf^30K|da_+!5o>}M%84yz+JBW7+49vSYfyOu zqhD+&Zj)X9U=Q|hmJFn&Rw5;nJ|44b`uJ$OY?l{?p1*`$s(OmO$3l4VUL_(fo16 zZ;4K6d!fDihSz7~_sbm!&##Q|Ube~Q$Zub*XUFvqb}crP_Ib4Z$(i$gd%c~!IMY_2 zeEL2yb;MX|aCFY}@pnTXpMI}onKMQ9TZ+?^_M*e0h6THS_$oRVD>?tFyZ7Xsi(ye) z=w!A<(11t#MnAUl+s~YbU)_bZ0&fRAeVASmDR(=tU0G^T%53wGXH33|E_fsU^sTg} z*1To&dYeBxev2sieA)HfgP9Xno^pRZx!ZxW$|~>So3*-bciUdyy7TkCsb{^vcVf&; zfmnx?C5`bsrvhg0iGDakZ+A(Uz?)g@FJBVInSPR45HLwWz|k;JeDTRG8@I+iuj4LT;TzCA08+frI@D4KGzd~7H1i-6zQ;`}PiE`h7s zeIffN)^LM%jCcP-8QwB!d0Y0}<5|b;)N`6Xtk3EFvnk@s=!fRZ<0|_u7n)@yTDklz z-o3DIw&-w+-W7#tH`$zbk_7_~{9AXW2fuJjsJ!-FY}dr!2M@J}83vZV{jlrjT#qkL ze?`FmZ2in9j~!wCaR=)g_qnY+&*@Nz+m#q@P+-`3rLAM+?WPLH5&M=YIem&YJI76# zp6z;8uWZgc9?j5e!psx$VpWIFJvzD2`nPpOgHu|&z8GE^cv_ zSg$Joe2t;@gr*PfbDiQI&f4wa@#V{vl?Q$d>btK4Cl)1ETBuE4dSK8mQR^;`yNT-} zPT1Ak0x_X3368SIpP3GL%LQp`9^(y_ihk+KDGpa@)fH=UP50!?781w`4zl647qDfR zsS9(vdBKXe_0dB~Pi|`&<^Sv*6t~~~X*5;$NOI&*QTOu7eGLWn4O6$NJI;_3KfR3; zuH$#``s|A8ffYR=b&5%nHx)tQGMkFqr{$f}f+PA*)@j{~vAE&Uy2C#Hz0%9o)>g(3 zuioP9GV+Z}HH&@%_D^}bDpM>pM|`|%+N+6opB(@FQP|9ZHL$56)uD9yHqXk9^OqEs zFW*pQxiC?8N8_!Ps{OlHU0iYIqRODr_9GjX#d#$iORWmq6vX44D=xiz{8AfQ9(DgD8xqqf;|qVPy}?Y5`$iu9E7IhOGg$|84ay}xv1(~vq?GCS(c z#=6R~psI=Ca^gp#Chv+hJ0{X@;`8m{gLQ^nr}&`2%okBFFUx=L^#i*Pimm<_Gw(r9 zvP!r8teo?kwzM8`e9xUSU1Lt_xi9SOw5e&2o09N$ zEb!@k2A@srr0zut`8RtT%#&hYSKgY;lqrg2T#u;}<$3f&dFr*LA2r{-sCm1^@ri5B z_@enwd|PK-Z@gdS*tf*;VccNVj3svLSqV2vr!hD9TCN?~DDp*C`pKK7X*Ud-S|8jW zT~O<5)bVC|pi@e!-HI2@x2^7RuJ+bc_v)v$^acNTT>N&Oi&^41Gi&i^!Fl}0c1&{T z$#tK+rgl;JKH+pQyp#DN|GDXA>B8}D1@A8wloxgcsJm?(WDU9+KfJJQk%GN=(fYVB z_t?{xJwH}W*Sr)vI8|fH&HKyO@Gf7eDcZf$;j`_gn^M|eob_hjyjh=~(zf=gC8urv zr}dLYf^^sV;$ktChMcxM_vzx?ArOYKf}@D%=R;zMOM$-re!mO z_nMN2^6|u3!&S4G4>X<*Uw1wE2-xR-1_s(3=P)0|d% zYEF^!(i3G-I^I`2drEF+ePCCu-u^w}N6`fIzdWt-R|Bbs|U*QDh32!Ip8Aa6m+WqBo;Fpf453Wai39fuxGorV$ zd-%uQ-<%KroU2_15hF&<5kEd8?wB(<(R}iurw37u)-q|2O@ex1V`XzY&*1~l zn70)7<{MXk6fy0&;oMiutT1$(9&=WUH^@MDkH)ePcYltd#*C{=_FP+gPh{(ns)9VB z2Hmw+l2*@N5On|A_L$s<6W7FhK1h@`d7{2=*fME#`TN5{q< zfi(ji#*O=eQXW=L^A5dZReNurI#(n^a*yQpJz+1arl;Igd2fHdV#KCxzUE22)_d^< zvV+$n4Xw{^n%9|gbk;aMAp!MlwMG{=vnsCbWZ|cLs~r68-iZZ|li4u9Z~RO@Wbz7~ z!|FRM?min#8(6xWDa%owHuNL`ZLZeUT@-_Vp+`qi?U1Eqpit+c2dRHtnvKMU!>hv{ zzF9aa@aXXEuX7AEB_@PlTUf)Bc{_da$%_$9URtJ>hw>MO>2~@yPJ8uc+aV|RA@v2J z>JMx4uRbo_syeM->+;o@wwun`i@r-%G;Q8^DYnm@;}vl}`LkQl=Cho)9?T;$mkiQE z7OZ^qC0k+V`anPDy3bP%@%f2gNLs5|y4QK)^}?ri>3*CIg2G{U&xF5iSTfYpbyepZ z|I3Xt&hKBpb=#`*-wYg;SG4GH;(Q&Ij0&rNEV4{^A$H(wx2;pWNccz!bK%hwnHMVR zzbaQt_jmky#PEG}z<7GP=hG`MI5KYpEq<8!z`w}eH}%X9RUPp+%R~=5^0f0#QrobO zr{AUR(j3h$4}qimS<-!9+`p;DvVNYL5NfjN$CggZd178)b~N#w{9^7hpglfCI5Q*o zcvP%Fn#$hTtbkv)Oivv+)gzzncP*p6-}_F)hIchpKJt3xTRG>tn^mu7seR*b=Ip?B z!|E=jUtZ6D@=K*N_%z`ELShriBbCne6BgO`^qMDp$31OPu8QD(S537o)fZ^<*`-XlG@`?qQ>Ydd5Q`@=kc4S2w>>ZMn4`^6JJ4!re6>(g=!v*$ z6pyZ-`^Ay1O`PDv_Uq5f{EXi2%3p2Nv~=yzNA9IXSHwt*xIwY6OI#THp7yLkEo!3? zX19&lIl>@oxu}V#sA}6ED>d6uyA6$;!28c`j8s-MudiL&40sRb-8dfRXvTk1=;KYV zePe@+hPzL2o8pa!X|TQHaGcp9rqxFp3r;uxIy!Za-9&l*pDLS5ENf0IeXJ>Xa?-7n zCmWw|UzhH^ad8_vZ0#FkzQ-xI)>idDcE9U-sdV^Y&~&AH%|k6CjiY-x8*^-gpULZ- zS?PV;jLrMM{~}CXn1T8&0;mgCq6{$+bKAq7oqt4^$)#H~2!2`q^NG4a?lWulNNh~< z-D|&7?&$e=gkQdK?fVvqz|*@-cFcI|F*@jBWB2Lfx}{`L(144v`xT-DpSqkt{}*Me zF-MrIC1}=`YJRupPxSt&3bOl8Nod_oOEI2jn6tI3!(zFfPE5)q%|DXjxXr#G)Ws>j;MQrZvG8Nf znd#G=k4%`-{CLLkktJcBiX5GYq%#$MXP!vh`4JfmB#u9^9vs$n{x z+<&Ighj)JX%RCf1+{euTubD;qiXtiu22)j*hjH&9^A&@sCC~Fxm8);UVECM1yaM8K zC6fV5tVE6#{H+!!iIphwcC+djY3X(P%t^ef`61+D7>8g#hPNS1tw+y!1z@HMhDHdo zF$_h}1;a7~BQbo3U^<2~1tH{O=z(BAh8Ym1HlSvEP^JoovO*BDFMq+pi z!E_8+!Vq#XG(@l;!(9-jUPsMdLYXQUzD1CY;f!$*x?s2&!AK0#5lqLh8$m9DEE$nH z5FuHj$g+hX6@eoVTtna{1ic9GjIRT~5io#2NeY4x2n-P@gL!IZ zgLp(YQ`89*BYKCTI-m_w)|8%FP%W0LC}iJ5YOMj{XJD~Y6txE0hz?WK6xbrF_m~uR z0s)AIQgk(lNAx~LSAb$fr}mP<%Rw8W@J|tAMQ{b9h}KecDG*PF@=Wfl1yQDXib9@! zW3RA<`9c{KH39*Mey6A%h(~lmKPkKc6eAi-QB%-{=nzHMgHc3h50JvJrzwygqUd9w zjc6}LKLcAxg|9pzg;kiK&ACuUxcDjIMoch@c-u3=gP0&-2UA8!Y>;p_kZ}@rXWxrj z(5wV!|HTl=-v$O?zL4Drp}K&13Krvz)`B_8C5pnIK9c;s@O3VQGOQ0@YJvEQyvIPr zC!04-;f@}2lH~eeK0JVI{FA|Wy^pU#TkOIcCa_tNEhuy;h&)bA%W$<|PN_ILrKE`o zOg`tx(LXeRR(Q5h+Pg|Urg%l=#0#NJR)UQrhz~67L{H>Fv}@k{zh#yt^qUBROKRnE zfcvIgNMs*BezQLhOn~dOa!KIv^}Gc5I3xECYNw)hX6{MSqAM%66TJIYJ`bc$&yB<{ z(cT4L^53keo}9LLt{`xU&AtG(jw@CHH@6jPfkE3mu?orh?5hI6O(#!Him5B71%C;G z$>JADp6K{!ml!{T1zOjat1%toi)Dr4b;-~z1p&xOyrifR$f&E46P!;TIuQTjOVP#H zzwlm%G;PFRhdD`zsYeQK1LDx;Svq>P;MaI)9%)p*BXKKz6kSc+ik?2HWrW=dD@MN- zh$5T6P312m4rTHJQfwh{DBct`CJyBsMLn@Y5gMfEa$t)*!peoDt_5~0Ldg_e0^-rr zXB347far`xq%br9L=RHbia3`$6kSN1i}d2LmbH9ni1zRN>OO)sIaa9 zsq2iL3oF{778EETb*J*3z$hv<&5#r`BhDp~q6>&~X`tvv;#_`F)QUKlbw;G_QsP{) zDGFB#0CGAL z%}C)DARbXqin2j5q7@Xi0BwkVp(tFI5H&Igm0 zPLQ&qmi%A$BJx`tn>QQ(gzn|A!2h@xmTI>E_+wB$z2Y^i*q#TRh$s~UE|Gb2PT6J) zvh4nd1E%FgDIjZ`9X=cS0xvO!7;Zcxn}F z%WNNlfE@<$vp?bp+o1fWSe$$`_*u5X%-j(pUf_DQLOEffNpQjw85MBMI$Lli z7x_;35u?)AlOzbIhU=0E;f_oOh>yrKP}sKF-Pyx0&{>=+&}xXwGqQLkfcUCBRgk|d zJDC>r9h*G00In;tmnNjkN&$V-@=0g`&=SfxN_ugD^g?N}d_v@8Iou1$ObzMa)}G%L z6)Fg6p!G}+xV$Tp&_f{_^RMlc=2as;^uvPNa= z$qr+dTs_%gY=HppFft*)JB-H=;2nnC#Co#BSPg+8+AG9Cun~dV5JVurD-YX2zzBkC z2!uk=i$EC!zY%x`ffCvx%v6BwAm9PPMg%e-h(MqRf>Z=#C&6|QSOq~Z1VXWs>aj8< zl2GavMcai)DCMF^9#0h_q13!-gu_3nghQ#dT7;JYEtf)B;gE%dnhOD27#a!BHY0ow zERHz*T~z!w6(JCh_(uoAw+n(|#HCybw_=gd>Vjzf|LjsWpb+BjvpU?wRuV$Ycuwdl zvPU^iQ9BYtJfrAV97C}52kSty9PD-aAgQ$pM-W0EDQZc!C-yJMQ!5fjq*HVqi6e$7 z3d35o<5=>N6gDB-lhYJ+Bhf?;MQunlVf2a=-b|v2qZEZ(1{4B(r06CRO{^Otg;$VG zO7&13@Rf(cj~gCq1jP}o^}}_b0Oi+G`JN<#5Pv-;m^fPALn*qAY)`II)P_V58gEEp zeG);0P}GV<5JeP)ql%jPK~a0WJrP7R$UkU%fgAGi0<`2TZ@c?aPAxggq{|fi$h|4mG#k_~*5udb9JXJK_$ML4$2KoRBK7}g^D@bntPyN%Xbi?jX9*HrpbfyUr8Rd8jc|quS-aTGH14Z~%*pT@#HB&NeOkE~__!VZc;^n6 zmC56C8ujGJm z1kOO9YMiIY>V=>h@)gMcptzYr*ZKv5EvfxrNPIdZTa z1biU~N1yq1rMA!}j{t)~^;1UFiQV{%rzyJXbRDiKls9OmtEWvTf=g7|3 zE|w24SLPY~@1|N&jD&Avdg;#PCwe(Pgomgq429r!S6mHlclANG98(vr7_6QCvcMZ; zD+=ZN%i?15$XZcoD~#z(yjJi&g*2@hZ7^A)tAxQYtidvZU|b>uJ`l`AAO!*|2!t9} zk=k>~s_>1Xv&rsq=4xS(hl)9_CdD+#dT@}UI%GX4r|2BA9=xI{S`S#VcJN(Eun}`R z(#UMGuiQ>iO|q{{r>HjGSF&1QtwvOfv1aVmqiA)}r08tCqhxJd1ABBD7CTJk&mk+p zWx7@X^7Sw1r}2o&*poK3$Vy;FQP?~9loezT#|^c4mdc0yLSDX&rrMCQ{=i~ZXJE0} z4y3g?WEZ)fqB_L;$50gZ3)QN2fc-+XM(AS5@3SU3!Z}KY`70gAT0=WWp>UdFkDo_T zIELtHCq?ICkI&+Fg7bwM(RUhaqzx8hdBFT(lz)QG$6mgUrrOBqzoV%wq%5Vi!oWKP z*0NqZHeB(jSSUs3kv(HB{j?1|?WL$D-ZQd9*TH_J!bS|%kw$dLZqb{faK6y?FclW_ zhQ(M-5a44de8Tj2DzOy{a>4{cB`>(k+EE*xRj$5UHmlgXZribWJ2Zhb*K<0|1wt0l zWSe&^L3OHR!Zzi33HmZpAkwQ`ipSU~tqSfil<<~->5ET`St?6;fsZsicZsv)#fB6N zT+t~qV+EmJAPUi7TSB*h3`G0w#-7$9y3~=-tzZDr;&p`j0Om1BCpr_l9jGFDU=yMK zz!=eQn+f#=u84Yij?pMYJGK!D-;1cZKcQPeEu#6`3H1a6kg}w9@`Bm2urJ}EBp<#p z9u|8YPN*L+M$|cqP%q$$X!AZow}B``^`pn0W+0k%m{1>3i>T<)F*<muyxMA%isVv_FzR1;val1qdJ0%Js#D+%2WToH}GLTC_(f|SKu!wc@BMndXH zz9*Wb*AQ9}Jd z6r?PhPq3#7u%|U&Nj~f;DmLpUp@HPE_~ai#q2j{BVj%$*S;mZjDx|_e{DekRN5-W> ze8g7aL4zDi>V-JaUX!N|PHwrVPY#I7M2Y!2rUlHH$6Qd+pprYt#4(hlW)9i@M^bB^ z2txz7uFO-HtldP#UDy~IjLS-b|8poL%rqm96PalPwYJPu$*~g?Cs*_YKwucPPO5I1202MsLd!=%&=Ur@#lFhfA@620}p%0PJMetL|#WN zT8~OI$1@m$ER`v}zc+6i=-DTzCReH5nmbDB% zDT_tzI~)~}sU<}nCR6P%(o*k9^sMl^nth(1GbYc3?|KjGYGquL^rZOXL_TJc<7ZqW zN{_`-W6GYxZ-BiNjRkC-I$Cg*UWQba@$BA-rPn zAFtRfbP|4bf`|%m8Oo8N4(|2y{Hep4t-#hfTT^HyHKmUDP=+;mJU?g?E>Xe8%)C#PBP{E3|CS-VRBt>rbc6|JlD zjx#6x?_r<&DhUvsihYQ3P>Nzi{DwALh|7C0zsfHwDcA4Vpj=9TG3T~rZkV61c-Ob z+sg8b7yLT{u3@FFtbBVcLV655QT%9!aghteA~qPSye@(#kQ)&`U zM9LP&0K3OIO2B4Qww#c>Ib}W|U{m%cR$7uE=%K;pkt-vNETM)!;uM-442IX?6KG!_LhCNAMhB`~7 z4)4b73r-{ti28G0N{Bu71QhSeRt1q#7x>XNi`@T4!VTX4-JvCiQad#K5?0VbYTCtC z=dI%T&$Ns9NRVmI55j|mPHR5~B1oO$`e2NwJuD1kJngS{Lj3=A+Mn&Frd^74B!ZfE zGmgYR^KKV_Wx(^E?1wR)_e)+F<9R=_3t>F(*1-_c^Uh_Z`|yK|pXax-Ry}f0(>`y? z#1mZsjf%-+y@s#V{(XKaaM_wS$UF2?dhCp|@E3&SjPtlNgyf9#E`sEYQ_w}4I^#5j zh&tnpK#+|OD=#DHg5gI5BQex;g)kjMF9f+5ouVNl|BV1~hRCc?$38(9;l#T9aKs zD@8YuUBINRq%b^RLxp$Iv<(ISSGG#y-LKFuI$s=x_eP#$wX_k9qNy#S^)wAYl+SCd za6F`}rC!o_Z!C0(&Tm7-8fiL;=y>n3TH+{rUrAGKMB`~{i|Bodt|xa%(%VQ~a+kyk z*d`59M&Tt_4V4eS+<}g-57Fj_9Iu9a9TyIYTc4^r4`W54R?0SucAwF3F zFa3|;^%KBbvjGw&cDyEALzlGC)$^D}!u5Tk*k+4(K~z|w446|{p^?_!qt8?U?9p;~ zd+*<)4_Z%f1uOQi7MG7Kc)4Iy zs#ckE;|%+BQc_Y}x|Z?SIyVq1RdDl7FHp;Cv8S&;TK7pT zn@Y>sl}fOpLjl_Zeg+FK(dEb5D_9EO;GKZmRnzfyV;_L;QQF^aWWI_;B-UO?(uv>4 z>jr0i0;)&4wc)RU1eA0uaeC{f(vk)k2zNZ)Q^bCa>hF$YuR^c(NTSoRd@PAa4v}nC z7M3Ukl#!l|<`GFfF4OId)$2IxZy@|6p0qdM$~F}4P=r}sMy9JNNt*$Y^kP`%jjXEM zz}BE)7XN3B^+$OuLB_J{@*uK|%g1xGG_7q3A9Iha9aXJ5msH#IzOu=5RUJ^h(5J?~ zTMCYhZ(7?UNv0C#^^qHFR3>uh%UDp!K;qnCRFMH?B;tunVvz1sGA{g+e~FFS3uP3s z;q+*PF}Q3rPcIqQ=oC)~Y-cP*?Z+@O5m&dZWJI%@o6x7n$aD=Q_oo7)B(p{C3yhC_ z1p)+WWv4hSv$JqszH*h_QsbrOSXmVOu?(W}umh*RLdf zSa%A`bRi>?;@NaQn$ok;)Oy~M<@~2FSW$0y(tW}6+SNdF*gXbA{{ZHf zhZfOli3~zFr3SsTectKc1Q!Al|b} z9;h^T^K)Jqp;Gg`RvVMj33meKU9A*9cgQGUBW{;L zS%PR8F2}C8N|(p-W<+4iS^x1gv80b)Xd)(IEi!SU#BQBN#I`sZGJzAF7WGLE`gZJP zu`|j6;{Cl-S&=WErfJ(rGo$28)>0KS%NY1G$t3!Q{k%J5ijc=uiUn=Ouar1)5xmA| z%2u~X)BQz?^6T^!BG>LDtQb=kpCjYFJLjMLGBRI3i?9X`{p8~LtXo%s6-U3ThAxj? z&(BCaE>eRjC{+)Y8uTHW2d&0z9VNDHIT8E!34wqSp#~5?t8o@THgZd#`k+aMlOBH) z>u=|>5i*>xJf0@SB%&U3b`piR-AkufZRq?2qSr6u*l0LXy(uFecbF=FmTm{HJTEuW z?}4uZ%Qrj{m0eFsD>)Hn!Ox#HgIANcJq6l&&(x^pFRg9iWTrAFX#yJ+V9WN=`#fv} z0YyZa*2R%k!8(b37dgXqsdPT77ipbCl;0qWN-tqE*J#fplk%;EE{~PUAc!baOFSO@ zDeGHYY4bJSK#4t*x<3it_DAoKFsPk%NAAC#37hht?QA3h`XCRU_@kbU$=Hw3G{jv# zYi*|W2dxC_?Jr|{_HYBFYvE_Ho_M>Rr}L5B?+Gs@dZJkfQ~P0Cea#x;hW*R1BJByU zryIZmX>!;|K@9@V5Q7i!ruD~SBh|Hjc_QBQ;)a7BqtA%iW4~qxYF+OubJAmx)C`xh zxyGaj=fV|{Gk2!M6*48}y_vn|t*~QTTAQ0JQ=64u%?4u4-7>-ph^xMKg`1XkUX2+k zXX-*#ToX-NR7*XQ@LsqRWN==q@uR^J{sRU++*IZiC1N!``{)CAY)wRi7rut_nky2C zwHjv;D_(JdO2_gqVFgN_N7nb`d0f)ZP1ooYdmz}(SZV<^aL%Gkte8^F_DDenC7pYdGmwRkGg>^UrYctBg zQ&?J)Pw`?pA1#GNHN+8f|CB>f?F*LH{<(n_?fTK{xL|Qj6I}tt5vV~N!}R44BQ=Wu z8@g=F?hYv3X4N7Gm!? z5|iZ)zq^BX9z5xH!NBc@(i|t>J4j^4sWVe(k&#K?F}{so;cass&vlVcDV?HMqkOc) z75da;9T=3Z!K0k9w-tBcpxRyP`F*+_Y_rlw$!vrbqxRI#`r82ZWwg7h>@_m=phV6z zL^3fLWv|??bAx9B5G7FFO;q&s0g4}{^U*t$ zPLoL zJianw_qoKnPC61b*nZO{@n-cidG9vKTAN__sNkyP`=N%H3 zMUDsJ+Siphk(-;53YBJl*P_Q6H9w7c4?BgV)FL)+qVx(j_S30cIv@EzW@#f9zggo3 z4oU86Jj52szR^ynXn0XOV<{Sz!8dqEstzBd)6T(k8zr_yFcF(!Ffq)f=?@kgOj7BW zi|3B#a80p9ag~edfkqNLJSZjW_=@8sDB7D!+}4UrIv*L2_1*#;r3-srpwdcgJi51v z@Y)vgq?|5~!``hSB!1a_5*wSE&hE{$CpPn;BsTj>+}R;zH{UO{!@%~^18un6X^UN# z6}pi}hVU&g7QVAb&cv6hbB+pm^o!ygqwGqEm0|n-4QzLJ!Xu44^}L+>pReQUvlK+= z{vt)1>3fAVyDACKK*7Xw6wjgaQMtT{Wn@JfD8l_*Gr%PZq+5aexhK2kpZe7Hp)7^+ zg=IeU44L^+vhS=W{oOyQ--@&39&oL={*RTTS@w8xgvi36wk9fntsZ7EqKia~QK})V zME4DcZoA8g!{eSHtDt2D=>s?GpZsDHljfmK01RMM^R8gWpUqc_J?BTuTDk&W6Z3YH z$#hC2O5(JYo=a1Is&CnkNZ)EwyAp$}yFo_$?ODWe{sHkCP0Bp!@QVY%clO8xP!(j> z5tsKzXpvZMFUXiw|G(#dFqoLwAPSb{X!5VD@z!hgmmNstnJpOM%HtNsz7{eDQ9^XCE^l^DDxMb8orPvtJ-e8vobrMa;DEXB|N zlV3`nKPjNnYj|?n7nNb35&rQiT^~o6Pa=pboP7pss9N3Zzxx}r?UdB#&yrc%GXJev z?1=yn75+kvA1fW+-zafhzWl&qtk1QkT^m|LbS^$1%EWUCzdj|O7=!~)1D%gNa%z4n zo{T#e?_k$;`(hU!?AJV{v-HAezJrolkCNIxj&}-QWeqt-#i0v6 zLz#Ta?Is_~Fo>PTTn^7(WP_<{weT1neX1-?PRD$Eh)*&9yT8VI^gr7iG=Mxk6@uo{JJHgX|9R87Iv=1-|p?VW+LaeFLzBgNZ%M)Pi z^jn*m3%_1gtHjwfJe{_C)PvHKRV3_;NyOu-u|11U(Q_S`kLG9U_DjS&uP-73xYiPh zBg(1g4gYOtJ#{YDm`w5;x1niLgl7lvWPBGT>5~>Tk_^Uxn#6@=UOj+m)}$tYy_LT^ z5Z_X#$YH;1XQL9A^d)E$LcweM@J+I^OJx(M?@>Z=YQ=~7NdGcD>hQ?(1yob%U9y-Y zHPR_6R|m`E)hZws?;hfh7NPp;@WH9S`VvaXy*3-k#9(-t+zI(G?E|Ro`K`u}{7k`3 zVEnUNnX@mGjh=H;zSDYv9?#iKoim6g6Mb+!k4H6CG@tZ>&L^kI-j_=7D0^Qby-+_y z))tf^_jeYSA4}0r^Skgl%+=0{9--Zp$!@X_RYU@t2V-ud0( z1xjJmDXluHk_kb!x_{-0_$w z$m*abx;&cc9k4xol3A8Z`K+?gzoLgxqN`3t!^vQbCQLY`x~+hCTCAV?plw4PjD5eC zuu%cW^1rb!YF@YY9v+dWD~pNcbzQ}J@nj_#L6nbN?XIpSY>9KEZ{iu5Bi(^VzWXfk zKPW{bjmnRuSP#EkM)sh-bYNu$Ew*VmC3f9PVu=OCx96^6mJ&-$2en`8WzkU<61ds= z?;Rpm5h?1%ZR$ZRSdwJ|o#Oo|oqv`n{Nq$Sel43xNVr4)996!QY=dEWtl*D*iONks zjGwC|O<#v60vlumCGfoxBoq8w`1v#9e?@&HCwDyR9cU{r!)b}ei{-3^qqJ(^WoKm> z&Tq;~V57>B?j%w{DGq_@{37ftJQn5>Tk9nO-c&(yN*UqKrOS`i!$u_qaK2iT)E0Ey z0}l_njLbNc$R(D<^A^@O`gP5C2a504{S&<+nHUW_*f@nhP&9Sd>lw{ae&oEXy5uLza8rZOSKiI_QD-3)qY%H^X!MXVYBJa{!@WZ zH6727xZ71S7;Z;sKVue2_03k8=nq?Q*DKxitzF zlU5||GTNk?M2$%-iAIybQ2QgiQDyuM;u+CEdc>w_FVuo}wAO*SY*b>OnjG!Xk>e21 zcz{=)tp`i-fX!M$?q0VZtp6v!m8?KQckloX2z6mGOg$gbDT+i;J9w!SI!#tCt7>G? zYWuwp{tb#u_fT@{7$BJ#4Bz9T0{z9nm@^jkWA|zYGX6Bsr|hgV#`GGBO>$f{*_gCY zcU}(J_|2{@x&P#s<2C0*ADN+(eYM!<_$E~1a>=z^;-g@Fyua>?BC4??4fjAzX@?&@ z;!E~YlB-$~$$R;}I$RKW1&Swq_}^mzdBAOeM;d9){KmL{m)ZZ3U3|2HylWzLo9sp1 zCQqbffcbdm=~Y5x+ezIf@2tk6OfjLfF#QVM4&JTo3@2JQl7#F<-NR$Vla}3lA0_*Z zSYo?zrH35-E4l%b4?4#G#9i3OpO0XZK9Z^TQ(^q zYnKU!wq5i6RNpwuiG2I_2~LP+-6dDE*sVPQ;<7iCIW1kdQH^X}dPb1cn(JD~x%_B8 zma0yPoN1JeUi~Nk7S^6-t9q;*%~toZ7A=k@b|Ef%k1me`Vb~suPy~LEn@u(0ACZ4o ztOJzPY4?fLt42<|sXlz495kY8OJhOt$UP+vd!z>sw#P<2+I*1_FeM-2u~_MH35zxI zor~RtjZ4En`D9NcJ+l$J5$T!T*eKjXI_VS*18Qe1MdF7X!|{aru&vAAotWuCO6&zz zM3H*-Ju-9`8%VS5lxAu(;or~M*C@+5Q-LMcKP!q&0CfrvXb`mEka+2hWY{s*rh@u0tLzL{Pt4W`_CYmIHcMM~YA@*e^ zxeby4#?S7`%5inrsEGervRy|QdjoLb&rh9cXg-fl%_JLw=dswi#jHI?da`yukwDrN z1Waj|C}$Q!y>(atHN#-UY*>|$+)+wmKjh&x^v~GtXDSQpd$4hV^l<9y0>+1_s?QhU z2Mo<>n{hna-J~j>BZV~hUrR8RMQ2XPx{eeB2qwF~YkbH26W-Ubh-(Ng0;x1@=TUwAIDKZ$aRSN)TJ1M_PaYN@mh z2Q>T^x3IgJ8`nyg$8qBY%GXI1;$EwTN^xjMZW>ETZBLy|%a>Ft-&bzHTMIrMse!2J zZ7Q6}Br@z*dQC@H*cUldv5Md^;$SbICPO5cPNm0)x?ax3!kM_9!;aV7m7F$JZ@x%k zmT{Np^4M9q?!dx^wjRfxUd^_36D_n!93`~WC>iPti<;ktZRsUvws;drZkvUn0uou5q%RyPy(V4+hfZZA@z7>|S<+-{APN9*#iZXg-CuoF06t;uHh-<}?$1QvWj zdTRQ#SHZQa2&js}Q&1F?c?bg6z!&spq{xkrRw}G>)6NlNJ-C-dB1?|ZDPEajKI$Fc zl63M?7;E8K&&?xzFoUc)ON!`raAYIoMb@@g2e9;MAvR)65joR%O5QYSCKmYio7A#! zhbMsfyOuf+d;));sZE(_o{?Q2gfeKi^)! z6CIm`)evl&p6UR7FA<%o_wqDHeCUSx!Ph7)(ojmb6a{dYkZQDSnD;B1^#M`l|O@N3<7+w z%ltPY#w(v4bzuv~90f;P3&^4XDgH$I;Zu#yrzU3fbl{!(k4B;y?KwEWbvQuo9=5hq z-)^GwuM1o{Djr!u-FU8upfzpDDXMd`))Ker zwM!rn4E-MTJ}^PLMMTaRP~t9*B|>a?oMRbX zQAVy(u(B(psV49+mB+oDkL%l+N*aS=FK(1PlfYahJTRMY6O_H;Bppb}tS$B$+t|1Vg*PsFXy}827bP%=j zCj6G-*5|mxTGKz%$C_wBCL46(w<%dy;6+Q`tDa7Aj4Q65ZzI<(qNLX${%y@nUo-9*WnU_R>G9(Zksl+gQo4pyqI-!Eh5JMjuR zV6IzRN!3dr7V&)-ieKer&rsr>uqGy5&QTa$BhpEBR3rukqh*hjIW|A>pte5ar&R%k z=pSq9NcgxS0}oovqkKH5RV%1pGNALXVlB^*BzM4>k~i_7Zppk(r^qT$eXN3#2eCCs zea^w{t5vRu|2wG3l+-Jzh+*>9i$*VlDu~qhFiruCD%8mXtz(b)IPnEo^u@paerF9I zLl=|1pFi~axTnzT<1vI@AG;x#k3?~TULPAG^!jMNEuhm!&V8?GJ)Mq~A4`!hZBry) zx>WPH7e{YlO;RY)MVF9y=ADs}?@~`4LE)*z8*g-0T!+MtTwA$?9&xm8Y8Db>n!}rg zUq7XQO#Mt=vZei-PtIu;7FCfLt>_N+rh0t0=@cL3!gj_|yd?1BJ5%*f8oVcHv6rS& zV!KBWv0pC9Jol>K>Hm7i(+{xJP6B@~6Y;rOd?(pJB~kOATaO3%SkldZ@`>?z?QFqP zd+qGQdhn6+m`?Eq4Yo6uqEVYwN}>_9qe$pa&!eepVyOIB ziq`<2YnZF`So}RMSei~rT{4qMz0pUr@kC!4j{F5sHDL$!v|7svXF@g%)Yu5$QHiJAV*&nKZV?|H1_0=yN(jL#Kfelwx$zwN;G(EAw1 z_-hjCb)VSo^wpkO1||6Gi?|HKF8)oA*N+eIJO1yeK>h|8b>PZy^wWpfxCnPI9oArz zxkA3dI$#+^BH4RK=oB9S(D}(^_C*0%TRG(W0*p&(M3?X7<9R^s;H6u13ki=b_n}k{ zuD<^h8D~;rXZ=6!-aH7@0okfb*?jW%{AA|Tr*=!7^O{# zUJBk1_U0i!f25x&pZ#}V=NLhr=WSPJ7B%F#FzFt)Qbw`=<>f1Q^1@-1+LORcufatM z)-oYa_b)Uf%{F0Phl+Uj$3`X{)PG-y#2U~Gt-gV7#p^Ir0~)7LJij);GIDp8eQEQy zpIEYyHlyYa7{Yi3CxLYVlWjC;I)ewPVXsc2A{>v6#zp!n4oSqHbZS>v=tZpPL#aWo z-gT@c`!bmMk@^bVjoEe#N1v&*-Ekvo18@S~ER|w=!VnfEjn==r!u~|` z{w}slC8?RaA%3%;HH4& z96kUm)QUm*6;Fp?L76&>S)Rt*9GpQqvVW(p;I=wV;C^X39k;pZcsvAQ;5h@BA1Sfv z9ft57Gk-+2@)Vy$I>mDMeVlG?^k~OPzddNZfD@1LBA|fCFa%N!VV34rJ*IrXdW;Te zLUK2BG95K1A`#C;zB^g|uk^cE(`~Ls?4Q}(hUDa>=L2Sl3Si`uQ+^? z_#+<~6x)NnnC(a9nXPrt$e7#8bYz^eV{fiGWXJ(daCK456-xj0lrd)pP`{vg6!c#jS1i=-N}$e|QfIo4vKq~pcHj+`tiPMPx{ z9m;BVP9;(?0vk)I@E$UxuhQ$8A?gLd^SGM}Lrrs(o`E!{q6IygDcq)66xX$Rm}~2- zN#E-MBsh^`W|tN++NKGu*Y9K)QImK^D&CZx$vcu-FKVFo+J&+&0m-8Gpz+V@@hO9go81|QkMmEJenT*Gp>5GEzvh3=| z))Z>j4y2K-44ySc=FPfMJh_)cJ;_&tzgn{Szy|i{Zc_f7I9f{Z2y2#L0I7n%zKi|E zlrAV0Y0~9bRd1kn|2160su6@}_79{Z9!RivDyLKjF6 zd;6H>QT&c(Vt&)^HK{Fq(Epd?nJ+>A`CW!F1e`KZakBmKJ%O4>(4h&7J#d#n&EjY= z5@Sn`a%MX0D()P`b1f95%)tCP;c0tQxMq6>2t$+&>xc;O`CfwuO% zk5$8tF+$$;2Xp`%3%n=6qmzJ&pf&g|F&6UsghV0rjM`jm?tHA1Z@Rpvh_KtytOYy` zJgz+izRR&a>`&~He`BJ(*6_otSz%n&x$ac25;L&S~g72Ih_=Hoh)Nkw6h zB~}YCKl(zGeVA@d1U7DJHlaA)4^c#MdsiBN;i&r6jH?oZ*v$ZqE2v>d4Ib6kSo1I& z05WskN-))jvDh|oBC$X}yv|HVBUPt-T>c`NRCp8FINthr*OlFga%O(iz(oRZS1go( z8jO;K(02S8pc^nLrnsI%V5M~I-tE;bUm7vjf18wWISTG9##KS1Az>G|g$w3KBGw%p zsZ>0JnGW?LX9qqsKqno0=j*1|AeKM9DZ`(jTg`kPiBNhlZre80#ugj2aTPB|S(H#L z58uQE9T@z(>bFfh)-gym0do@Wli78p3D+;k2d5%+fO|6fJs|{_unk`4<4M3PlcLP@ zD@aAw`4Lzi{IE5!Jv1IYAOG_P^LbQr;6%5shjS!KDaID@;IdQ}j{hC$91Z1l4V*xP z`eS=vd<|wBZ%7$Bhr2n8>{FPx*RjkHbt%mB>$o%5y^7RgHb3RE?MJzgIN~LANCyd< zt~c}B;rj?{m&be(WfX_nlzNtWK0Z2hsQ}MDW9KhPY|PT4-*7VP8rDhiCG{h8MODQ6 zQ{*_YeS02W*s+?#_HFC_%lMs7Gf8@^3SCXSoO+*{JbI3nB$&&n{6W-Kzfk5tEs^s4 z2CG?6>1lia+4Y7-LuV+D$+mcG@odCvHVtj5xPqAJlxnKZMxtI^jh8!HMevT-3f4+y zeqFThI5TfGXTLwUJhNcmIR+y-rA zLxs!@n^x3lvLf-+PD5b_lMwninq#alE>e6X;I06p>4$A z=i$FMxi2NOcKwoJ+&}#cv2d#T4RcNvnP_U%IHsQRP8hp{n)}9jYX2BB9WS*hZoy7R z@>{6U+IR_WKOjUZ2INQ0e#;@G2EtU3NufM!SO3S2%czoK{e&%M{b}f#`dpz-+*PAy zt%FygKPI8?59glCEO1y36F*u|FYu!)6Nh1?sC*{6ZZgwh%b5(jhvUm@sjvgJxT8w# z%n;2a&d`|&UGbE^;&@lmpE1HMitDY^?8vtlx1GVIQ1r?=s=(1?vJPQ4(L9^5-BQEO zh+Kl?C;E{zv;9H)Sc?U-73i6Q+Jex0Jl!7TS&Z0(>97z*=GUO#?VeFPKc6)rS#P+H zx2Rm!$BsiVKTR@{hf{l1)>$4Z;*qSzo?L%-4~$>k z==BxB^2}0)va);2eQYMCU=M|B+J#7_R8pvY^&lNI4_dNzEtY}MTS)&c32i|#GTPF_ z3{g>m{HTu)J%gqDE8gs(G%qEdDdr|s6x;9TU|D(H^n5`H=OCU;LtXhRa1i_5mof|* zHtP}|y#5cXd1x19{M4VsJ=qaTMC;@5>zV14H^64fJ79Ab7GW8@8_c*ggP9+(4W2`# zt`&|#MGLKsOta4T4#hSPwY+1tH1p=Wy+p{pUzD&Qr3lQ3fnFI#v0w)(xwD++%o2wR zX)pH(eq~xK3ZK8|Map$$THn9Y-=a?VxYR2oFhNpZP<-g^7&AmHQ*`vHF!$IaNJrU6 zKkYVC&Mm4b)*sBnCH}Ix>ub~eF5Eh?o+N~XhR|FIjH>2pFvT0nN%IQqA|_pfhaq7X zst~txYp~eDbf^wbU3h@If~*EKNbbn$MWx_l){f*xNwWv(6qp~WV-TWJ>%x<{igjI~ z%mO#7p}2l^2>00Q6j(DA%?bHEgSfz%+iub1LybRr)m7_1`xKBO_)Pf@Tb{@2OynX~ zZxhOuh3A<4s09~aK=@ZW!@#i=)l*L5>!_H9MI6fpYd7Oo!kq+3hvWr?-b}_ z=Lix~usi-8!y5cR)C1-NH24PyBFTF|87mJCFq?}>J@swT)a(myZTdgvIvu#VpeYKl zO>5VE8AgroYt)<3`93oh6jby6ljT@QJ{7C2kJrsUVf>o?M&-wc8*D?Y7)H9aX;t-@}mz0AzA`cMIDWjOqgmQvwln)DYjpk;`+I` z->&*W12MMc9@T+RnmEL>S$4)rU-RIf?MqOyQYt%;+@5fuMi}O|s5m}u=udhJYV53? zcv~E6C$$ab0N!r!3WQMpVg8vAO*BQ}?Fvd^E`QefO`0gqA1y(pOS_Y%Ui|h=KDDjD zl>k#*;tX4bAE@@FrbL-t9yHl*20p;X!!pX{Pg)Gp;g>JWy^r;iQXLWw zFY_*}hv*$hdKTvPF!Rqm2aS%5oh2|`84$X}Y{RC_6w7?u*(*{g-! z5+oRZPA@RTnXq!QyGh_t-q1l*HgyIkm?1J{K{~1`1L~v(ZEB>-L1JSsDgw7=18UPb zcpgcGwhQw;@O^}Ab~m3y3&p6aIF^cYk2AxQkAKHUJ;AZa(&a=UYmWpxI}r9im5Qv) z;)S{>d;M*!rj;+^;%TN_??8yuH!~ei@t*glHZFzX>C^O$HQ1(W#*1dXAV1>PI|LQK z$K@16N2ymil4-*kwNhMXm}9ON&0nxq-MJn&T2wn|f0Zo5vlV``oXD}=OjQGgLO1e0 zRtXRBl6i_Fwg{XbQlk!#4(0MXn8-#QMithC9aSxm9xYh-F5>zty_rb|eQg!qrIZ9V z_QUrmCG9%GG?*)$W7nL2rDOl{;P*u!AJ~!_@*W@ABSf#H9>iwUARvGy zi-7(_VQMlKv{WDFx0ybqzAeiQ@=K$=S+{QgxhI6L{fv2vD)k2`B&`Y#;?lu}S>h%x zX0^aiUMqrqKP(QUpf{{ohSiK2I4=+NAk1{^R^&Q*6Md4)D4xtQd{m1%Feh+~-b{W} zRHG4?^R6_?TI%|19MeXzzHI?!T`S5)v{SDXs~6UfPYek;mjN+`LysZ+ec`kmvjM7hc?2M{AQ$g)^56o=nUlbpaxaO+Ko)=tNBlv`4R7% z@L3Q3Y!#?1lzy-zGaGK{d=ntw)_n zLtm>jEO3s=wMhrXwL7I1KfK(uNkpm(yQm>U?JQxJGr;VAf@v*G!v;0Op#oHPv?b@U zp#}C zQ76Tyck@;RaMSD1U_YDhKs7hH!-;{1&I6Kb;Vg=BN2s4evOMyUJkd+%ym(v0|pv z@ev9SS+F%CvgtW9KWg@Y_?*9cyDCw-Qtzc}%=Ty6LvhTihdGY-dU{Yys|Sw@fmcfk zaH*dhKt-H!_Rm3-kRgdXji?CvdZUTVrhxuoogKE^O6*pNWyVgJZs7-q*hHsic+BDj!-b+EAFQ^p=B#P7ld%*P;R;X0= zZKlFN6&RF>8+Ld&wvaEy;U*JKInaZ2*zxSSM9u!Yk=XWfqXa4j4=ogT;SrJr$d6v@ zwjXiteCZ6;p?Upe$Ga3?h zw%~%v!>yio2X^>`Au2GC4q2YH11}Eh%hsY#)70ujqomb*?I<7b4$4yvkls_9`jh|6$ub@UXmo$xE z3YxvbjWL;&@6!hNCA8*j!sq<-QMpgP#~)d=a+f2g5kZ&k_!a@n7Y#9ImLdxF4jC=0y>7eiXl{!2qmt4sFj#St@N}`U8y1DPt=A; z^ixl*Q-*J((P|4$mc02mikz(eo_?Flu+9C6xKCdC$2knPCVRn7B>k6j@DZ;Yo2fIz zz=1nZqF_4g%AA_<-jo2n`{-)|^m>q@sO{}$hBNt57paH$9lv8ir3B^_a{gFn#xE$o z&F^5oZFfJrxHEv7Q-B?gD773xoqu{^zBaRtkaO5$>QoRf>NxVL%Se!_yr^j-W_k`1 zw2j*M{7DDxay$rolaF;mH9owx4&+C5u6-DNZN;v5^p#+E;>oNd(*cTW3u|0Q$`N9g z?+a4#yc05yrip8!jj{}}K129jlIee1KePc0!J$NOMo>c>dzC2bZ$~_Z z7;u_&rSn{7Iirz`d=|DpWbg?Qty0K|wQgJnpA|3;(&2|UNTp(bB++DK?Oqeb=de0U zr=c&)Q=zs6f&8%kQbc`lx3ew^w~2Mm@IBbC#P}t}v1KSO=jtf>+KC?xc>V}B(N^s6 zJ*#F5-3S(R`;SRdXsrM^9Pt(Ps9`Bgr_nr(a>NJMloDD)zZY^qP5D3wn;pOK^l_G{ zHB&)Dvttntp1(0ZhKnR-)Oov6zzZ|=wKAxyY1?0852PtgJ%r5Hpr_B5_ z&p~tL3sH_fT*(6L{hv8d-uyMi_1x3=gA0{bMLQLh;SWZ-19?Ay2~D6_Q8)ghm8qa1 z*)EHRc&6`5HY(3iOZ=MfFZfLONRSTg{4vW0#OCJfbySF3|4On6b<<0a;GJkNKWxp; z*JDwi`3@XH0{T?tuwk!YrnO}JhGN^*5f^s)M{l8t=|;>pYEEeX4|L4O{feH*p92=q z?@Oq?tc-X{e6At!P-I|nk^$*RsfgkOST%t64H9?P}VD5Y6L#$8G=~;<6AO_VZ8)o(Txpe*5Rl5Tuk6Q}K9& zI3-~z|CD8jUbT-pJ3fy(UI64rt-)y*Hma;CHwJ6R zzgojvid|(B%cJvy7(|>mG!?q^q--0bo$4pdu-g8T- zICaMZNQdn2pL-9h`q%h?4yV`cNGYo1v@t`Z6hQu&5Gi9?F^cnrIsRoZ6&8M{7uLM{ z|IPm~H6Fx^_4$%)t$dRBLNHNQha^#aBUlLl%sbK0jbQQYlJM#jbTd>RE5hhzsFl+a zFdf|tweo@}ylDmA2o}WyvRr^K5F~se(ge|MV62|}lK6h8lu!Ks$30*=gkWX09I0cy znl8z@r`?qFU0^^57XrUAC1VgO95N*f5xV@&lhZ*dixI0Ln!wrpodTjzd0$S0qGejn3Gxvi7hiH?GTEzG$(x# za&|K(V-VVVz?>{ZNUy`Ry5q?T`V}^Gckdj_Ij8~YSpg&PUw8L*ed9;Jq4opNMrm<) zIUzfXh=r^;`eo)GwePax@E)}dY>VcDYj)aho6uKPPpmSaTeHx8h{3=#1J*ec{Djf! zTv0;8E-eUMs{?Mt*+U4P%w9%ab|b1+CI>HYklUBWM$TzoPL~#O$PxVy2F_L@2L7QV zkst>aE})ECHK(+Aopfc;PS0HaQPNn z%UWp~bpsiP6@cglGS)eV49Je26`-yh0UARn1|XqcnAQrA7DAkd4M;nPxQ!3vy%<;U zEyY1p^dr8ze)bXk>s@?zJx2hJp2Bw(H&M|;=&oW`n?Ue#9z8(xULejFj<2m>eH2Fz z;%n>MsOTAdS+VIc{A)12thkMe9z&NEbK3;rU-O6#ct>#y6+MTqun#zne|>?jEav89 z;OJR=h5Zl}-G?qNX7dj=pc6K8iln&*0D^UW8Q)xH5`v?PNMEZZbP2Z0Yozg=P02H| zaku_Ih0|)eJOWQYmRqC{*bVuMCI!V*&` z{+Eccy0p5IzDRD~54e&s2q_J^l7$Gl0km?_79dL(0Rrdg0QApGSMnG_kKVeHml5I_ zaV2jfbl|ru*@w_lUN`a=LJrbyq_ie{wrHUnxe_5ReK*n>p521^3fF448X@H&>ouLYqrmNuxoi9=Iw1e<-c&7O3Vd$cslcptl0jW4#OLA++;8sAlwQT$5`x{UucI ze=Ab9&i_=TU+?k#)mT__p7KHUtx~O7XGhOw5s0@H**((`thz+0J4b7ns&vT{*hOPi zs??1zQl+U4NW~&mYI+x{QtHl8K#;m~6e4`*C`9RMJ!V(diPa%QvM+aQM8(`iD;F3p?t ziDNcOde$y7=aCMbi@VqftB`r5&>C=!9&krakS*_ngeevw`XAS#5+1BsUF1OL3VH%l zUo7}O8y2BH)-ax`KwlVt%bbVXF?p(g1&~xLeIKLHA-BUuWC%hp0lJ1z&=EinA+`WO4bn_IThtRG_Ko22_bATQ~4KaWolFGmffF43BNq`9z(g8h$LbCxqgtYUGW+W9{lgCYtRxGDWm2Jwl#23!~zg|oWYoG&O+Nv|p zXcN|(GxB<)0h=bL@nR|M9W_uWmk>;kn6(03aSSd*&TX$woPA$*FzJ>Uynxs^1YY`! z?jNSJ?&shL^?Wf7uM~#kel|AEQtN4V;<9bV9LCZEZ<^o_TJQ&&=FN5kg4Y$?tDO43 zu2p{cWf*ukgKL$!;kC+|C!bH1TFG;H3njP@3>g-$vZdY!Up%_qo%U_sm>0?p#2(zj zeCGL7A-;uqFYgi#etvihGeeWQTp3)$+#U;p*% z0nAN(QHS-kz4kn zqy=1}e-VFfJ#9stUk{4waR%SOUpx-B8^rQk!)vIs|5tfE4-~PQc`GP@uIE!{XRe`M z+MdJruWP6i)=C{ixpC<}dp;F`OSeF`T~cQyEM2ded!=FV9`lqbK)mpwYoeRBO-PuY zVDa9mykzUAZSGBmovZ?XWPsx#ujrkVN+18+56woS(ODM#FjII1%PQo12wf1Q@Z5Q( zK@RTFrMDuz@jtXhdCdQHiSj5vxVRNwqAbdqC?tl*Ot!*e|2bx2ac7J3ohyUKOnc7o zL&b~6Oeaqv4983?iM%im95b;vaRZnzbBl5fYaD|gkCr6kC77cn>N4F4@K$)4E~%;K zMt?}g9B>3$>Slp6nFG*VR+;{YL zncR!exo^&76himdUC11SZb`V1tq4WTcOgF_q@d?Q@*aZpj$65q3lS1^bs?<~s^0HH z?nNjj#D$DPC@~JuL#XElpoh?k3P2B`H_d?FVMwp^IiQD7*C?Qe&{j6k+ajbZ33^+E zsuluk0HKpcptnUR!4dS{2wg37{(HEzJ_vUi{-9L*~uAM2v98d~)t-N4lq0exxLNmhz0I&0G;~=ItrBb^k%{nddd*@S7Tm zvC-=KOuM#LVjQPSSy4Y2u?w0jiBZN0KF01 z2H`mb;~~sL@IHhO5uAYV6M||B0p$0CbhkjLf#6vPtr4t-&>O)q2+tv?tPWrvf{qYA zMDR3(pAf8skl!ED{Rp83f-)KaS|ex+p*MmjAUua)F@$*t4gpyG5J2h%S)RrgTp=_T za!nS|=|#|Xl$&cp%4$NyCu2ey zAk++y8$!=yO-Kepit;8TiBOP&30aL0Se_$aAmpqJ=ppn`1<*rQ>C`+x523t;fF45b znt&ccqDufhgzA<9dIHXLS=pl4@hslghU~3J=>|v4Oc%Wryka34~R2%Ga z`0uNEPtKnMlp-4Acd0^%3{#ej#Yk@=!!$(`r6a?%cp<=lUCmn#CL&6a%~2h5axtB{ zD^ zh%p$aW#D*>Bq6jJ#23}#c%UR<6p}5@Q}YDJH%bzA@b?v;aokvv@P+Xh9=!QaMv{nu z@h$}%SCWjQvx@U zJ)0)Z)3y!ABP2-Q0z0|{_fZ^=lpwU6LH_Po9KQqJ596*`I1b+D3**vtIDQMfAI3jE z!SOusei%<5!|_4zei+{X24AqHX-E=dFuqJ4#|^~^A(wn{wiHlXf8YJg{purD%>|^d z+7h}2q5U#bl9kRvCw`7sKSu&EXK5SOnVN_))s8_xr-`5uJl`iRJWfGvobd1}6X8?3 zj+=cjv_gpv{W3+uHYAOUEO1#uFF}?95U{y)(#m-WeFx$0RLwwgbDx>Xod9jp96XbRRe^krda3q19~Ve2cYu^ z@w@=^5Q+k*4I%CUKo21XKmrdSJ?!wY7g-zSNY^31*W1x0$qLBC5ng0unN)7h)fNDs=Ivq~vSOkSibpP0qgC*BgHZPp$8{5vD*)zw!yPYgO+ zEuZfH{^nU%*Yn}Gi}sV#l}8zj7ghQnr+)pKeD(cq`9H(M&(HtU@{G7e7*vy2rzQno z%>DXP?wg&nuF@6$XzrJ6m6oZ3#JBrN>=b#wi+q?>fTTHk=x$R!X=!LoH*xoZ^YMYXRftG zer)t@=JlWIP)hpDxxQiF#qHY5d@mT@*RC%a;Sdr%?)aumFjGN(@EoUw{@gFMZ`K@f zcr5D^Z@Th5WBBxTk9Yh{@h^|9h!u%6X1L9LTA9bcX7h%m=EXM-uAXI~vd+XldaF$0 zuJA+WcC9=xX`2+?Sl?FM_h^GvBKJPgLdDB-Tlj1?3|?yA|Lo)A&9lvNz0MWNt+?tu zr~X*p&LdVf6B!}Vr|Qnx?U`42U9M=D%Ve&SEp6@Mg>rK(G?mzetQPz#Hn9i{DJ6cr<_ zd8%N8woy@Xf+)9x<5rHd>n3PZ*?R&`YwtPbb*NsrUCN#3AzjvrBel*-YUP1O?J9%4 zx7Wp66x(hq;YlytC9_IM>uA67?yugTzXkTkC76bNd#c@cWM6g9))#K~8RK5R$2t~H zzH!Yr8-1T#DswV(LYFf>pDV>3g&keNR1B}D(v^yJs+TZ_I07l(pQyFmS+1A z-xv5ju^2oe(^A;oFRE{~zJ&K_T2N2hrBWyT41a^O5~aeEIz+$Iw{@TPnYV3Op8n6_ zk+Bah`Bgv0eHqny`&-sO`xUg}f&8WOZ+`{^8MsvaGk)yO{uBOz&yVX@C*=3;`7zPA z{L-ywm4sbSt~i6`#Emp!~T3i+_!`SF^*R9!c)d46OE%~ z{VPVMHOmEJpFG&^zRJ4MdwIqS+TbFlOcjMK~qJ~C$WLIhw zy;05KljOc$UA&H^weHE8sslt>|L(ZwNefSwZ;>*+uMwDZ&_GtaV)3@8t&-INaho!h zzy0>3r@x><&-%>AT*mY0O^-(mQfyqD=AU%d-SPHFedIDFPGMuEZaaDBQp;Z641;Rv z#Ua|Rp?x}UzUG6J(a2yq7=;* zYbd;$WsMy7Ok{%V7pL+iyVvC*s`+Qw%dfSTH*hna`POT4S*fZ{F4~toT%GojRY|YO ziihhm-@+El9jDq#dz?iCF1v(9+ycCqKkP^E&Z_FK~$^&U2l`J#_~;+I5r9#81J7qxXoj`c2QUr8I@C+gw8 zC!WL$_$l3zy~f}%mGeIyBza}{s)nZ15=*6r+@@tG-$^WLnziigGq*T@(QjY7pNEJ) zwcY8nPMk%7b9K|IE5{D?42EcL9{QL&u2tD)8Mu5&z0gqlX}ws{s;y2&tB)KmDhU!) zi#fBpQ)H_SU;SF&q3{^K?j2t_3zl6qIsa&)&77jADj=<@wb-||&5X)D?+ z4G!*REe&~UxG#B`?VJq0ZVnh_6o(jm&P+9j#dYSwT}`fG4T&8BmD9G5IG^+n4rqj) z7hJit)bY`YCM`oo=wmZNB-`86_SDrUy!%hZCaK;DFO6ag{GqJooIJhc?u&J@>Dhfv zA+=$jBQ|Ko##Jlyg$vJOn^bSBf1sbWEGaMeajNUxx?-K&3>Vdqfo|uP?zVK%`P{jQ z0Zx_cj_54?ocxm0BSawOe2Gv*{E6UDr;J%w-b)$^2CFlc@`sI-Na#zQT&#U|u5e+< zuX9Vntwb8kMusaF_0JhfJ5i!yQu97E^~AQ=(~d`$NUP1=a@gaf$~@*hF@pceQ(;bryG@>&>2(y(|S+-`1{L#Lsr% z)CKq8PiGbp?)$&33FbK)KcB&~Aoh4fq8#l~jZ5_EWX~h(aw|r*(QZkvyldF>Rnt5^ zczi8ug@ZM({sm$7i_InTdjf8y?Nn8}Ro2LQQ0%}!j@*a3vFpvwUw$8VJ62Nn_^qtb zr_`Lj-GTNuth88{T?$#yULm8I-u`2h_E6aO;~hx>A*ZYZp2M!~YcA^92n8@2)d${R zoVCuFfAwQ&{_qN2QgQOe9gZ`RtzT+xu3CT7xn)Yo$LhS#+Tn_o|I-tsQn zu`qFREA77Itm;DX>e6>)V{HswIdh>)_^YmLz4p29_z!SavOW*_WOz6kL?@E?f6=uT zMEAj>+7cV8$#r?XWXsc=EmKa6rr$OtzvU8-gt1$Mrp@8qHj?|j=i_W)=S%E{o%Zh^ zE??3-tA*#FrkX%{jIN4keVD$HgOXfe6st-@uuz)UPHh=J59#H(;#J%LUiv4d>+jYXGlVv|QE;i7(dg|?1 z#Jewhr95@_}`OWoc-|Tu{_@y4ZG@Cjh*;N0bwP9K?*fu!5#wLF3q%KA>>Uu$EDt|}1?!|H?=9Wr?H84P zoIBX2?vUb*&3=Oko;eqi!%$stQ`zk+RJi#>V}y@Q zE#;RMIoy?#W^2(mwvHjvrlRf~q*k2kXel^PX2(zMyo#Nde;*pL_lzqVJbp~wXI8ab zphaxw9K{m`tTk#}>-YJlt?`d~w$tTX>9TUl$e3XZi-Z^<_T(V+lsoAN;X!yn) zU77P(eNX-H_+o=EDFgRCwb@E_#f*~nk??R@xMD7C+5tNxGe%Y7KB)hj47<8P~j zu{gx-IZJXA5W(1v(z|lJCb#T_Cr*Ae*mzL6>-B?CpE)O$*IEay*wMA4EG@P53hnw5 z6Z-h_&K-l7PVb&?$t4*+@zhBqZ}_71ih~U(qMig2Cf z9jnJhm;DU+rnRoCt@HjYr&s=4!-7;QPTxsOZ0p_;S*soNgw3&x^-EMq|CTw5j5*f& z_PMib-1x)WmSpTd7+Dl8p4&CuE~WUDd-$JpDUB6s1`MgKfiWEtkd>`%f1K)+%zgpA;jN&(cxb;BKBHy!Hu}J4$Tsir^AM7 z6E`}>SGagN1eCn5674yarnYrWV|sQ*&2z=MyMxnjv@cC^UO#W$B+Is|Z-YL3In=M! z{8Rt3U8gYHR-GOVP45fuz8GzCXDsz;O)DKs*kky>asBroj#cZIL|s-+y6XIROGN6# z{Afj`oQ-l7iH5(y;o6_tD&-?@iVq!}EgoaV?YGjteW<(cyiMTb(FHkIzNPXmcs15! z{b;^Nn4pkvaCag(E+Fz=zV&jx;fAe@AIWP1rC+=l{&I5_aab_Fw^T>DR?k6Pis3vz zqArm~_IGD|_l+e!rAm)dJ?DqByBJhG4LOuNcPHncVBm$$D5r{jdow7?xHG<>b(`op zEL{79QSg$U>Q9`r{jl)3p`iV{Bl%TCLaXEJ$K1(-f)1f9Ek~5sW!~4ITkOjpUeT-j zc59Og%_CPa>+-&IV_rt1!GXgD#xcdSuPr@usk_lUeE7rRH$5xbI^R@WpXH+Z<=pU= zuVOcy#y9S~*~9Djq_U@Su{Sv6E9_b#`qvz;jM+Nhl=G+V z)s#EEvRv$@zkIAja~=GGEK72Cu2Ow}?Lud|yS^=F-bFhro_=qyZ^w@^KG@jabhVv* z-HoU2ms5&YMs4nwRL@ka^sh$R5*NBdc9#dosHCUQf24kDDl`B4+O{o@_ty&9-inM> zDcsN{pW*nyGHls;_F!|CjZd0}r303kyFHE@yLqryc|BwM1Geofi$juXtlU*JMH0DN zL3DaMOLb%Avv??uwFm1p8C>k^%>qYv36u$ZzNeo$y|u2@!cr)vUxQ;RShH(7bl#!H@gmvK6M< zZfrE?+!Ckgu{~8)(k z_V#cbNEGAy=KRubnr-v3e~OnE{MUb@`^8=6FVa@aSbZE)ZcO9e-CNc7aJE+GZmYeiPo0<8O}^(+ zpEo&sg6+V$xZb$X-L3+$@joY%Ee-7wTcuQ_Ze`8044!>UV>`P-MWegWU~^y0)a|LU z5(6{u;|F}RRKk1iHl}a!7YdW?(ZjHhA4uHbEk*ZpW= zVzHNQ$fpSje5>r;5E$5cH>-H1*=bpgcHd>MX1|zKt<7<#na%i=V$l}Iq0&HQ_gUX9Eq*+2s${DayED5|Wu@P> zk?#lTJ$vYesXfK3!xk)xd)d@Kd_!H^`oztw+a;6U25b4=KWee=YD;S9)Dj8ZIT3i9 zbb8w~S4iNn_shuT2l!`8$BSzz`*M451~zH0&}Yjijgdc^HMwwm_?H0bh5&~fC)V94 zD}J86@b-XP{{I;L?@$>P;Cp&YlVH!Po?`ePkcK`F3MMtXM0LQnD>ZR;F_^H@xW-E~ z8r+J#Z4;mALEAj@7ZJVR>2V`+jQ56zM$Ps1f7-E4?^3Y(ma^O9J6z*CK2i*>mP=F%+PTroSXg;aiT&;H3%$n*Co{3bFN^0{n!e&jG5X@a(ixzU2IpIRilYc!;XayAi zS6WA4@q5;<31WnhZnhM9lN)OeAx31`l*u4A=!2QMq})ol95_zz#ylK6neA z&guYO9HXCog^U(oLO()k>~I6?N8$(gi5CuKb6ErY1c+$}0vGWSvKz|gayNJS_FaOghL3Ps38S?MapdvL>Yc$uOv4PZivu%pEz=CW;IO{A*w+-+i=2GIx*l_Ce1blP{Kw4 zgb0u%2N1UsK=>i(!pycD{@@O?tb-^RW^rd`(Ygq-_`@G+;13bZAAI2tmq9ea38WWM z=?jTMkj`42u$6><_F~m{cDvC}V{iLkPw`5jG$?T3K4PFE238Siv_@)WaYo|r)&bWd z@JDTYqLB&50STsWw5!B~%tvTjjS1O?P|O2B4 zcgK7(XcoFyzGgB?m*I@WV;+=6j(V}G#4Hq_$!9~w_ec#uAaC|1;1u9;egVSfqm8OZmIFTrnDA%pN zx>BE>M<*nZ3cU3fLQv$*Q1BAub*-)@1$oMijT+^YuK;)=PjcVG_G(7mO6>pf16k z`7Ps7xKx~I)pvk{wK-ix1e7ZDzn%Hogy6p%&D-dhQo2(<*bM$$hwgwKZq8ey%|!ah zftq0Y1`83VJ+fC3(HrpUH|&a^z+Yz*?_@H(kuxwSa<`z-@HUw3ZG#0plO{` z@Ulti`mtz4h^W34uew;2W=Wf5u{gJSaw=TP_R#MEHxITo4%_4(?|lFHc7I;^voD8k zIeQc1fw$a9gYvh-YBA$)rz%&vF^HD7-;>9l=M%ldpQg3W^h^JYUFThq9d$ZO^+9q+ zY5TFVewH^{Kl*QXHK*rX8NBB%zV~wGwL^3Fp2^+yTrb+?SV5rHEw`=gULL(%FkpQ7OmEg3%tDgZARC&d1rwJWJDy`Wa7x z1zLlZ)t$uOhnpOHAEjUM{6cJ1r0*X25#4CNppvRxm-Jo_eN)-8PVs4b*4zs|Tn8QM z_q7NK2HCJ0_ubCx-~Wtb+l$4I2MQc{uC81!b~#kH-F1miRBmAKS+CO_t4G8Y7hmTO ztf()o6b#zGI&ojorfqeiC-&r;Wk(#_&0WCwWZ9^&@kNf}di5uH#l~JcpEay%G`SY7 z78W0;yXcM~n#ue}jI)#L)&{?D z*S;9TXc)@=q@ zFH)86JlUi$Iw~U&xUz@y%d1zNp)Xs03&vINx{_COfvr(PH&iA5$}n%Ef;zup_!>`{ zH81u!{_={Q5+=Tf_vc)#J%6~ntJe16C5KJI4N_f`3~`~R>Zx5z6~E}-7uMXvzjCAe z#K`40^5g!G#jN$jbpGqVi5K%mW#91TMgTdqvlFk=iEpf+273j0Caegxny@E;NHz1?pZRL{h!~M-i=Vq^Hf<; zBKqD_xI(Jtmz4hvk;Sz80;;-tHo6nNh2vF48`U>vU2bMQ+Wo1)QNN(+_4kC>W9GXK z&B_#9x8cbq%f?X)^9kO3D zkXKsYH~eN+L*SVVzJvSk=U9H^XBlNX)SH#_tx0A?am4sUoml<&i0@fn{yT4*2!Zt% z`HNKecvN3qXRxbWcf2L%Pg8rW?l#MT6(Wcxb6C-#+{7c7?7yHHB=xmnomL z1xtJ9ZXf=dbNJ>l!>0PJJDbn=S!y>5JWf6-dqi{vpAA=(dfSd4HM*_EcOqU@Xjpe! zbyN}^&&6Jm(f{FEzb*HFUfd4HFanMDB6>CyCyeo zSL`gdNkqOJ?B1C2;yBOY!a_kmg{|AaZQmOz z+@`?!Nv^#yCR%T7J*TyGcuHhUciIzo4dY|>LC$KX#DQa{G{oxDY{ZUTuD^PwKvehv zq2SiAwjyKk(YWJ^UyrbEeCxAu!Fji+gDi`31gp+O^j`^xG`+m}8l)+Kc9GKYiNdL)D#w^keJ5 z7Tt0&2Hk$%8xHUZu_0n$vC-t#h3_Axj$R;XR~L)^h?Eqzy<>KI$E;%1tu49(E{bz!sh~vQxHU`!KRj)Q5J{)t9 zgNPG2SNW20q)W5k(aktW@uq6|s%`(8*Mw2vCc){jd@vo9QTtjRnjDu|M^D_7DPm&^ z#|a@j;R7#L3mROu&og((mc4T5_stHimY;VDqGV+>c-uatdz_M9p(>{kpco++Ok?4q z{;65c!dI79VgN`oI*cGq_Kt@sqt`w$DwcJ0nuQuY+{+h398LPz<(cp!oRI8&Ft}`u zV)1bYpTT~K+W{+fhyI~OWAS2B@%~XV9}w#*bQ2E^;RVI+Kzd4vUL!PTcY8<(XG&+_=&c#VT#&s+|YoYo8oFv=jV2%! zYk^1w#k`p&i{~zMYCn1Up^Q@H6G4s}2ke6ajy`TbZ=NnK)1b~Eck2qVc(eY_X|X0LI+^XdqF zv1T%VL1F3GeZJdrv~m_>ZP$4`$@gO{1LCsiSu*!NdEApXuH535W$sd+Tl$EOtXspBdW;t z^d0$}ZH>O!=d_K@t|>nY9#2*5(tGW{WxsSpiU*@F{L#13=JEE2I%Vd66{ulyR1Mo! zQMvVyuMQrXAa9t*{vB~If0O3(B^2y#)iS)5igRrqDH&}z)%{RAVCRKrDL1nBz7S}; zr;u&^{9S{_s{2+NqN^Q!*=Fhp*47=NdA%80YJh005l@XK7aQZJNy;?CO8w^l!`*wp zQ~Cb!!;T{yWMpqzDrKZXwuYjTvML!N2~lKZ98#$yB;A#9YZ=)MC-cyrR!L=+qOw!S zI?r`q*Ev$Z-+#QG@p@j*!}qKA=N_MXUE_0o=CQeA^N*c-Dc6$Y$+>PSy~r}Ljiw}0 zw22mEJd&83aM?<$!gx)aU()ry5Dnd&*em`9ixM~|Cy%qf3;aY8&fLx7enw5iO{)`) z`}jxxi>F8En`*bNsoPq=l_4Fv=tr@^WzU8E>%BXV9h?}Ve%?8Hp!MWS|L<On#3@xwOJOWucB&rUhiwtC=jPJPg75~o@?iO-RZEK$kEsWuQ3!GCEFWsqR4PCPR? zH2FS*dj0XU>s1u7d}qqCW{GvTuBL8xHdAq}aNBvv=u$ute{e~aVqIQ|QcbDBt8VRQ zdPkCXut%KuyRmq4Z+byxmv91{U$a`v+w1j{v6j(mj06>pf6^E5ZJbDZ%f4stA<-7M z&>Ee_@z*=erMvXylYC99CGh3>roT=YTFJ_*EIQ5{U*YHo23gr{qC6#lajha)%5#&A z=F~>Y{1ywXB?q)V%-CM~;{^ zI;M4oc!5M2oMv`|h7&Km^D778b`K#V}b!Jx7XC02YB_@#mV*SzVP{}<4_CYr% zP*+#C>>g>W*z9)eXe-WFJ}VyVd;aKqs?oxeV!97Y&Zd7{Rd9lrJ#81}wD^vqy5eb7 z55VK2q>3T<34F&cbcFrT8lh6@!OIJe+FTerXKcyth+Vm~;LQDuiYE6xbFqQ)B47(> zTMs*?`W!Gst+lwj<)LCTV;=MdSeTpRY-JQyZO!KyI$m-*r?4}N#;d6%kS=M z`xW95C*AFmkWsebos`MnT_S@0jM`SBCD*|@jm^k}ZA9MM%)|L4Wkgi=^Hbf^_s`yK zJ9{u_hvGG=RV>GFw%daf#Do@(I_kc81#Cj^jo%O)6hVUpeQM6ut~>^HX;J#w6(s*J zH}*>%3<|qbu*=}}(?#yv6blYLdQ}zlAN^_b7S)@82OP-w)>st&nzHe4;5WJx`L*V{ zNd1qOVjX*bQMDeZyiY7J9X5aPF|#o>?1I?5?#syw1v*?cr$YNPT^8@Q;r_dy){-8* z~wC_tm#Xyby-f7wZQnqmQCwq zXL3>~uxV#^qVD7r0KCxb&td4uxN`Td<&u|^Z1P&h5AV6`eWn``N>klFnS0iGxLZZ) zaVR~4^5;zjirEG(oFzoOC?j6*{Z2UX?{A)D&`o7rxOxrGkLWzTvq_-e=9%KjEuQh2 zH6|@OeAzGcI!+9g2K`7%{G@L1gIXph?9cnAX0zs}f1YzIn+m3=JLCO{FX){VSehBV z)ksi$QZi}VS6?M1_ThaZlMQJvuidOETHy7;PQI+pB`Z!b?q6P{HA!=AiQ9w&5QmX; z1cPq7bg_y$b(`dfso~XY?=>#1!FF09WV;TrnJCyzX0a_0mnY$5pzW z^iyTmu67DGuqciDDm!#Z?%vL|`^yf6%s+M6FvxoBd6vJX`H<_bGY=m1>b=oRq8?tr zfrKNboD{Ogk*)VpNH$yDMtm9@(S^FLyW zUo&KI$Hh7%4(epjr5(gOgyQ+EQnL?}v9{4CPw!I{S+AiyzNkh>d()j;&sV-W_pxmM zfPY4j;l`CMYd3q&@gI7wa(s*?n$&87mn6z!q?uD*c!W2fOBGkbLE>o(iD`M3#gkF@ zJ&BVxZ|digyf_B)&aC~pu6AxawWW8@>YD4{BQCoIS@&56=q<0Izwq0YCN#6FhRjoA zd#~(GIFZ454h$ydikrFmshf1ZD{QDTntb0>sk~B0cJr)r$#(M{`wre#N+>pd!S`qr zzt8SfeM#7p(uPTqf7-C$GC9``fmG%V3UU}F4RDOBzOmhIWaM_+Jk@zli+Ew zpVSiF7k(qx%eM(J1%IObwQ=+P+HaE-ND>w|A%2kz>O#}=>mPBMd{I=vGd)f=3O{;^*8P|Nw;)E)mwn}~W#6FG{Dp1EC`rZa_ z#X^raQcck70{`5LMly32q(!zn8nN?VS;Hmd88yXlcpY5)#{X+;m5y;=cgs+S`{ir4 zyLS~bmN*UsIS&fnUAgc^;oi(@Qc$15mqVTwrfVo1CY%c+qi&F6WrW1T^IrGFHfHeG z4XsvRs8+ja&LyAT#YgX~&>Z16r&67RmXZul@AesXa6TOB!Cq5>O;FJ zwYa4HX6fbIR|ksPJ`~p2SdFD+JNZ7iw=c9Ur10zapy~rvNv_*&Z);hTRo0;G`uao6 zgN>U+1ZS-!Ss4ELhyPk7@BPt(v%quK*PZTOBEs1o=*YKLbMcDRR7ZFA!K-!AT5I2n z?couS(a0;^sqbKB*)4)UCvZ-{zCIchm5J8hdJ+QQNDo-K_`OG|9ui zR~1B|QhsXtS-c^|;bp6N`i_h!%69JbTZasSf~lXzop~G|IaY-n zKV+X#XMgkXQJ>V$UOOFfxFUQ@ql)|N4HI7#6$&LyzF#?H`Ym_omq6;;>=Sie(XY{O{}}Q=u7x5={pNtjBcpLEjsO_ zaLl%0p;OF;MYL0@kD>$}vTi$1x;*+&P9cy}b zZxk$cbkT~~q#?2Fj`}kDtT4%w)bMrmffd&uIyMy*%-20<{n>V*M8eb7)3)u4#GY(D z)vi8tF)zN>d(ni>e%0iL5Bqa zUsYIpV>CFw#p1}zYOWj3$)63MnTSKi5X5W@| zInyKr61OcDn3=e{Gsm8Fxu?6S?4)s-as9SH-^X9}~~d3i7(l`F!2%!@3tfpUY2-Jt?0b z{-!Sd47M{-JGd|Hw4hth?R|x@mYQ;PUoAI1n>$e&l=P;(`IE=KOWO_ut#6)nq(PW% zM=x)xh{I}AodZ3G2BU9Xv1@cK&U6YtE~jF9@sls6@F81l7PYYR#(YdjF-IS>d`x?S zoz0@pr?Sbv<0JXY{Ykr#wU19wklW*QYs+y5FX!>Zp!WB)$S0hE6N692$H(!&PtOvS zZS;RxwjLS#=2o<_&MG@K_`t94D?RMlazejZ(ZVJ>8FH-}AtPf3!>SWE*r{2Sj1eB0 zfS!Y;jSL3ccQgEl<+gR}NNh4}3dUbTYY5;NP3 znORC-$c&j;s#nAegya%?lO)XWgAkd@m@zX;4a)<5a9jF3zz-rzB{O^wBE}NHkB2xn zO9k+Q$Z|R02hsRSzz?G9+JGNKTl4@wh(-(nKZv5%0)7xZF#-H|34T9K&Hjqbf5Iyc zWAkZ(+q1W^{}l+Ev>zF(Sq5R2`7eV983@x*AguXsBJ&;$+_w>gN%#m~9kK~8#4vEb zpAA~kU?6Pl1lXQPc&sd^fxLmnDD?He1i}8v+4N6ZDf}@ApjN=RNSOjOH~vat5_Vsp zGJVPP?MWeXvLVy@3r)h{k1q|`trgg@2-|!yay4*uQP`O)hSvZO3tr4{e~}3GMz2WW zkNH#r3qO@ELH6Cnj|quox^b{Kz2={`8{$SW8l)X${S`1-7PQcwT@Eoc9A4LuU|DF% zZ6fdu5xFqe2m-@xA~f+)>>ZJb57-HTn+BFnznf*eSuK%`9^uh$|;F5)kDhDPo4J2Uhc<}=ehUoRr*T=30up7lF;NghW>W?Lf0<3m9pf;24Sag#F^J*Q z+hssoHOvHRB0c@|O>D%|v&^QIWWVc7>vYuAfB2SUfQ!w@Y6J6ZP|7!(!6%T%EK2C& zl(s#H{D>U{B+ryHBBi-tk_JkfE22MOS7L!L&zPqfo-(wFB+K*02kl4@MA;egsfhLv zLfILN;}CsU2xe! zoq;@#Xq!1GJA=*aP4J=4&q3K4^5hYHX%5QHV7wgBO>UPSiL%*9VXk+BTV3e)4mEcPIUf75?%=sm1^O$%h!+|Lzjd9i+%%&HMPilWh?X6 zST}-cqf721QqtLATD#KupuYyR>;sQ21uX7VIyYr9p7~^$g(GNtT&i$1gdN3v8N{%o z&|mUQ4-*EO(;bDO0U*p4z$3uEHxP{zAX6EL{+}K!+{hCTMUityzW$%2P=s^GMl4-A zQ-UTjr*hzrkIGAak4Z^*T07Cv>Y?Z7$syYB6 z|1W=lkpEX9K=IHMtOuY%h?J@TKZy1K6v0kpz(@h;3PkS!s)9)Pz5)IbqAdWCKn)aG z@+p86A$kaq5kw4toFH2L0Put8FhExzDgdYoqHcgbLbUK9;KxDma{>r|MC7wb28a$( zYK6hfzR>*>xi;~FJcIxCg_>8W!Lj;+xfZK0*ax5nz-og0fwPIBaUInw1~sznTg*WM z{8?=Km~Hj^di1H8qdnV<%fcfDn8%6I(fO?7b}67KGI%cfSBtr0u{KD~27Xw_Z7PJ0 zQkHCJ2oB(d~Ovb4iRI+pMyOI6xSJ)K+me%6MD+y~B- zKysj@bQgoM_x!};l|@Er)@J*M+KfaLQ#cMEOVeqHn!8$NZFfgniTnz#`q-RbPx>xx z%k{NZ-0IV%KkH`VcfZTVTy7`I>q7-fx4ph@X{{Ho^EG7CYa{n?wi~`r{k|_DcaYSK z&sN(yQny`pJVS}tAYp>ta+`Cq=AnSbt@x#y7w7BnDN0^w-fVF3WoO!n`(JB0ubg<= zEU?+Yyz#uDZ%P5*#s!q{NXN`y;b#SWYE^;)I-{PaDsC zk6#%0=6bqUaB{f(Jrdit+ zjyf2=7N?ucwm29iBbZ$&{(9I}!Q3PXM6C!u# zM(5-no#&!$+vQG8x&7$J>$#tos+K9(RDWV~$rZf&Zf?)wIMJfi1}Bwf3h5n1i}XA} zv+~+&(Su^U%!If(Rj+dMe`{aMrg5vGVdwAL6~(1(Z2@5cUv~?=Da_00sOd^+3-hLS z=eCA59&zyQAMc;d4$_S)GbTktj$2NAi|feaA(fw8vSsAea2D13FndwgsUQboUP6N-FPn?QU9Qh@$S0<$@zwmNEj&YBY$I%~0yZyvl4d`6>8pFXl02^NBe^DU zm73Uqx~f*0o$Z0*jsdEJR8H+3y`(2aBD|-o`KT}Nb3Ukac+PhA<1)FcqPm`v#w#Z7 zGVD6Gwg2ZYh}<@~7;@B;N9-j07O_G$_C0c25nxmV4f*8l9J_e&& zxl41s$mitkR_8uVgz1Lqg-!h)od^k`QuXBwsMLwEsnOA?{$G2e-^RNZW!_x*V#jvV z#Iq~*mv6nk!*0p;#g7+kySD$v!ey7gUGBKL*#72&i)I!(V{OUHEWg~!6lA~AVQcxU zwr;#BH7^^%u-9J$FeGR`!m|S>-*jpvF2d4ub@vyz^;K~2; z+<-KzQzEK6amCsh|Gr5F3Q_^Y4##&W%Ns0NC6cZIEfaYZG^r>tMv?^w5bN>aRe`5yUprOn z%1auTa%@p-)ruJ%J90|$>9^+rj_sLEt8j6T$5)I#WcWtr>16OTeD-{==D%{${;JNS zpM51GFRr-cCMHWP)^qRy`?uX%3Uyxd1$^}P3$ogeKKrgmj@Jsa;#xLbaAZ@257 zcuT(<5ASoIS}s+Sc7M+=O3W@HMUynwiG~};;!Q8QiL*)HS<#mA?#PR#g=2e{RnK25 z%x_bbKU=2vcg5}tcRRJj#VZv{s~U^E$}dWLUl_SZvU^zJ{c7solitez{59yPWKc&l zQmP4^Vv`eDo%_XB618&5*Gj;*`qfsQtl7qMj`^>5@uSJNz7*?!XP$HOu627~rlb41 zb0-DZ4CB;lL^w!IS8+!N6N(o7EfJeZ<+6L zzV7K){`29_EFE-q>{%srm%6v$N$053E4h+K1q*n`?j`n-bWpJM|aN+oK;NvM4Hsr%dk& z^=-MlS;N`2p;?%1!E)ifC$Ge>EB&f^R%O2Iy}o&} zxa&asfBq6N<7~H@%fYMM`hp+0I5jbrmM`Us8)Yz-NEEF~ocrsR%&J{Mf|d8~o}9Jz z;hTWw3f`w~GFSGw=1RSJgURog{4JXQ)Si6(E+CAkmh3a+w>$6UCI*KIdr4FbKUsg5%ZTeMn`|1{FPy)Y zwAzsCYh{~O0r_}*nJVqzy$o>@tuH;pg+%xHu0eXrOCx8~=aaZM< z0VH5a9M=qxDnt?zAPfK^OMtu~iUTMXqL%>WL&Pl!_(8N5pnizL0TQqx_>}>q3ehM) z<`Aur0{kHI0Vo!te1P&H>ISF=A|+|S4NArky$jJH8FIc$tGAW9lF#^vpZ zbKn0q21+SH()}<7_`z*X5?Vs^ zSO6rngs4df@PnvF7^SDY!NJQEWC=O;KjiUiHc0(t$P_ZKxysDQw$78Z3I%0IkT4_f zd@(G}JY5YsY3mHo(9(5)seszB&Im3d!)GB*TFhM5-Bcv>vSidp70_dTAx`9P7svK( zOqbwoiA54Gkn}O3ZP|+WzHBX$5LOQM;r$?sx-WJDL>Z7Z1;w$CvYE12cro2jn8h%1 zA?p^|KrByos61=O8s?*^F&~Wt)|KEF|GiOzq-d$L0G+15l$Bp-AbJCnKHtJxj-b;$ z$CLKtEurLCPV`$bZOn2;@HmOVBykLW3eP$>SH%Nrp@&yE722 z6(6BQE?h4_i?~IbBw@AZ!Rj-_2t-%F)hjGoBU1)ax*}E8tV>K)RXG5EtExWV{-dZ{ zdh3s(?sG20P*v4?etHGod=G3+{G$t0Bi|`whS&98`P-rY-%yG`{Iu+5k_6?@0}J@Z zo?!<;2p!LhcZfX6j#7%Ae~)OJStzBbOf#aFaiNr=z8?{-%8yctrhP?piV#v-)eIxL z0;r8Z&QNwwZu|;hDaW%!dKSWS`}hi1q^NB7&Z? z57E9rT}05-U_|c{M(U~`XAw;Wag@aV%~uh90t9dp^vk=5E(Mn-=xxssJ;qd5&2B+7 zA5a$&>Lji~M0YaPRl>8j!`ojag49*NB@pezR9C4kLv#vLT@`19=nqVF)iP^DYckbU zTpoxnXR538!x8PpR9D$Qw17)=Fj|%@AikTYJ$kXZm=RDLQs(YKWC7+xXc22%E%4+F zkeZr8bw@igka}^cmj&Jocf9sto$--i5b1}=Y>X5KNR2>5=3$Bi*&2+<+n5nSo}nT# z7jpt6*&xz_X;|nvVS(pP0PQ6?>9hsYuwZu9f@xS7i??7F0!UA^U={+{amj*NvVxLg zflq`H_gs{Q*k@r8@#zxW*AbPDU5N)5%+>2(V-p)Mxw>I!zEEw;`GYl}n-x*Rclm--t8I+@SLsiya3amOp zU*#B+o(W@%kb(f;>bZf0N<mFE+Qp-H{i#@1uC^9SVL{>95jx-V-B8}5YoJ3Y25{a33`&~1&`1K+f@`z? z=+Do8C60lWwEVshgVH~hv?ylGfV^-NZ*-eO;IDY2--Ny$S1?>b%EUDZ^@wn7$=`3& zLqdRvC)C3@r85PmXAj0)WJdwY7Gn0$!`=#HN~jGnRYND4lN(FrG$TOOCJ%k!-(V=` z!t3fl(F|sSa>+1lk_1o3Y(w}m>e*qgWr~j=qW8cKMllvf~)m2YUq&LSOjs%FAYPy zER$&XnVM+FEv$;@jXQK$&@CwC#)!OwDH6TJd%Ypv413u;Q`QbA;<(qF z5m`udI&n&r1#9mWg4D7?B)B9&_ShmaA9g)TsvYZG64Bu{JF*TY`X719*$~y{;3;rJ zJ91Fhqu6^OdNme79LVEs_+NA5ejc4YUC@h_8+Y=V*#9Uu?oVbt7A@v1&1&Tj8<8H6 znH#s_mNV|u3-obh&O&EgNJ0l7tLISb4ef!$#m>0;A}6qQ>aH_R>RV0vpJ&D;q6C{z zsTTZ@n+C}cd!u*DaUNEV=6htkJ=lR{O$Y`Ovt|K#hLjMaEQzI#(#x>>lXQJG z*3Is_#~fyuU6T1Mz)K0W+cf3|Vl5&`qM6^#Fq5Dy&Y{A?v z)yc)d#gmNtW%N&HtEkPt#fPVS1|rG6jcj3Baq_cWrotuyS<`O?Zn9YnuQ-9O-4!vs(h!0h12bZ%YRjpY>y~}9Z@J5?x>m^eb075 zHv9{j^jh}mR8&=YzV*+cfwqo#@_+-C_p5O5j$brey>Pt0qb`CP^0V=cb8z6qys*Mp zrQy0s@wa@Ro`veJyy!4>oD}fsUXi?c|C0})Io-~ahN<5=-s`XG`C=2iF?>uewcFX* zpr+sTHLq&fz^CXWO@`E{_pf?0)ybL{s`Oi~FS7G1rjE3Ed+(whXc_Koib+ishzdDW ztt61c7-Y1|OOBdwP6^^}?LS{X!NVLU8LH><618X4@Ax0p>QEG5j>i8Qb)wi%llWg4 zbr|f-mV=BsG=A8mp;3py2QeJI&AB0lBBkmSf#K-gKL#MnsDqIatN$?S(3QoIQRj7| z)bu#cOyXcb1_{@J;vfI$YfUP^$6o{g1|F{Y8(~A!@NhqJJan zXhSk0UFINhvpNsaPE70Q@~Y|mP~1#-jpziXb#&wlqG?R)=;={JH#4oHM!cr*@wJ%Z zrmP&Iw=u;{D|JL4WLifv)*|{2Q{0rWMRY&YI{MNB(dJBXvy_VHn@n+&=RBfW*3mne zh@Q(7H$%!1y_6|#rq&~xC2krl*f`T7LbZbE<>&-DaZ@Dr^NnTIU+b~cEtWQS`a zGS3c2TsM@Mn4j-Ld$O@AVzv)(05#az>NRp<+A4aTlu`9%+ZWx5f0yO3Kh9EKzgHwJ=I3n{g5}2LIX2%?vZaZU9j!d_m z%xFiZ+s^h_M^q4wGI?(L8pLTi7aW()EV;}kYLlHD; z5_bYj;UM)56HhOFxDH|VJjxSw)brA?j{)iO!grqj-S1qU z!Q2N{JU^?ETLUN-vsFX~xE?qg?*h^Xhbvejq;GX1&B5Y+XDsBXSpl9tZnGZAjohOL zs(UcgJ21V6lAEBMPdqhy*`q&c2bPxnk^cjhPd_ymnU|PBU{RHZvtqEI$*LJS1mJTq znCc}yHYBC7#2(K!^dzX18m+pXev6D7d;^68X6xQV&oV$Tz>Po>2WhU2Th^|#WhG&N zsg>w!R9BFK&?o|`tuV7H^{BH7TucjTOmBgM>$FK)35H^PcmW2gW8ndyG~Azxo#xEt zMLTX0ZVl93P_xqvWH;t;fht^hs~IsXT)YAZRk+xuZp5r`@dzM+7lg%KcexR>!bLtn z=5U*$h7q&E#YKQ(;WqIVfFDF*0M$S=22ejldsYH|ur@_MK&lWOTxG>7G;cMyKZvdXhus#$9K*9!V9^V6Q*n%B3hIaum3sej>yrn8 zhr|zR9e=WVGzp;WDM*HA_j?7iUBDDvFJQ}r<3^h)?2p8_!M?TuZigwj?$iQ&;ZG_M zI*|%w(R5?^NI3kdVHYGa=Ri50AFB?_=D9moxsWtH*@UR04jB$72zZagAD9M285407NQ<90Fl{3>-u^pMuPtx><< z5M~cn<-DvdjJ-<&Z-dHtcmG@EyrilRsOBH&GylELp!{^Ui~nZ|4OXf}x-)j}G!|?Y zPIf(A36h{^)E60^oDsGNf{urk|L3&^sna*f$@l+8t-+=R0@o;P>|Z@2`Wi&Fk}6Kj z@0o6!F7?U(OxzVmE> zwF+0U*oXyW?aBw!w-g?sL7tU&NNxU%hCIuhp@lK7XGl{+lvjQwcBm7KDhn37jM|Xp zMima%u5Ip)uH=m9IhFitZTNHps+5di?>VMpN1Q?e%^akWnb$hy$|}{UUYjHEPpQUL zc}BGEXIca2zVjZVwn=t-pnwef53d?= zRMgdb-f?v|7e(UDEigjUlx;+A7Ip`wbt`P6n=IIlMAI7vQn*Zc3p$9i54n3|8h_!zoYQ!+3+fPi9Vv>HRIQPr=d`L1E zv!6Ijzkf|!_51RNcGtLCZcRiq>~1*5B}WZntaI+y5ub9Ix*K{x*YVR2$xzjXwq#wu zHCf%gYf3{Nac+@5_+f!`{cW*)`sv-J?UhQcE!mC2ZhDtO4-D(%rE4D8`eKz{>#z8A z0rb1YSkRBMj{*7Jw?3WN_-t@EX}46=)X#{3aW=f2{k9#D&uubP=>(l^mzI@rC?+jZpF+yfPb>e;!Cm$M(V$-bp6m%;Kxsq^XB6Z?{nA8e{~ z6V^EB=eM`cRh6Q4ujw9J8tP>@asbm0C68-MQFHY#>vTU>9m|y~`IhtX_J_`_py0QR zm;5j7{qC#qP3+g4YEY?3iK5U0wZDCM`}RbI@BMCu{ar@E;|JwuwYo0t%st3>>H6YA z=-9VHH_wh+gB#DK$@{k#MLlU*>D6Lg(K4PXFCaHE9{9>FrRn|1zSV*64iDKo+;SPx z@3N~1qVg)G9D3GmM*k2v{NByMGRwbTy};+yX4TMp{@X|TTFi?F?t8S_z43h-quFw~ zY^Yktqe45a=}Kf@d4Tc2XWnf6URRMkX}u$7^}{MFzx%pleO$7>o^4^Ysj<8#srb-` z`y&Rm%GMbUBf7t%GDK91CooOMkv-jS+-oYbFMOvqa7jFo8H&{Z`SSie)n(&uHSzXe z3f=Hv*Sg?r>)f`Gr%oq=9^89YQ!((Vt*zzV-KKAD4hHV6O?m?Kf-hrl4K@Ys8ID#B zZEHo?Ssb11CKmhcQPv|UuB;7oryAC z^~_Bc+4@aBmHi7R+&g-6xo z>H)(PbJ$u#vpla7fMk(W$aA!q%qrHj!kw*jSxIoyqH$y7-CcjZ9x2y))e$5UY*SR3D zEHs3XAl-k?rfuxU!k=$wuf^>HoMXG&gZJEgrXngyDye0=jsGG>In2zuW1SlR5sE{ zl$~(W+3x>i1D9M2^|5pB#KBnI3a)g27p#Bn$7(88nQh?ZywfE0UCK9|(V;D=&Ck#5 z4!lX0JrmUVvNzIlyp7(|{!Q=4%hW*sfW5t!x~3w#7y`?0yg4Z18xSGx<5eeCkqqjJd&Xde~$aPJQ28R@|g$(j59Q^;a8%J^@k) zm$EbHHto&6HNB$LX(c*q1uGZ_>PreU>+Firm#S|j%^?fStlhULOdM%Fo*svbX0S>j z3m$_j7Pxw0qfW10$QNTE9vCd5u%7~urS$k8IK%%5M`9{HpsW0Uu^Gbf8Mc^drH3uB zRYIi)-59EG<4l^*xPA%;qi+F*#G(j)UUfuYi4Ulf4TN{`c+WlNSEwslXs z1f_wQ$&zUTR0U;8XQmwd*F(W^S_v{E73K`}BZVypMXeiyB#h==n}~|2x(l70ZcPcq74))AKmcBPJ&}uc=%mz)676C{~ef zf-J585m~@rGxL6K#f)sym8KIrdz48+<;7O)%Bl1{Sh#bpB0K}=MK6(wOrK7BvqfoJ z$LR`4UoNDw3u)#IS&9$LC@@`qrtgs#a1Dd%&1jG?`|q9&lAePYp|jD51z}F&2lo0S z>Ec*iG5ya2n!MvdHJIZ>GqwKF6@3MDd;hzxNaX@z`>(F3;xgLKwD%s{Km=gAM^^;X##&=>zV|sXPo*MecoE@j0VBDX3PDCU z@Liw`u0~#Y*P&At<&q8}^Ral~V@1)^MdU54kRW@QWC~1TPD#~6dke5ZVy})qBJW^A z7eNZ}Zb0Idpy;*?1vfx@1~Bzf5LYnaGcayb}aA5hDa8dpFu~4LK87J0a2!gU$rMT@ZN%*&V$0Au<6u z^YD8j(ue6$aK#(ZJjkO!$k*VnL1mMU1PUbHDv}vSBKd%9gy{xk-p7Ax?}oxSIiNZA zz(C;ds_7uUDt)AQ1i6)ko>`E@u&)8>64K=b$cV&J*B5U@M{Rup8moD>9!N^80J|A$ zQt|;irbo5L={pd+_{YQHpF4n^(P&eyNP>abEKEYDNJda*Gn&I#ZY?1BKZru2Z+)Uc zQkSN2-=q(ap%Z{M7asmegR}yF0CWXH)Cga8`D-?d_O}ZPx<4edDe=sjqqa*@{mH!T z0>8iC>29MvNbM;*zDquui{9TDI{96bet5(;Shl2bc1>@2|I2xu)Gpy&lkV98Zy5rQ zwI^F7FIP%-Bx^t4A*?Mu=9oN4Uv{UOR4x0lY-q|i`F(%207J3MyK2@h_Arh63wK3R z<-Hy!$JpJGY~RuGvgM4~RCTQ8$NJe5pJm_qNv|C4$18XZg2lt8RP2i4gBT}Y(ArNg zyJ!%hOmkfNGe-W&6#JdQzy=PnP3_;+#ST1HU3KWy+Ps!?-K)65Omriv#q8+Xnx4;M zgm>JDcbG~^T2&C3ydde&ke2jtEnVu%g;%50UwfNZS9?hphi>na=%`lj`|$K@{!M?@>d}4^7_|M=Txj%=&ARCY}*0ZAA)Zk}lWAi2<2PHPP_SO=2BzhQ~)g9X!m@ddN zm5ShYd-XteZT{8S+*EW&oXm#E#MGQ#R?Eg$J=Sjf8_FqjA zTH5IO{+(W;iqPem(@PKc^z^cV>(BHupB-ZOh0kN~%fsnqDIeHAV|tlkiui9)uK(MD zJ+PdkqTCmzr}|x+kZUxk;jl4X6S{x%8ZzJEL)vUwq(tRPcFbA1NGP5zPg7v8oI}En za8#~Zz#6nnwxSoysu96F7nNqfgmi$pl67d(17wTO#EgE?=n&0*0u1v6qHK8L2%D`9R!AfTh-8wVIgoqHho@-w0WRc5UGWOhBLXP)e`y1v zSEAVed0!Cund#kPJB;WFUW=I*#exGUSWsHfHR9}ynK1pZIU>y5ys zZx}#djBVXlBu4KR-$hbk$M@XOAZd}C6T!O!g@&+E8f_u2e$twxKw?X%QkJJxau5;4 z+qf%NO?Rq*9OlRiT~*}KaONv4fMjJugUkx@ZCiefWSFUkIR>Y1f|Ekw@2rjFBu^QZ z%-g-6fEb*1Ja)h)4+kZo4IteGbA8k#1XEuS4mVnBie%6*3_7io=V4c0Og*Yf6mxXW z7E`ohhB$9!js&dNa9#`D=>Nh)&1VA|Q4NuY+UsZVZeYihehM+{n3>Pu8ctf`b(Pt}#vM7b39cppCC;)|2Ef*2OG zWWZXS=@J}?emrcr{yq(o49D330PP_h2?Q_vS>0Oj@* zeD9tCP#;3MvjEyd7!?a(7=#0H0H#8?;~an$5Z+G!uoXh(L;$BCJbwW|IS+#GBnF^9 zgnKUmXb)k{WdOqZJ&%8i@}m$m>X|lFjgRwiDWP^ z@2Ug+6H_R{jLw2HCCIv)B{1bz^xd!_2|j2;Qza{^ANdVnf?4!! zw9BtDIORQH3Rz%oEil`{sFYw&bBZqDPAAKg%{XuA@kvZuGPN|e#?;PjfmT&i4Wo-j zb{@#lYeT90A_jEY_Q0B4xNS%CNYk3~A@%1u8J{ATZ7<@R8Lx z{C=s5i|WpckNcdsk&~><`Qe)>*9^O6h2%YjmKCA!!r)B;+wA|k#0S=tMPEYo(NL3$ z<0d&)R=%oabI{TS2-=U!1o#xdr#r)bt#XkX&qN`+YWSyF2i;>{ZyE1dsy>orp5JEa z^=RCD@?Fr6^d#?M=Z23aFZDHw_k{)gsy#8ApUS9Ga^ThvUO$%jXhgr{!0Xc3)ZbYe z-rc%(F_%_PzV2#fG>_8csiRjGi>vJRANde78Oe_?@6Pe3HoUK)d@ zFg{^Rms?v!Ghc3SV%Yxb~_g1w=?&YpUbdT8wEqgZ|Qz4AwzgBrs;zCJ3v zeVLvVTJ069KUJUIp(Nwqt*S|1v6m5$Qh4OkM)BuWN{^>rjXw$!r}oOfQTk1Cm}MD*4F$Z;hTo^QadmdWtsAu2XrEJN3)8pW1#d(%@EGna!|v*L{!tvi#vU zVT{1HH}X@Cglx~1ihkTTIY$3_HCm;$YC*7?cUN@P+Z(06@BKTyyMDY-btp(+G(Qt9 z_5GqU<)L&@s)?JV^y=MnH$TuCv#ZtRSyG4x7j0_6g}!PpYU=L(;GweH zI&E?vhj)j#DZN-9Mj+D^4q^p%BgGiP@in`kWz@Zc?Dx(WT|g|QjUaEsX*0} zNgc_UoPpnL1MQ0hVtzylSs$?M`e-2+5 zVU(`~E|3SD)p)Ks*}?%R3x$vHO!_1G%PbUEmmY-Z4akR-Cz^_AVG8nhejS16J{}|x zcAiG`F99SFzDY!M2h-pA*$qUWm;;kR<vIig$V!05V(W<>Haqw7BO zBU%~=WJEMvC;JX~_q&Llf}o0?c}YBw#|NmYVMN^rds~+NO~EUj1DAfTNsx-nYIHzn*+B?3=xIg)+lyuNi zSdbm>0}{nT0hWho8hRF(lZRWu{eX+Rv#T#&Xs-<<0PyJC9NY8w*>J%%B+`72a4MOE zYXK<3VNT^B;kFRUQD>3xKnQ!oI7#?L2+P8_NccSnqrO+L^5s0pY%)!Oi z5&V2YgmF!X3_?V38;JNrMDYNKT7t!J45FN1ahwKGaIgg42$5;9Bt8O>WUv%2zMkOs z^@udC2@&mx3~mF_i6gRj07O3sAu^h(rQZaT-J&{%Uw5M7R9a@ezn3{Fme68wq|}{WWk+ zh~)iO;2=N+Z0kF`5)Xi={O~FqgXqj*O`HbNuESb*BScFMYvUsj{q|dpi<=VXKK0YV zH6g~e-w-ySve^>WY>@-6Q zynk15TuJ|1t2k;3vlpXPT;KXXQKGBXK@3-MTMQwFtGN7&)2le|L;zWFM&hZ6)jz8^ zH*%~bFIv0ZxiNd%q{LLZ&{Lq&g%xMS4w5EHkO#-N9%BOO$1iEGln_m&2U{%PjF0h>q%8;*$_9*lLN({v_C$>;dc`D)IyDAQFqR z#6uyva|!T+C@2T;gGieW_(5b|5BNc}?+f7fi{N)@6!3$HozDv24bgsiD?Ah;H4Q5~ z1)}lwR(Lr?61%MM7Kj48t?)^Rc#c`&vcm+w-iuba9z>KpE4)yJc*@rk+h^)IW|Xo- z>)9DY^3Ocf7Fa{_WFjlCn-w$X0c(x#3X&EO;ax<%Mfk(oA$wB{=~s#19!qxYB6ndL zjB~`36SPPa+B5D-H_~+AZvJWX$qPW>?nhBjqV>+=A_=DY;E%gE2or|ah-0dTSz!bq zeePdB*nm`}8aFY-5M7#Srvo&fzY4g#l0&4ra;Nq_#|0D_PRKX0Hh=cZ?Qtsogn z()~}ZAYD8}U%hB0Nt=v`D&}Y-qX}S0Qj=nzw~~X6$PSD-e$RUThto{1|9`~V$o5OF z4;4f@k6MvTeG)mcLXyZedkPwip`OY1E}^P{=8eqTP-_GAOt(uUr|04|lTrkRbMeq9 zz=^P;CQVBs6QtKAw6wtJ_7PRt1l2cJp`oo~0xj4bq3#-A3;gvZpaz@WXa^quOp_!g zm{1`Izxte;=wG}##DTO8KN;#kYMoZaDVIoM${W-56b=z{vumINOHBYzo$-fo1=c0g z^5)ig*kF7l+Pqy8RQOpxOP6ZCn=EgY?8%h8n^Lq5N}*mE2ff9 zIS|qo;(k_i-TL_{dxY7q8t-bk$#K*5kxgOXY**ikg2uz$R~m&P7x{6RD*ZYr=(;!H zv)$pY0qJd)>EXf~BzV8_S{bP;n-6~TSdx{%xAE!XCb~N#XR2$-()n*QLT_HSUjDg5 zxP4Op`F(6#M#5fQn*EYYr}lT)y<6t;mMC8(f@Yw8|cD%kq5Cy=$!^HB8zcyIPmlc#mIAwnjhDV=vdM z3mxuzI0bs{DaG>BHoRzD(h%iUX`Q&L(a<`jA$6WaKIi->wVj`rDZ73-IN!){E!VDl zk$i@Ep)a+{2Avn|>!_MaHD&qK1oWnap1;IItl}IP1si6^ARli+6f!4?SOQFqP%;tSxoUwY-H&Ig`t- zKHu<3@$*nzmBl?Tche8_sh^xj$mJ2OhTdtKwbEZ_6QsfI2+hly*;j}+)fDkSfvpH$Be{Hd;y?E<3{BxSmnhAJi8+GpM*(iTWz-=y)i-QCZG2TDmaKOA8ZG z@{8kF_Fv1X5VUUl3(wfK9@WJLSDGDoRd!x=xy(yGUaQSpvj1}C{U5RS_ZtdrtDg8) zeN-*9x$u;t=|PE|reEHj@ne5noSQN$NFqtwFyw~sk7X^H=XKPD6N5HN&83*O2~i1CMUb{TmKcHOFa@S##P@%-e-;oSjc#a04Kmqm?uiR?MI zyW;f8D9J5_@4tWCX7k4I$vW+Rg+8eem--#6=WL1-e`|Bz#3_v^rfJg`^Aq~=sgruUhfFknE&gy+X&-=XJ z@g92|?C+eJJ!j{dYp(0uS@!?;)pY#s$|Ar)uBl}F>yE5+Sb^M~BK9egUF=h|KqwIQ z_GI_cTST>qBP=HLV_PEx@b>u96NnaJ)eWQSKWK}$4;eLm4{gT;hq88h2a?ra`penA zGgPOkh?jc0C*`)hdZVc;UVgrui>RM~Q;$gpD(unX*{VynE30*XxN$QH=~IP@+SK7QmKG|-H>~&CosO6y*?ZI9`u6pc@Y$QPa%x#x5mwo1)LGMb z=C|8X{&>=DT)C;IXG0-;J9e5d>8)J={*=Xyy5{uXHb-qL(Ix}jRYFg5SB`x5R4;$! zUfuX)WqwN<<}`L}JW?R8vV6_h@alhhRCie6QZKzES&KW^r#$)@@U*DgWcP=vHtgMs zt}~nYt%W!lUl$EIqbppz5?s0P#ctU4Q@|x$@V0F_5XD#5|CMqS7&77Itp7F@2d7t_ z%JLJBP+C%em4<5$%3y3ZET7%=c&w!)gdn&g6F=}+^%1d^N*33u6nwKIB$mOu+{5_k z%k*zh0|PEeHWzrQv$f3o6loeJ5|M42{zp7Z8rH81I)i)XSPha}vjk8y%-QV-7;mMT zEwhN1r;pEGO-=1lkq;LAy!AxFG%|WXN_HwxNOtD8+ojhw5q;Z=DJ*&~m`?Bu&HhBj z30kL|k=g5HQyW}Ad*9bdE^wP%BVwP=ljc1ZICF((xTJ{-Gy3KMH@UPmVgw@Jv9{f5 z5?QNJ^(&H`qTMC%#_T}-7`875goo}Dhp1EI#gpLR?$IxRrA6)_{>^m1r|jz+;vhC! zw8H-9JXpn@6DP2D;o-$0mgL$&;hMszN8kM@h_)13(UlyO46_ef4>sD5o{Jq0w>4Ki zQtPos%lQ6M)?zXJYy^siTl?vKAdTvo$5-0Do|Mdy8Wgo}RBQ&ftTo4n69tBSzq^S+Yz&2EOKEc=b z9i9>xY84@SG5>mD0(B*EBplunNZDOfNDxClJAz$R)8BPFfS{5=qn!M^-0I!^(p&i} zpHgU&gziPMH)~Xh@r}iF)R%X9v_;*K`JH`i3FC;?_<1(qYcAhw`7)|!I~RKl%^v!X z9VNU6zZD%ej`kR3(k!1DXfIs|akv293FV2{8o$=>Yu4N{&fOoVHMMth%kJKq5F8xt zIXf`)Cq$vHwV`2P>ph{EJaJaVw{B9Bm*1nC!%A3a9`m^;Yhw3%TViMXde8vvTj~>u z#ZMLc1rxjyhWX@zMOj=eo#wYrZnjgd65Z$7kBKFL>BPnK1fjE9srYGig!0}`aN-yJ zvU?t+fl?4jp@9EQqd6NRZ)=gmhmz8{exC9{sznv`tOiav)+@`MRj+gwBfopXV!Iwo zc#{tUvU?7Ol5S2rejSKFlW?ZY%4wuma1*u!49Ap+$D59G+Hu)KbT2*0wUzi9TO#{w z+{!AqVKMq~>L&)mF?hWjTnpZ}Y3S>BOcI}Sq@_QkyK=#NALd&`>-g_ekH;E*=3F_# zW=kK`f!w3(JO6+$A@}vlfh*8T@?Nn;uoBjh!0^fA0x97GrQS25rn@{Gu{12jc73C4 zhW(Tge5P&1$Eoazz7oGRb`)TfG`7mMzxtW{x1OIdZatDSdH;IKvZ1?GC$XLMrmsdv zRq#FSskk?@Vs7FNV_&sho=ZRN=e*6ZUeGdfpH+Qn4cF_4%t>s+odCyXpvqZ}w zBrfZS*=e|!HEPeKU^IoqHv1jxym59wb-NZB9$6jna;=vAb9?oGmv4w3z~)+CF%MGw zfK$A5&3o?t6Q@sK5hYzted>PC%$eG2#Y2wJyidIef_?$5RmYptYTfFn5f#n;PMeJN zLSv}I4lXPa{f;Z}?T5X;vdw?dS)Maxpa1w$@z1>Y&op@iQe1`}lXt8%3ux5X>*VU)*lEHGCtWHD{JnFa$o+KVfch*xV9^0iX z*hEDHNCYyE&i9Y88s~Yh2U}*aNzQ#OUh83!x~uUk$7|a&j!HZWuFlBw>;q92O}HTi zua;1w>oo&b)3`DE{ddINBvrRu(_Tq6Vw&h@2Bantv2WyXi>Xw|iHN~|e*QZf%EA7b z9e)E?BE%|skOXlhe()J!z}r*8hBx3|-Z1XQ%d6KVwxL$X8Y(@PX(u+cl9e&_C%qRE z3VBOa8o%IMJkOzkGP%<8lfvxri6{JF-$Zovxr)|!Rrg0{fl{Z(S5MR|CoWZU4=!~g z%_TeECvfdv1b&M{nG%3uYB%;ji!lwPkJAg-Bus_#XmB?23>=(6__Lo%G{FU*FO2lyoT?rA7}5)aKvvg)+E5@gR`lC=NN<3g0=0$rzj4Dk(>Zv4$R3|L=P zj<)8?J+Au#>3hHGCJ>1wkx<(5xY2k>sIYV~RYU~Q;NH*EEKn?QvAXLnFzXvu6%A_^ zb)yk;JfLPnF(!VbK;wXp&iCZ2>5G>i9Q~RC$_Gm6VY=3@b^^v-_VMo&H>r^pduqf` z_ZwzU2t25CPQ$uvzrho)!DB)Fpv=adr10i5m5;hX^EGj0(9bEZ+y^-axb)<_QtqbW zp%#`*>gspV`5YYIMh@%l8?Q3zv)0bTPBUH2)RJbbht?DW?Lz(U5m4%1^5XIBB`lyOxh_=mIl1U z)c0E+6O z?UxoC6oy6_USXqI;ZlZAZ66xyiKe2kj0S)IuOa|h6a3c3e2k(jHA{o&AEOzO0(c+z z+Aut`MmM|HQM6sJ2WlVd?82;R!kbvl7=Mq6%lZ=?>qX_|CdZz?ED$BvR3-8%@F(EX^WP79%zEc38hh(n8>*l>%oXv_Z;vbyH1eiN$Co%V%~5xcJQWz2L` z+Dl%#!FRfiIU!E{rgZoEs9S`-88Gsc zN-lSb>)zjc#m7gF9rxCZDPQ#V?5YY0Wd1a#-xN<-@^t}+lT*oDSR%n|sB+dy2^RTt zz8}B)cSO1TeXJBd@%tCw)n1;z`hv4yp)qI03}ZxH5|EkP@lSfg9jfIK6{pOLtr7Y? zg*kZ7x0dCJIqut3BG;%r+JPtgT$Ga(=8IU}to{XITpgzO>bJ@67tE?>--4dr|2`t1 zF`>iR^0Zk;^_0k@5kKZ;o9;Kvg+zVht1r+wVh8gt0&ErG_jtQHG8)~C&~x}xt1uH& zCcH6h&E#kBc{QHC|o>1%dTH=AFV`nVFNHk#FMnKyn4x_@-=j8v}ZAf8nv zC1oB>px~2x@-NsxUj{pO8*eIyy~^>E3v4F%>!3r@48JXB-SgM90S~*2pLb!c>hi~8 z^7H!pFF`Af6c(AU6s~?;x_nnvz-(l11jSDVSxx*Bz2Sw){ z?!n()Zz$n;MLc_#E;GA`nJ6BGxn-A=-J^99=%0wM#!58#>TY97l!<}k#scqjcHoIR zeRo4eYrDXs8;J!9*<^u)eFVC&q#KYA_Iw%I#wm4g-9F24-iYXhnl%K!UrT|eCCq-1 zld_a(C}m#lEB zT8t&}(+Yt;#cEWFhi&sFc^3wUO#Y=;`a*TqnN{!RG~`0bi_y^^;2PK8frU7uwuZfz zdsrl*OI?XSi-8DxmU_wiq6Z!!`qfKopj6W0c19tmlV1+4y{CTJK(dT#uA?GwN*MiS zoiUL9qSwH%mSM?J#SRv6-R$y?`a`<)lMzYLbgI3^#U;B zJ`rR4joN=tWe564=+n|9!E@ZLN?dN?k7KC^oo9F$LgnRgjeF>$p2kCza+CIOKcrK z^k;4co=bJGqgaQ-Z})jt&%k@3!u2;_q)a~`Lg((}tEM9m>KiMEg>*)$i77$jBWvWS zo*3VHcRsOHC=n0GZX8Jc5b$ZLM+;^BYMF73T#jFxCI~u}Z9Rd;JVNjUx3w_v|I%^| zOTGMay4jzAmeX6x0OrOIJ;`Oai>^J5qcge!p3~M+ep1Xtx2+Gjx6rkncizGa9`78;=kUzGrm<)8| z3)Cw}P(D90HhtUbw5|HdIZpYPXXRa8h%%P$p2f~egv$mdF7url?YyvQ!t5tJ@0)J8 zWq;ePG{!c4CCnU>(9~|dqUMy`qy}R^>ru8-=Ws8&L%zm|^JVtuU5Q`aRn&_^i9y>F z*r%ds7{#InUuA^^-#HH7(_xBbHBeI-D7^?FM5mcz$k7(iI7Y7|=ym!`YD9tkqr|r% ztYRqBy2$hgZjU3;XB3;y+81;I^^t+4j6SK~>+Pr;L^u!g01fKD_hn%Jbz_FVb12jV z(d#}CA@0jK1kq69jr`s-8OixRT#kcPpOIddiSXS}sW-ah!v;RzTB<3EQcn?XS=t>!Ty&Im z8AhRWu`B{Lbh|U2H_jD!B@&+{&WSo}+_v1UXTOQWsMWQ}{fIDZe%+$#bg7{O!^g4v zB~yy|fQCbwdo#j@^Sy;N{_n*N!+V%Oay;x;i)qDi=oj z6%67v5=kca;lJA&$Y7YzzzAbRv)m;z|tFc49KF`caeA@S5d@R1)>z9oWvJ=Hxwf?&=8brEQ(D z6Cf=K~kh{6>UhmTSmgziuQ94pNZ$VY`Ie0Y@rt4NRN4JRYn*Iv0w45 z&ANve*Ye@1nYDF@>D9XBuFJ*_&fPHAe&j?iD4$NkRDH`MLH%bxnTpF#AxbURyN`U{ zrD$;;67wHEi&lf3@X~$jcXuU2vF`O&lm24z&p`FhxbDvXDoeu6^ZBe|dr@wzOhmu~po2frEY{z?s<*SkWkX2U$rFt%zd|(}RTcPDw zIGo-502^YF90v`qaZ4P1@?m!}?EB`rZ`SmPm}YD#^<82L9cbWL$Aby1XvQ}O+siof zqm-+hDT+o?Uuv*t(VU^T!*b-bi`aBYDuM8~J(NC;Am9KoQpJY#Ghhif$*28}UkX4O zZ++yN?m$7ebbIF=rn~|CEv!w}7%h+W%>2B+n_Q;A&>Gi6+Jv3K_+175c8!Xm*q7Mk zTIz8tgIG$EptY>q5_8PUFiq34V9!VvoNtQSQ<~w+jeUDmlN9aA5>@LmO1G%|J6>lH zFAdw#F_3$`G7vSa^pBJH0IBHkL;Ls^_1U=H`+7QQuK30XR&=xpLwwlJB)`Ko^K#qv z*OBWqyM3a8C}k?cQ`x5Za)*seVw7ha8F~6U8J|jtA4T6Olx1BLs^vC2BEO#gzWY41 z*1%rwklWWZD&95XDAJC0CF$Os#yExkR_q7pjHi(gzlq83m%{$JO@O?c4urkei@i6# zKXC_cR0WGNtcrZQ{gG}Ck}ra`eEuGTU0YcRr)53Du%+z?v|w~hIcp{&d7|9O(SWM zA`YQgpW`yq-2KO;o3%k7Jsb(w>jf$`bel%JDG$$l#AMm|yOMm+$;g zL|J@Nz9!Z<@4;U*KoL}^WL_wwk9%WDi#z$k%$kQXvMb`K(bY;{Pi{?@S`cf0Y16*v z)U74SM0!h3T$dmn_1~vMQGzZ=TZb<>&|oQ}DVqX#isx3C3=f+Wvq|mt2Yxs__YWPq zEuH}DxJtnaja)mCIXKzew)s5gL38f46|yXvQSp<+Fy$CGXHw>MZL`SdTy<6MkHWl4 zuO^wJKCu?)$73Y6}{zcDm<(ce@8x^3GZhgMyxh*uMC1X8%R>{i|>LgRv4~MyvCQ^Hh>GtGl@7G4mz0;b$Yo z-`pTjd03d$4K%%q_tbXx$xNT$h+$9OmZv3mLjT^lUB{`tmip3C>X~0}LVJRjAFMU; z<7oG8m=8vT$=iagJa%KZO{Fp&u5$8W95Wi8X$Xs69A<{e_jl`c2Tb>6C^aXHwLP8f zVlj;bbMBWfhTJzfd61di>`D`^s)O1?a#)eBU$y_1(X+aO3m2=Lf79;g`!BzmqF(&k z8~f%ix;6V;1+NpwV%i&)zMN`m6bOYak*2A{rN&C*wr*a|X3Z*Ju=Mu#2CQxt7Lu66 z#cO1g3VU_XRetZ&BULz~U^GM#%TrUsG-F)lSo;3kT{NF9A!D){%?-XvoGH)%yXs6A zL~-F|QXV*?=~-FTTw^^X_Q&o*vxM@8!Fv(mD$60cQANrjaJJIoGtd~Z(D*TA1?7Je z-7~sHJ|OOH^2~`!sct3M$M@ier17_XFPW~hK1x^jshQ$~j}9B72^#dSO}hdyf+)mK zSG4qENa6^rg001($?^|5-C%~%S%gG(l>*{=S+f{v0CZw{Hn~w%e^o_3yS!u8S1Q!m^2T6VHPtG$C;T+Zim%-%a)tle zJY@cp*nHK1pYe%oO`tBI9)e@q$TG^LL*|0Ti`sCM$Lj{`XDMhkeFpoWq|SYd{iveY ziKq0nqA1OSW2K1cNVNMSUq+Wr4mH~04D+9k1ncjzVz#jKDe!W$U@_2)qVze&RDP9V z{p{Qoy zWiJXC%7^wkDF@vw=Pd$ZcU^^dTvzQWvD>lxZd8le*FzlAKFE#e4MpkAbHF!;$1xVG zG@~_wq}B@0y9v7f=kY6-;1^VHG2IY2J*ki+;A0W$0cKHkiEKFUHEe2JjQb;V(nF_+ z4KcQlF89uNI%Hm)caWe%y2(eWgYUUA!g@_pS)u;VUlwz+OlFPpKGiTIw&=H*I+?o$E=_fI`GzoR zRy;CkiNPG{Zz&UTUf*A-?pWmEu$ExIiy#h9p1LC4nv$Xke@T!VM-^-I)l!H*uk6v= zg3d|uoG_d$eU_&2lycdS&x*3BWgAtt^CChv20_@2$M(g~EE5z|A!@K^6iKYE28yXo zML0`#=9f>tL?=Dpu>XRg<7S!z8GVB75^tT>eA zeS&?n)qbVeVk%-0?kzzm_xx3(NMQu6VV2?@qhzMV+8kGUdnS?U*rAky=mGqmq_0kK z#y!Q~z!Hn^GcNUdOFo=3qRvu?@y-7gGC!-!?4xb0py_z>YAfoVmF{Kp>J{w3_H?@Y zzF@t}>0_gL{sI#};X(AbPi7?FPqeG<#J;wA%7_t)Ueeq9Scn~;G?cc??(GZ7Bmd|$ z`kQ&Dp+^TXY2*j0n9>PFs%ZJTFR}cC)i|-wo>stw438N+xK24lY#217Pfs%Bh*_8( z+{Y3H}0l`LmtIXHMMk_!78H*l+y|(>ruo zy5l=AmP308S0bi9#>EJ2)}p79uYwA>{nPvmr{7a;ZQGccS}@z*GT?G~Tp&nqY;CE5`iypeI zeeCTFLoE0`hVdBXopAeC#7L@X)60OR6a?c^o)2DTT)7qqIiu1x#!eW+G%(J&rP!*i z6Pa_$Ggs?oQ21QxsnZ>w3MKx9SYmjpc^ePchlKTCMdC(;hnboICGE02Re;-VBpR1s5hWgiy7@YM)B9fEv5kv$fcg zpD83_p2l*xBvSge#5ALky!>To%42A>15=V|!nPDwXgoEf{qXj|DATZ8>*UN+UszC~ zMsLXtiNdqWQqHp&;Cw1hei$1Hf$iOWvKbxm!YfN9M@1Q|vQlq@d@f>Di zZTe%L25XrNRkdENQ?b;g%X9vrYBb)PfV4Na^B9YYMz5lJdlx6Zoyu`}+Vtm!X>NU* zmlJ4PN_Ab9B~{;TACU>CAL)uBjB0-5?`m7xcMn(M5&rKNozXZ3-@d&V%p9$oe)w3h zlV~F3_yvSw*Ub(1UItfwB-8{eE^?6-7MrAn-)RNKmfT9+m^sxofxX(%T>IY#FbU(f z12rvTl-KkHMtL+ZE<*FYjeNp$SuLC$ileby2R!|n&MfcNO4VnB)AL`P>Gdt0X^*nz zbz>RLD^8n;hRgS=$~4}5k{-3ar>LO)G1@m{VhkpKKCF`y9cW5>dpJ$CbY?OBEm8fJ zXTLD!iMFEfh`E6ZV}o+YDl@H3zzc=<Y@d|K8n!a^$1v z;=&!6!t@rkZYoG)XHOf87rwcs{xbS;EMc&>Qffe*ZE5D#XL z`iz}^pmvrgZsPn&+)b)Xbeo(uSln4&P&)APX0hFj^HTF`GVGnX)iIB+Y3K9DMbx9Y zuVBhbc77d6IIc- zs$Tp1Ctd=U^UqCWENfRX16u2APsM{@;J>pUZLRAqT5~RLDhDJqkB=kh?0>(RFJ;Vi z#7`-nFsgTn-af}05EkaqL}l7Fvl?(#j`P8rB4)%|xR1fP9bnZ-nlXL_t3zp~ zR=p{syzn8{Rg|*ibGRY@&&u(q7^*RSQZ<|2uX)srJf7gA$3YFaUFYuqq`e(>w{NO_ zg)Pye0xck~O;d-ZG=EWxsVhpg`8ue%T^Q z-j)COrq)$z`OsSRvdaq{n*3tjnJwFZg(ijXn*wypZUm~1czlYH zgstohEuMUEZ(FYukxeEB2S#tH6l2}toHwXng^y+-#d7`dvtR3_^wPuA;f1gd1~?Q7 z%aMj`8$X~EexJ>mm0T4=`)f|ap%k>1@oxU-k9>)4U`M`FJ=y81MGg1Zkk?cALB%$< zNPUQhxBXmEe&w=z)tm9e|M~R!``?!`_o4s$xYmMRqndXS@B{rJMK5Vt4ok_4J12PY z^G$qMvsCK(Z}@PjUxsGC?Ne<lD@oB7Q%9rJc5sv&Y{{8{EUS1aE5dWLdZs6jYQiu7&P+n!aGiIGdpk#9^tn^)1< zcd)>zS*S{({y4nGEXEr68n0>8o+zm+3vpI~+TQpkqvY{5o01 zx8pa+`2+nPhkv2G3$Z>wUEIH*>$&NDF~@ra`w4yXBzeWE=An>IZu};O;*UA`LXNNP zF00w2*j8Dc4wI#{POIC!x3haEEMz;+HL%uKsMZh8TdnIhhZ-L`yqVaO+39L{8FAS) zaniLTKAF4Yqc09Q+}#M#d$kjyU%a(&8AR*O#?2 zETOZ~Tu@K9Cs&8Q-@b(S&VQWzdNs?UxmtTlhaU9wvCctvQX^OM(hlQly_D$azTPy( zl#m0y5SjjIJ{v6hL#GtC14}E;gUOL>5=_>;RQb`okncV}ZLkU~*(xa9DUcfpWgDoA`kqzat(}+ppTj22;L9` zsi~=sQpOJ47@I|Va>^#+Z+~T0K)Wj5CR(fwvvQYf@T3+L6fyXb(NqJNW2a<>C%O;a z`8pKDiVc}!sQX$wejY)Z-RUW!l<6sWud%u7p%bdAH`$Pex|`dA$dAW{f`(@{+Mk)i zI#yFUvkx&JXM-qKFfBnu%q-^@5(1#5GJ{!;?~^LC{o@myV9CM zSZ-FN>$5_mT}?#!xg(nC6|S5HJ83Z`zM^&7oF{$)JyzNx@b&M>&hLGU|9QYLeve~3 zhAdAKA+*m^^xVEN;3;)BFr=i@quq4B?hM$$d-;V)qb9Uz=$7rOM1lEEme1G^DW8d- zcseB#)jKB?;~E93-<9JT$vI2Zr3Is>#u+Tjel@3+XJ^%>a}udPoX$xW9Aw*U;h~lY4FyA)>{AJ6W^#E;_NcfXq) z;+5L;+-qmEl+)q2SjeTFgnEa(sNUA-O?SnPPSVUw&j-B zN$k3QDoSW9FwUP&NSBO<&B>URpGbGZF&S$gjykc&pZT<7d|@S%kLm z9xiTbG32*cvS)Cqk6LQAZBAP4^fEIGqN1)&8No13@tVo1bD8mLQm^=A>r(~V;Xq5{ zXV?dFPyI!58PwjAXYk8^xcFF@OY80(b?AJKXP=9PUhZu?Gw^#f-8`Bo|5fL#5QHg4 zv9LLb&MYCDoFV?BXAE5cbL^I^SI^{ki}Rp+u*snNf|d&lp)y*&FLvyAPIm(i*qy|b zVhDsoB^?C%pxs4}?{jAb4=rM*R*opHy}Hhu)LY|tL@I_ugPsIc4J+*h!owcDHU6%? z8?K16IGVB{fTzSRaI9b%$z^kL!(qk6sl@a>+0mX`sP0Sq^V-`%$F+08qojJ{TWK); z?`0O<0&E((+7qmq#}393M9Mh4L?lBb9C#kiZz?oYB^SL|4>*d#H2pu|mcJixcwL;7 zu+g3Ml8J;O(N%po+ln@@V4?ojk78X9=T{y~(0cOqhHR!W_Q!O|t3oy%H#RrEi+v*O zxWO*7H$@zp|L{|X7HVt&ktGpc2q%{}%(DaIuC2f6_n;eoCApEKkKD~1-0~6z$^;jA z`XZ>+cdSTH7<0yjdTtZrcp1+PlNmdw3*D%1(h`1^Dzw~nHd9(CJ-F{c@pU?gMKF+X zLw{F9vT}rZAv%TBLFh7~+n{ zu&r=*Wb#(%Gn8aytFxD5Got4(ltX%%M7>{YIQAJa=i<8&aq#l4mOf=ree07jJwWnt zqc4;=k^2FE+s!;T4hHO;c)sQzsEqaz;|=r#C9rQYMVH0Pxh?rkP46Ym-ZaoN+ub;$ zynptfX!LUEGr6s}GjGKfUs6KF$HaFAD}|_jRQ!@LoB_RD*`sy`HYto zYN8>-)%-a3VL$m7PFRHnf%UPmK3NMJJQFWYN4xsHO7*mX&o5%7+TFgTE|FcBtgz^{ zE39yuAJ+;6m7*5~Lm(7_2Vjq2BWn70^(@5h@9Y+ z(1$~=wD_mo&BZ+<-(efdB3mof#0}F-LWN^nKGp?xINJMCw4L;~o@F@ue!hsp|C1ZJ zo3K?1G01&kTLxekshR}ftthO%%hi^wtW!m7Yln^8Edj2R5;eB(&CDwadE7bOhB-BA zca5GgnOzurDt%D>_BBrYpqe%Vi=uJ&{`G)8>@37RgaJzq1xgr-g2sRX!IHD0hO%># z8*lqVNJvnj9)$9|4CAAtLTD)5gpG|h9vo`n480{!nHabGa5#={#@Sn$lI*CH-XkP1 zWbQ{PBD^IKzUYW+r5@VWwkDci{TS^DB^&(cdou$}0Gk|fA7lzJ8Y0AdvQ8U+4znXS z?kr|`c3Mbn6V+hcO!~<0Uc$o%p4NG3ON$BC`T@<}FF(w)b83XKWjG8w2q>aJ&+`Wr`Hv6Vf03Nx=n^cr&U4yDL2G z>KdzT&Gup3>9O}l!IJjGD6ik@dUe>h52PD|a-}rfrvG(5DJ~MjP&ovsxDfl0BnV|7 zME@or)qd^ML?|qW7d0@L9kq3Cs*?IbDK08fbkon>&!+06e3(K@e}XWBZh_R<^kgEs zYC1@?-*UbBhl?QXNPvv@gO(!_?tFWPcRyi^|Fbu=kSMOF{t#OScHBlH{Nx1HcW($B zn1^o&v5{k9?pUE)7^3D`Sd;}4yNaf=MM8Q}HYjRQhWpZQO{ZdDlDU&O#b&p(?4v;8 z>pz4^};9?=08jKcV}#n<-nkw@EURXyJmNk9qSC0Cv-4-3Mg{sMn59BF5c+2*WV@_$gyA1P2 z?lWwp)cL4pIaWon1MoKu7><<=Qd-@k4WRlH9Db zZgi;pmXpYYOn6ey*kX3gOH1$b3n=HxeKzJ1ShaWCf`Me6Lsd)ac6tAp1kqKijnTVL zS8e}$QK4X&4ZK5~W_cVGMl9vdiCUqOeOLxF&ezie{l({&>C-h{!%g(qFsy$sD&YFMzz@S<^Bq}7 z>_rf9MwEkY6nAt`dR=$U6~AMmC4Pi;+Rcg;D;rSvO+h)((3|?+oOc=LBP@~|x0Y^g z?1p4!%O5#c-_GU0eVH|wr`>P|-X$=35I>QN`hSiQ?I`i_4Md0^)22=1gaUiIOwPJ{ zeVt+!7SR&M!s5OEh9Wn21vO4h!h7Hret4G&7k7Bj&%5tskEM#MMQYm2f6sQ97}XjE zyUMZIXTQ&*vYIqm<`r?hTo)Lnx4yE#4gWJ%Acu{|idL99Zy$U4L()=;Y2GS8w%CY- zO8J!|IZg*F*aC56Fqr|%e3*W3`p6BSeBr3d)PNjh#cDFIW zn!`MGfH$2AHV?`r5j<4=^7@AJXDcNR2rW-{Zo+gwO?e9%(e%Bh2bJ0M&GU0^8|o?_ zsp@(9MuJi}0U}8`fcqd)JOY&82s{uk(?B2}h`|Wd0kIx|ZXm8BFbPCr4*=^yR6^hc zh`tEi2eA@?1fGbzO92MPNOMvk0635yK0>eGtVENZ^IY z>x@7?5c3eI1L6b%-9SV^X#ORED2Tv%5bXf$nE)^k4fzxJHY=nwgFn29{Do8@VYea# zvv4Bl76h*_vQG>`SXc}=2QVN-M?=lz|A>x8Jdpn*I{FGAP;?aa2SC%H5UH@eeBlvD z?f?-jAoPK%0TKjh3m`p^7#x6nAl(Hh1*A-Xnn0QcXc{CuNBP1qs3ed@6`*2}!U5_7 zsT-hmkS+iMOt*mTZaK*pGJ@m=kUU6L09k{y2~ZeF^v*y&kjw$<11STbb&#e2f}kPt z;kp3%KvDrn9;8k)dEj@Ml8|vU)G0;a;II)JvMT+xXsiUt16)R}3>+LtNdPs0M56*6 z97u@(9f5QV5D^X{i<2sl52QnY^gz0=2IK>24xki}B-DX?Ai)8e28l!i$Olp;Kt#BR zeC(P)K9EuX(gO)s3&;nO7eFZ>?E%yTQnxmc52R`xARkD6cYu6&hrez8U7K$G8{yP zwV((VHe>`DHo=P#*0*)zYJ~|1?JHEvX*Hy01vcIsa+7*c1q-`l@o&foh+?5SF01`< zuOM3kUIAL<_HU^Daj)>&QTwBV#kvP%7DHs7+gAh5A42FP{8+89M^GA&vEn;JCT&Kl zUoHPo`=fr9bfxyk|5gg34xB{9%eK+fk?L2dDOl=A>sxFoJfw4TB`8LZx^+VxseXl> zNP=AP6sbcmL5>VnkP=wKRLBsJz$$*)Kn|q?_5mtj$uO$_Ulg$7H<7Xya(|R3=$!EX zLjenwzy}|xx1noLL;T;N${?9B}3VLJl}YsB(V>94&w#;7}0_5F>)HU!%%_;%*#BUxKSYVFJ9VtA`w$ z6%)DkDSR3cHen&d82Aw)l*2)WWpKe9Ky2+TE;4k4>mfo{JY?t&_dtZRf5IYo3L;d* zN3PZU)6#vylGhjlh-TdtpTHQAhy#gIdQr3f1%>Api)6#nrJS$X>z$5ur zFegtEDXa6xXuHR;1~9dSz~^sNQs6v}Ku#o;fT|09;8TI+ScPs9){q!f z+*O;xX*+Ak%^m_tYsfApQpsmquZ9qwr&e7WA_aUb12kO=r!$Qqi*PxU@-Ae2 z^w1cx27eS=&Vd$0K>gS7c$5fvjL2=Q)x{xd@JDgwgs3EF)Cj>E@JMZ;AcIGmixjc} zkCYh?u^c?o6D$D#*d9{@IoB^Mx=~@%f3$}$DXGE31NYK^*b4;J3)l*Ae9&Fg!gauQ z*cbu25%(c<(A$_PO=M`JE(9n&KY`=s!9qjv0+>tD8iIy}D?5oa$Gs0^2V5qMQ1@7= z;YT+rc}apeky7t}d(ez1^`9QpDS=$`w+FdMQX>SYwbObruz=DWIS#SBKz6e~Aquqy z@KSJ0qDN+Y}N z-wkgCA_bHgl>tHOXUIBe_9Zg8=^x{mJLQK$e~-p>0Qtsy|L8;^4+rJ1$~;OUQW^*a zg$G_lTlpSTLqodcAOwE_mz)gH1h|JN?iK`zFMulp8-i9TcJpsXVGShv$JPgVF+d4L zL2qG17lB&c1{u*spjiSSgIz?E@1HJ0&5h_H|7n?%@cbsS`x}Lm{h#_~xVMnqqcE9F z7-Cf@ItDn)kfb>x8|LqUD>~62PNOtv_&@|>Lz+$eZAOB0RUkcN0eNdD&gd$^j;G~mPt2ZX3D;9o+@<>1Mo zH93g$iI9&1JzLz6jw!z?SP{lN6gUvTYY5B(DQwyhh0qm7UCRJUad!?>3X1`vMYTaw zE$jm+4qdfy9V91ARisi}IDu+DBcfO^CRWXtM?fT_YQ8lB@`P0L!w~RONj1M10i!0W z`F#jza8}JHL2`PbT4)W@(1>bb7)W|6s)fZMy*mQl z7f9adYK7|{Nl~g5LZFCzw|UhH89|bhS1XhU>8_Dlp*2XAPHMpXh}cf&F;D`5B$TEG z%#Vm=rjV920;w}arH}{ux9m;w@UnMz?3NIexmK9C;O0Qo?oYXI_rCEHXpkPjqS8;}nq-VPui zNXy+oK9FMifP5f{4FLH-+I|b<11V(;$OqPPl2brFWK}l<BK6_SUGw$I?h^W(~K;jRzbun31Jk)8dom|YLfFJXuPPmdS(ZAevL&pQk;NDV=c zyS^Bt3|dG$dmq9=@t>mDjDK|K$^m!Z!bc-w5SGH|K7`xUY8cY%W7T>;evA%r?Rn>q5FnfCUkAA&rqRgskTWFwXBokmYuv z{6{eeb>XRmG=wgbr5XoNSop`!;quxn|}1X z8=UA~q$DO9OnjhW!=5~{Xae6S z(rM)c*eg&osTK+VpFsfM85HEi{vY!QQrZ%b`4uDis}>1*E&vl2Lgl}hwsHx1+@MJw z_?}U#r_#skqf|5-DT82vG#DVF-z&*G0J>IY!I|1?j>AGu{B zPNdNB-$6@V^grd6QGYewgd+?~dwzeGf@uBG?R>pl#lUQ=tZ$%xM+XHV^@*q){&rwA zLF6c?hJpfbdhtT~A5qWey~xwy53ES(e8GzctO4gjUA@XCOQ@Kx0TNwuHkg4T0qlT__xGWdu-PAUX*= zm=1~yFEm2ShBK<`(!sAUuma#y#=u&}THvKICcsPkCg5;6Q^X72KFNarFh!$>7t>+D z;f-d%vS~A5H|uSfbnrW73>a|w!!@RqUM%<&`W`xb*&NLdUR)EC1z)-gyeRB0lmw1v zfmR0C%>Xa*2*U<;e-8*5Ezw@29estvAKeFb7dHFKXS1Xp5OntJweLb@KtRMmETc!~18)FWA)9#0GX!!nXp+{l;+ zHRiFu(_EDas{HNGA^Al3C^hr$I?L6b2^8yCQNMw@IU#(lvNmp$taeV6zLCzTeKI^l zB~A+8r1nmtROeIFTDrArGPwdDhLx$sPt(k|pC-{hg-?LrT2vJU(n|$^uJNX1HSh1# z2(`gM4Xsnj?|MM-TZmwIpAnKjPfJrvpC!>eP4b87;?>1z^pLf7@LY9!e^{c*m=3b8 zGAv$=njZd!E?Y%g>NQi%XHZFPu=8e;?y%U)l;L?Q<1eh!Ky9p-9j9J?@%N6d%GSjN zgBq$G&xfb+TWAzv$}**@PiE0gmTw!jReAnX^ovF1mV_s$v$LhBKlRC~%CI|JwVflK zdFtshHF7SLUEY=r)UvsBlVx7`7F{p(@Eh$)Rbe4{s@sLpZ-rFJ5#FnTn(Pc;TkKj1 z|Ghw>Yl!gQd_vCoRKRCQOHzYR{$)_37SQg%$+~poi{Z_SP1E7J|A1!y4`{Aun!;hP z+#jiWEDSGJ{?+<;m9xrdR8RLlL$ma%cFMj;)p=3)FkN4DeTBYQHCs#@t&7QPkDwc4 zU!og5?vw`VQr*GxRlg;{IZ?Wl63k1%vP=qt0hdV)U(6~~tzV{%md6J)aSyo^uA@_| z^c=sm`!Wc+<=}6VkE4i>*6)=r60EP5m#LYrkaOiLB-o1iR7b)(=|74U> z4xP{!k1ZOZPOk~?rp)c{9-^vde#<;Q@@?B77gW3!o}wGBo;=;itmce5mhP(TrmA*# zO;8iukn;{THc)HaGFi%{VnaHtP|G|N>-9(xh>6m*p!p{zDz#NYmIYnu<~Im=-V0}< zze&ishfs}#bZ;>y9Gj`vpkFgwm7UcneRxxqw@%Ps9>mxsc8F6;FJ%#KYrYmg{RrWh1c)waxrp~>?PW^aOJO%);s)+Vd` zHU}fr#R{T4)s2&t+ba{mXGwDxg~jUHx+=rn*{?Ly(Se3w&sMz;!NB{$eo9j{dwqKK zV6WW??yBN8f^Q0<<$eH~{R7av%g4v7%n#v$>JI_U?=dxR4~(6uQnr9%-9nt{#jqi& z=*ikh_i0CSU1$i4wvz1KO0siBr)0Hon@F^eg@TB+f=@{GS2v7Ts~dJOy667bN*C!q zIMbxVXp?h{J~e4Qov|G>%jPrGvieKd;MK9Foa>S6edk8P8=fg0Q^DO#QWj0(>D zoH)xaN!V-Pr>|Fj&#F>hog(~a+){>-?F%XQi#ye*-3@5^5`5Q$gj99mOQaQywMExk zz4J%YW@@J)Jzw=)o7`9(+8ds#Yo%Vj9AByy?IV}@Os`~B@XXDBYL>g7SWQq}C8UX> ziUUl8cIxYu%vVUkA90b?ey1Qa75z?mnQ9{~+R&NL4SRuP8DF_ zp?J9QIE!U+^l=u;1Xa;ycZ51n75;!SkBc6nvX}V6)ic%Mk1PLymTBrnH5}#o3MR7; zW||y@YG@(tMa*{$XQvz%8!BVI|jDy+4NMk>bR^2CjcF#2Us*ak*A0^ zea}a0YX0d^Qxj^W#3oILxGJ;Nl$H_58;J?jfN85hByIPHZwPYC)gMSm{832A$9I}S zQhtVx?VwUe2?YDT=nNr-a3GrZ75FeVI3N1`LbRuA1afDmF3w%kFhRt#Ugfs^HDc9{ zG95$19M2n`PnvR5ItS>iE1mXL&q%fW#os%yD5}as{gLhG!Pi{? z!5f(f=UzanIW7WfoKSg*RExJ{p346%L=uo z7M{1&#-rnGjg3*KYh}{Od^7$ggwFRaQ+t171YL*G!fyN~tJ4+o`Z^Vrs9%3)gsLBB z#r%U_vA@lN`6rp|`_hz3_)9wKZ`2L~D)8Mn*2}BVadt%|%e_XN^>Kc3y;)Y{IJMv! ztYdK}G*DUBX-xHXxI;9KlpCO#ruRu#MXe9ef^NZ{Ju1<rG&tv{ho*u_f zwD!O5C^b?=9iq+mzrfRV4+uSqjT!=mpz}m#Htm zfRKBnZE#84V}OAF1p`bTO~?}+v4xp|suv@K(K=O))fb@#xtcty*2fa(c(HN3IvEQ^ zXI+Z*jEhWG57moUiLiXfozzUl#Zj!qnvw3leLP2Q>-j0CVWWxqxXC6e3P1?mS9sl9Jg>$$;Ms&4|Gqi1tuhJ*s9 zCJoe_KD^N%99>vra-9SE4L`;lmE@O_?W=tVUYup|} z#r`Suu9+y0nM~f^vB|1^QIv=yZ560Z4dJX$1IPYzQgZ37J#d@Gla17v^oUgDd~9l& zN^B9)9Npkw%Uhe^#H(sS#y|^*JJ+_Kr^*AIs^zvK&cAtZOSP%9&Y`Xf71|2(wv{IQ*c6@m zQd+b+{9xn!I(GClQd?(RGD?3DF6mOfiT+Qf6yy+np_JaCr3n(+8%hs@Riy^=Ij>cvVsN^9WU&_7fsAQ58*T zjpo?}@|G^3qQW7Hy1*WYSJsh7lT_Q{$T_OEn^fR#FihRsrnw7_v=H?qv`fhEPNK6r z__91zP5(u znK;ZR4}DXeu z-#(?kQf2p%*LwLLrSkd_a`Xc)@Z^Ahlm(T$Ho1}dv_CBB?=L-oq|P1)rfndYIw#Ym zd=Q{-kYxO%FFUD5S7Tk3!?l_jhmd3$B4xKpV%G07E>ML-BT`DdO;~I5NYo@#t%OYV zCM;A%R-I9;w*gkKOGsARrdD>9#fwUCjC?=SNY>AUVM2AwJ;% zx$5*KeUiF1oS9^MI8Eg|NM|5UMWszu?>-b!qO2o8_0EW9$23x;-1+9TcJvn!DyMr3 zgE}=bVo9;}303+Cg*ZrEvBi1V27(m|@8h2m}#B5$u zk~;juH*iA_5i5;UWIkQz+m2Ftxn*X)nm5y$s4DXz*jN#(etKJvu)F)KF`TWl_DCZlj#4>%4Ty0 zi9xwMlQ`Q<&!MMZPD*H*}Y!WQ90j=wY%u~kWCUoaH#A#x$>s&(C7wfW^%%xX7 zuQFjZ8At@9b?^YC zX#^W=hED3LB-qC!CUZRgIXl&m)TmfMboBzVJC0IfZQAcJMfe>(psq~xM3wR%kgWd! z$!tSsh+Rkpy$b<7jS}X)GBcrcG3n;TLgd}trYb+~Ym_-laCcDf5^1iNB6eybv}OsA zZYh|yUy+nSeI}&!bewCrik*6L-MKM%E`P0QgNTT!U#h^SS;C#rKEUc6BWK9Vzu(D0Mwmni1F#OtVlJdB%)ZEN{Q13E?-HG zHQ0vSiURGM)7a-eoF1pztvc6ARZQB)Vq^+xs8!rvQGqgYYTM}CR{`y>3TyrZ?S0{) z4Q|CM;;UDIX1WlEn!K9YTh~Y(y46Wiqfd%B?hzFJMX!PCojaHpw%zbEDqCqeG3N4! z(C)6l1BlUqDV){Gq;?dvOV%`Tlx_9&z9-uxIR86)BL&IqE`wUd|p1R1)%_1{DkeuHoqBnntK=pn|CKRF4EmH8ks76~Qq??ME>-lV2 zq#FC!-=cJDi$K9vl3ZIMU>k#+Rle>qIeM2LbbqP6t z8L~oc+)EGYn%Gj+mA&+m_cT1RW}oole#rUfBsEZV4*+@(06Gj7c1j0nz4;KJ&17H} z93qwd5i-URjRI8#Wz9@iR!vBoJb7QyEblI*^hbzdFEPYjP%lY`Y32w+>OVr>m0t_J zQ)c$N-@tR4wXXbIvWb>F;ycOqqKLA&$OyIiI|k8mlw6iQ^;1=ksB;GQx34tU zF>7K}L7y{`YVfg$VOsBWJq{h#Lsd&anNCPa-zSDtBvn~)Izlx)Nku&Q7|7ix;Tltm zyOUMLxXTgh)}URQBdN0>$?rD{$PRzeE7Qeht;l zpBN+a&twel9?pQIb#cZov`jNNNI=RcJ4>3z&UxnuISfhIn9n0L0-rK1&NFiU^U(2s zYGZenH#kCVzd#jj7pbCVW4I*c_i4$Z{VT(uagFh^6nB|i)u+%13u^&AwPX+zMr{BH zrrT0nJv+%g_NBIBItyy$qpwhF=M|EiGeXwsM}CLJ?DOiSs`x($xh}PaDgT6m{ZG)u zq?jibyPUtMlXeiXp>?YTYQj}8g7$}Ngsj)Vl|~m`r_tu!EmeNr)kwG7XVx`#RptcM z(tdw~shb*!rT%Y-nQu^iUs%0l_r#B5g-1g3`X*Seo6;eR7?IJp7!lp+SuE$bLrhqb z7nxBqGjfyiPV9l&{YkP(UEWnG<_JwNRO%v`Te?U_riX01!T@byfcEuzG~e(@Ht4>V zYP(IZ^ufd z>Pkgre^^nExa#o_l&Ohvk(kgwr7kH(;;hC<#tW6M$ONQ`vVQdmnVTljm2EPoDP24n zY`yeJ?o;n%Nmup=n%K6+(-cvZ3L1d#YCut@L5P}~hC-;(OggnuWOI#nUSm*29n~k0 zW_m-82@)a^D(~r;ILCC+>UKipN^P5(odkyMh5L{TN#vGoYIzf)d`+b3v&N^X+sA*@ z7Z2L>0IG&EHY3T>jHGk&!Lq$Y>s@V*&u&hino@{&9-*9#UE=4fd@~vRBVS?Tno6^* zSCZKsr4px2v_)yuQ{-!II#Kp?vLf~W*Q6C>q>2_GRJQ;@+YO|&0<^XQwB9oinQ~Sa z;lAg+Mw|qsXGAVlrkNg=^47G+cLRCaTAJP_GN=R%|6@Z6V%fk;?f}Ic5;^ z>T4Y$(dj!7=M4+PnAnkGES(~^==!LSABr=(FI~@&J+DRM^1{v#@N@>*F|F=GRdZKl zwlZ~rI_sy(?@A(jMX2x2V7uFmq62eSMRwE=k5+MaQ%zG_bF%u9P;vD;P1Nk}k*k&S zZe(Ou4!G4hWObfRz_Q(gjJt&V1fjmG@SX>j8^I{9VI$$G%{eI#Shw-VFkL~Y1Ox)q*tuAhy>dsvo zr!%OhhQnjlk2!9cu=jLb_28l^3<04XXwiee-)P~!(SW}3{L1!* zF|@@t7SO&l8{H?LR9`-zr3)sSWp+Tzqkx(*s&E{nFxUYOV9Sv=P7ZJ$lb(89W&Siw1->R3Ogr=F0WdV)mT3Clvw&X7A18usdGZ2u-QE~veX;d;bq&XW+TeiB^M zJ_{rKQWU4WlZdlEMcg&{RG&fN$$GbCJ#}O<3?oM6(kYNLPa#qFn~8b&M(li5P(Ylk zfH*{FNa337h%A;R2O_^B(GE8JY(c zmntHS zDoSfXp}I7Sjxx=LzU%WYOw>7~I_E$_#;j^C z8{x>_c`p&;c!|0O=5daevxM>S zFQGfMdB051TST+YEQ4pXAuE5GIA0y?>vJv+{e7 zxWZOz^~%UMbp6$Unz&;1&8v*swO2{%Nz{ZQVMqp*0|1CQg>3hk(HpCe0+R= zVtM${7l~!u!ivWA~77Z4YtYy?o?QvUESSFz*LCCLi0gF5>aQHCQ#`Q)R!AK`R3 z8{xG2YdX&IjTERKlcr+71@wFisBLv>zayLJsDMLKDW(NC4tH7_i!X>V|va=3CH z6PoY0L+~F;jr=c0VXMz5;W*>(y_A8i=L9^ZsgEZiYai5{1?eQ>Po!?eDWcd<(XBGU zQceR}cN%cQIt_+oDykvMTLVTQo1^vRqaq{Ra}ry~I3}pdE1!p}CL8N?F8u*4^AA#= zZrCsiegt&=2x#so%jbZbY{xV+E+?lyk*52ZwBV-v44|_?{gC}a{|lh^8_XkvexXnN zzks*$EFarBJ|2B$sypv;d(roC0y-c0nDU(`e&z)}Ivb50dXdJ8xuNh9gglo*15x`c zkYg<8*l%BE^vtso8x+?qjaJL+4dIaFG9@`{g@hP=ssi8!0y4d;nci1`>{m#1?&+VV z@^n`?HxXr!qxj!Rs{WlMZDOVTDS`rtag;!C_80v{$orR2*7r+xSKXJS3s-Zhb{SO5 zxLPc$wcoR=HwdxPYhapZK7^6{np9AZ`wFfLo$KUwob8T@v1OM?b^E~!|Cobn{w7^_ zgNn*ZmUk1#@n!=y+P9!!b2UKY7rS-kEfN9)?t+o_C(lPc)D3xzCuvx4_g6T`n`Igm*LPH9Rf+^pL!EEpnYW4DceV$Wu!dZqq z;UrkQN8OPGq2;eOLg=RH{?EbA`beU6Me(r4slOuJQ%1LEPqJ{=S(xh1Nl_FS&M1g# zTvDZv3NEvY3_@_$(5C7OL)0o|j|L+#hEH`&RB-2#QWuQskEUSyKaFS@TQ_Q@Y?m+z z*Neg#=94#u)Lvo3GXhv(v@N~Ud>Z#XanyMPWV)G_VM6>L) zq4%wat!e6H8|h1NXIb8sI7=R;_4_iTR%&bLj4Yuct5bG6=`HqiX9q-9XI_6(0YWqc+e_yaVGu*%X`r|teUKR_eQPNhGs@@ z&}^+tLqwGiR~LFmJ+5qhq;`iog&af6`-0-@OPu5HMj^>->_?nw|hExrv1)}XQ z8Y1OB#1E=X?tP|{IN}ssx`mcHlq`+|olDf8L!(l)?OjD4nALe9@sx5ukhNC<>(c%7 zRN#i0g=rXZuFbub>h}Pl!2Os6a(C4+mJSCp52uE@hwI@HH5|UPG*4exocoYbWjsWp z*U&djW%m*9)u7p=Mq=#`Ho$HlAV*%PH685^~%*s=uH8q4Tm<=vujPpus+ z%~ZPnQ9`=s8sL!jXcP`<;~-T1Y%a!($H)+P4A2}E%_eec_;aeqcwx<34TAz#6})?x ze!OhyR9rs9sIHEeDt*tPY5OOlJgWK$$tnUaWg-dIiGYC}oN{Z+U(+XPn`U%A{G`mZ zAsm)3ofNe~b6phqta?8M^pDba14!125WDA(JRhkhKOI%9%s+Lf2d7X1c2s8k6!07c zG}FABea>@rjq2B34Ec?1^;tqAWOE-MJp5bgVEp|KFulJesm)WP))d=k-4TU)HTxOl zuHjh<^vTCRsvajf)0pa(=K!@ur|xvh$M(q@n;51UR)acg*BR7C^F6DTkjaX>_T(~F zuJ$u&sAPOgTyr7|Q2RM{E2k5=>E1$30xW4CvyKBl4#ywquPbxX;fDfxS?! z7j)f$TsH64EOA&cc0e_-kV>}yl-$0Wp4dj-41?(dsS)l&EhDtuNolK}Fl6mSv^aN0 zg-)oeDk(QmDLqgxvw_=?nWSrpaVO~O3Ol9h@b%@XAvNza2)k;M8J5rKwCc~L3u0QQ z{d0#v^IBM{>R42>FObC6FGA{P(QZoc?goA0m(nSF_;@R_(p5$ME26mv+f%R?EUrtS zKJ6o?EY)h%h%=rl`ps9x zlmAUlX!!L?0R(-xOPifSy~d1?|6K28-KD{|5XclB9RrMWlf$xaJNd+Nz4A6cIF!4B_>JBCt^u!$|i8N`v}Jx=bM{vtB-7irtqhPG<;mUQBaOjz_P`%h-ux#OblRJ!-~SW|ZfclXT6s8J6((N@SD*Yv z2RL8m%kXe&Q*zQ9t55$%CHDVK zLQs#tN$qVnrS@IY=+9e{?HQaJPT!J=^?l=iT=zVpRxq!piB z5ToMa^^4iUc20F?J(H}9RbL8hYd{WfAFK|U4MFxb1k?>n=qtBwV0u%K>5Yx`K|b3f z0qYY?_5?ce?F2oi#hWvSVfhY2s^u=E(3;+1392@c3fsenq^gcd)XN&xg~PbXbsDQN zP4u|W_H464HEaqCz~Fe`t;V!Cswu?>no_*x5RscqL9)rcN+7sxsc259S`9-Cr0DUo zd%hqr~^XbFrWWW#}-W zWweyU-{c5-SXOTE*h_6_seeG}T0vT>k(U9AwtLdICS>W_3xO#i>&^H^>aW&%Pw*Ty zyDf3Hwv?l-(&d?e=Ani()xPg%cg&KBYGf7+C1bC7zpl=r>8{gpc-tl#4`)5E>% z>(j~Y$?a(mv7qB+HXsM2bgG3;wLD>CS8mZGr8?$s~6@B;V-NqKJFPS@KPkD(<15taSH)R#&WyBAPX zLYMW{uhq3KZu0?$mwoiXRjIIVi0QiCC$;0clB$)EV{SBk-j6=t+mHOt{xF5;=~V;n zNRveaLBppp)&1VDb#w;x^+5en%%C810qV}}vCz6)F&JFi`G-TE;S+`kSd5CldWbOd zP%>$1PEj5S-hLL&&uz3xl-tt#iNbf7Nzwwn?0>8P1;a?wt`_1F=2R^nV0vlxfSLzL z&r;+Q68hg!l z;Q6E_QubjwR5yGu%lhW9>8jo+eQMC5YZMsF_#vvsy+2%aAFY2}c}5Fy@f)cfL#k

^ff+Jt3gpMXyc(*;2r{`0NP~2rOivw2kK2 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

a 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

>9b!ml>7X{A8O+& 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

kuiW>m?T06Usi1&H^I{8;@ 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

No Access

" +) + +# Every way the download can fail, with the number of requests it should +# cost: transient failures use the full retry budget, permanent ones one. +_FAILED_DOWNLOADS = { + "200-html-page": ( + lambda: _response(200, _NO_ACCESS_PAGE, "text/html; charset=UTF-8"), + 1, + ), + "200-empty-body": (lambda: _response(200), 1), + "200-truncated-zip": (lambda: _response(200, b"PK\x03\x04garbage"), 1), + "200-zip-without-xlsx-manifest": ( + lambda: _response(200, _zip({"readme.txt": "not a workbook"})), + 1, + ), + "200-zip-without-workbook-part": ( + lambda: _response( + 200, + _zip( + { + "[Content_Types].xml": '' + } + ), + ), + 1, + ), + "403": (lambda: _response(403), 1), + "404": (lambda: _response(404), 1), + "500-until-retries-run-out": ( + lambda: _response(500), + obr._DOWNLOAD_MAX_ATTEMPTS, + ), + "connection-error": (_connection_error, obr._DOWNLOAD_MAX_ATTEMPTS), +} + +_EFO_URL_KEYS = ["efo_receipts", "efo_expenditure"] + +_RECEIPTS_AND_NICS_TARGETS = { + "obr/income_tax", + "obr/ni", + "obr/vat", + "obr/fuel_duties", + "obr/capital_gains_tax", + "obr/sdlt", + "obr/ni_employee", + "obr/ni_employer", + "obr/ni_self_employed", +} + + +@contextmanager +def _obr_answering(make_response): + """Answer every requests.get with make_response(), skip retry sleeps and + spy on the fallback. Yields the request and fallback call logs.""" + requests_made, fallbacks_used = [], [] + real_fallback = obr._fallback_workbook + + def get(url, *args, **kwargs): + requests_made.append(url) + return make_response() + + def fallback(url): + wb = real_fallback(url) + fallbacks_used.append((url, wb)) + return wb + + with ( + patch.object(obr.requests, "get", side_effect=get), + patch.object(obr.time, "sleep", lambda s: None), + patch.object(obr, "_fallback_workbook", side_effect=fallback), + ): + yield requests_made, fallbacks_used + + def test_fallback_workbooks_are_committed_and_parseable(): for filename in obr._EFO_FALLBACKS.values(): path = STORAGE_FOLDER / "obr_efo" / filename @@ -94,3 +197,37 @@ def get(*args, **kwargs): "obr/vat", } <= names assert len(names) >= 30 + + +@pytest.mark.parametrize("url_key", _EFO_URL_KEYS) +@pytest.mark.parametrize("kind", list(_FAILED_DOWNLOADS)) +def test_every_failed_download_uses_committed_workbook(kind, url_key): + make_response, expected_requests = _FAILED_DOWNLOADS[kind] + url = load_config()["obr"][url_key] + with _obr_answering(make_response) as (requests_made, fallbacks_used): + wb = obr._download_workbook(url) + assert fallbacks_used == [(url, wb)], "the committed workbook was not returned" + assert len(requests_made) == expected_requests + + +@pytest.mark.parametrize("kind", list(_FAILED_DOWNLOADS)) +def test_every_failed_download_keeps_receipts_and_nics_targets(kind): + make_response, _ = _FAILED_DOWNLOADS[kind] + with _obr_answering(make_response): + names = {t.name for t in obr.get_targets()} + assert _RECEIPTS_AND_NICS_TARGETS <= names, sorted( + _RECEIPTS_AND_NICS_TARGETS - names + ) + + +def test_workbook_response_is_parsed_without_fallback(): + """Positive control: a real xlsx body is used as served.""" + body = (STORAGE_FOLDER / "obr_efo" / "efo_receipts.xlsx").read_bytes() + with _obr_answering(lambda: _response(200, body)) as ( + requests_made, + fallbacks_used, + ): + wb = obr._download_workbook(load_config()["obr"]["efo_receipts"]) + assert fallbacks_used == [] + assert len(requests_made) == 1 + assert obr._find_receipts_sheet(wb) is not None From cc7550101d289fda4d9cde3f92fa68e78982820f Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 12:26:38 -0400 Subject: [PATCH 53/70] Catch every openpyxl failure on a non-workbook 200 body, per review A zip with malformed XML inside raised xml.etree.ElementTree.ParseError (a SyntaxError), which escaped the named-exception tuple; zlib.error, NotImplementedError, RuntimeError and TypeError could too. Catch Exception around the single load_workbook call on the response body: a genuine openpyxl break still surfaces, because the fallback is parsed by the same call outside any try. Chain the parse error as the cause of the reported ValueError. Tests: add a malformed-XML row; pin the fallback warning text and the ValueError raised for a URL with no committed workbook; fold the 403 and connection-error tests into the response-kind table they duplicated. Co-Authored-By: Claude Opus 5.5 --- .../obr-fallback-non-workbook.fixed.md | 2 +- policyengine_uk_data/targets/sources/obr.py | 24 +++---- .../tests/test_obr_efo_fallback.py | 62 ++++++++----------- 3 files changed, 33 insertions(+), 55 deletions(-) diff --git a/changelog.d/obr-fallback-non-workbook.fixed.md b/changelog.d/obr-fallback-non-workbook.fixed.md index 5e3e78c6f..c36e86429 100644 --- a/changelog.d/obr-fallback-non-workbook.fixed.md +++ b/changelog.d/obr-fallback-non-workbook.fixed.md @@ -1 +1 @@ -Fall back to the committed OBR EFO workbooks when obr.uk answers 200 with a page that is not a workbook (such as its HTML "No Access" page), not only when the download fails with an HTTP error. The parse error used to escape the fallback, and `get_targets()` silently dropped the nine OBR receipts and NICs targets. A body that is not a readable xlsx is now treated as a permanent failure: it is not retried, and a warning names the URL, the status and the parse error. +Fall back to the committed OBR EFO workbooks when obr.uk answers 200 with a body that is not a workbook (such as its HTML "No Access" page), not only when the request fails. The parse error used to escape the fallback, and `get_targets()` dropped the nine OBR receipts and NICs targets, logging the error while the build carried on. A body openpyxl cannot read is now treated as a permanent failure: it is not retried, and a warning names the URL, the status and the parse error. diff --git a/policyengine_uk_data/targets/sources/obr.py b/policyengine_uk_data/targets/sources/obr.py index 69e75c229..5a1286b7f 100644 --- a/policyengine_uk_data/targets/sources/obr.py +++ b/policyengine_uk_data/targets/sources/obr.py @@ -12,12 +12,10 @@ import io import logging import time -import zipfile from functools import lru_cache import openpyxl import requests -from openpyxl.utils.exceptions import InvalidFileException from policyengine_uk_data.targets.schema import Target, Unit from policyengine_uk_data.targets.sources._common import ( @@ -46,20 +44,6 @@ _DOWNLOAD_MAX_ATTEMPTS = 4 _DOWNLOAD_RETRY_STATUSES = {429, 500, 502, 503, 504} -# obr.uk can also answer 200 with an HTML "No Access" page instead of the -# workbook (observed 2026-10-04 from a local machine). These are the errors -# openpyxl raises on a body that is not a readable xlsx: not a zip -# (BadZipFile), a zip without the xlsx manifest (KeyError) or workbook part -# (OSError), or malformed XML inside (ValueError). Such a body will not turn -# into a workbook on retry, so it is treated as permanent, like a 403. -_WORKBOOK_PARSE_ERRORS = ( - zipfile.BadZipFile, - InvalidFileException, - KeyError, - OSError, - ValueError, -) - # obr.uk serves 403 Forbidden to GitHub Actions runner IPs (observed on the # 2026-07-21 push builds: every attempt 403'd while the same URLs work from @@ -106,16 +90,22 @@ def _download_workbook(url: str) -> openpyxl.Workbook: last_error = e # connection/timeout — retryable else: if r.status_code < 400: + # obr.uk can answer 200 with an HTML "No Access" page instead + # of the workbook (observed 2026-10-04). A body openpyxl cannot + # read will not become a workbook on retry, so it is permanent, + # like a 403. Catching broadly cannot hide an openpyxl break: + # the fallback is parsed by the same call outside any try. try: return openpyxl.load_workbook( io.BytesIO(r.content), data_only=False ) - except _WORKBOOK_PARSE_ERRORS as e: + except Exception as e: last_error = ValueError( f"{r.status_code} for url: {url}, but the body " f"({r.headers.get('Content-Type', 'no Content-Type')}) " f"is not an xlsx workbook ({type(e).__name__}: {e})" ) + last_error.__cause__ = e break last_error = requests.HTTPError( f"{r.status_code} for url: {url}", response=r diff --git a/policyengine_uk_data/tests/test_obr_efo_fallback.py b/policyengine_uk_data/tests/test_obr_efo_fallback.py index ff6cace65..ecc25c9a4 100644 --- a/policyengine_uk_data/tests/test_obr_efo_fallback.py +++ b/policyengine_uk_data/tests/test_obr_efo_fallback.py @@ -11,6 +11,7 @@ """ import io +import logging import zipfile from contextlib import contextmanager from types import SimpleNamespace @@ -31,10 +32,6 @@ def _clear_workbook_cache(): obr._download_workbook.cache_clear() -def _forbidden(*args, **kwargs): - return SimpleNamespace(status_code=403, headers={}, content=b"") - - def _response(status_code, content=b"", content_type=None): headers = {"Content-Type": content_type} if content_type else {} return SimpleNamespace(status_code=status_code, headers=headers, content=content) @@ -83,6 +80,10 @@ def _connection_error(): ), 1, ), + "200-zip-with-malformed-xml": ( + lambda: _response(200, _zip({"[Content_Types].xml": " Date: Sun, 4 Oct 2026 12:50:01 -0400 Subject: [PATCH 54/70] Tighten the fallback comment, message and changelog; pin cause chaining Second review round: the broad catch only guarantees that an openpyxl break on every workbook still surfaces, so the comment now says that; the message says the body "could not be read as an xlsx workbook", which also covers a served file openpyxl rejects. The changelog says the defect drops every target from the affected workbook (nine in the observed receipts case), and the no-fallback test asserts the parse error is chained as the cause. Co-Authored-By: Claude Opus 5.5 --- changelog.d/obr-fallback-non-workbook.fixed.md | 2 +- policyengine_uk_data/targets/sources/obr.py | 7 ++++--- .../tests/test_obr_efo_fallback.py | 17 +++++++++++------ 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/changelog.d/obr-fallback-non-workbook.fixed.md b/changelog.d/obr-fallback-non-workbook.fixed.md index c36e86429..4ec774889 100644 --- a/changelog.d/obr-fallback-non-workbook.fixed.md +++ b/changelog.d/obr-fallback-non-workbook.fixed.md @@ -1 +1 @@ -Fall back to the committed OBR EFO workbooks when obr.uk answers 200 with a body that is not a workbook (such as its HTML "No Access" page), not only when the request fails. The parse error used to escape the fallback, and `get_targets()` dropped the nine OBR receipts and NICs targets, logging the error while the build carried on. A body openpyxl cannot read is now treated as a permanent failure: it is not retried, and a warning names the URL, the status and the parse error. +Fall back to the committed OBR EFO workbooks when obr.uk answers 200 with a body that is not a workbook (such as its HTML "No Access" page), not only when the request fails. The parse error used to escape the fallback, and `get_targets()` dropped every target parsed from that workbook (the nine OBR receipts and NICs targets in the case observed), logging the error while the build carried on. A body openpyxl cannot read is now treated as a permanent failure: it is not retried, and a warning names the URL, the status and the parse error. diff --git a/policyengine_uk_data/targets/sources/obr.py b/policyengine_uk_data/targets/sources/obr.py index 5a1286b7f..8a87c56c1 100644 --- a/policyengine_uk_data/targets/sources/obr.py +++ b/policyengine_uk_data/targets/sources/obr.py @@ -93,8 +93,8 @@ def _download_workbook(url: str) -> openpyxl.Workbook: # obr.uk can answer 200 with an HTML "No Access" page instead # of the workbook (observed 2026-10-04). A body openpyxl cannot # read will not become a workbook on retry, so it is permanent, - # like a 403. Catching broadly cannot hide an openpyxl break: - # the fallback is parsed by the same call outside any try. + # like a 403. An openpyxl break on every workbook still + # surfaces, as the fallback goes through the same load_workbook. try: return openpyxl.load_workbook( io.BytesIO(r.content), data_only=False @@ -103,7 +103,8 @@ def _download_workbook(url: str) -> openpyxl.Workbook: last_error = ValueError( f"{r.status_code} for url: {url}, but the body " f"({r.headers.get('Content-Type', 'no Content-Type')}) " - f"is not an xlsx workbook ({type(e).__name__}: {e})" + "could not be read as an xlsx workbook " + f"({type(e).__name__}: {e})" ) last_error.__cause__ = e break diff --git a/policyengine_uk_data/tests/test_obr_efo_fallback.py b/policyengine_uk_data/tests/test_obr_efo_fallback.py index ecc25c9a4..07169a88a 100644 --- a/policyengine_uk_data/tests/test_obr_efo_fallback.py +++ b/policyengine_uk_data/tests/test_obr_efo_fallback.py @@ -143,13 +143,18 @@ def test_fallback_workbooks_are_committed_and_parseable(): @pytest.mark.parametrize( - "kind, error", [("403", requests.HTTPError), ("200-html-page", ValueError)] + "kind, error, cause", + [ + ("403", requests.HTTPError, type(None)), + ("200-html-page", ValueError, zipfile.BadZipFile), + ], ) -def test_unknown_url_with_failed_download_still_raises(kind, error): +def test_unknown_url_with_failed_download_still_raises(kind, error, cause): url = "https://obr.uk/download/some-other-file/" with _obr_answering(_FAILED_DOWNLOADS[kind][0]): - with pytest.raises(error, match=f"for url: {url}"): + with pytest.raises(error, match=f"for url: {url}") as raised: obr._download_workbook(url) + assert isinstance(raised.value.__cause__, cause) def test_full_target_set_available_offline(): @@ -215,7 +220,7 @@ def test_non_workbook_200_warning_names_url_status_and_parse_error(caplog): with _obr_answering(_FAILED_DOWNLOADS["200-html-page"][0]): obr._download_workbook(url) assert ( - f"200 for url: {url}, but the body (text/html; charset=UTF-8) is not " - "an xlsx workbook (BadZipFile: File is not a zip file)); using " - "committed workbook fallback" + f"200 for url: {url}, but the body (text/html; charset=UTF-8) could " + "not be read as an xlsx workbook (BadZipFile: File is not a zip " + "file)); using committed workbook fallback" ) in caplog.text From 304baad04de821caa82a605df52951506b598ab2 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 13:17:07 -0400 Subject: [PATCH 55/70] Calibrate working-age Housing Benefit net of supported and temporary accommodation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Max ruled on d703 that working-age Housing Benefit should be calibrated too. policyengine-uk pays no Housing Benefit for specified (supported) or temporary accommodation, so the working-age awards it can pay are general-needs ones. DWP's working-age line includes both kinds, and DWP splits accommodation type only across all ages. The calibrated working-age target is therefore DWP's working-age line less all of its supported and temporary accommodation: £584.8m and 107k claims in 2025-26, a lower bound on working-age general-needs Housing Benefit. It exists for 2024-25 and 2025-26 only; from 2026-27 the all-age accommodation lines exceed the whole working-age line. Seeded calibrations of one saved 2025 input compared the options. Against the full working-age line, uncapped calibration loaded it onto about three effective records. Capping household weights at 20-40 times their prior reached 54-60% of DWP's spending and raised income-related ESA claimants to 1.6-2.0 times DWP's count. Against the net figure, the calibration meets it (1.04x) and no other national target crosses the 10% line compared with calibrating pension-age figures only. Tests: DWP's accommodation lines reconcile with its age split in every year; the net figure equals all-age general needs less pension-age Housing Benefit, the same quantity computed the other way; a property test of the netting; the calibrated working-age column equals the full line's. Co-Authored-By: Claude Opus 5.5 --- .../targets/sources/dwp_housing_benefit.py | 115 +++++++++++++++--- .../tests/test_dwp_housing_benefit_targets.py | 106 +++++++++++++++- 2 files changed, 203 insertions(+), 18 deletions(-) diff --git a/policyengine_uk_data/targets/sources/dwp_housing_benefit.py b/policyengine_uk_data/targets/sources/dwp_housing_benefit.py index eff5309f8..4ed28076e 100644 --- a/policyengine_uk_data/targets/sources/dwp_housing_benefit.py +++ b/policyengine_uk_data/targets/sources/dwp_housing_benefit.py @@ -29,16 +29,30 @@ older group; DWP does not publish its rule for them, and this assumes they sit in its Pension Credit and State Pension groups. -Only the older group is calibrated. policyengine-uk pays working-age -Housing Benefit only as a continuing award to families that report it and -do not claim Universal Credit: 267 of the 770 working-age records that -report it, about 17,000 weighted claims in 2025-26 against DWP's 460,000. -DWP's working-age figure also includes temporary and supported -accommodation (together £5.2bn of Housing Benefit in 2025-26, not split by -age), which the FRS barely samples. A test build on 2026-09-30 that also -targeted the younger group reached DWP's £5.8bn by loading it onto about -three effective records, and fitted the other targets no better. The -younger group's figures stay here for diagnostics and tests. +Working-age Housing Benefit is calibrated net of supported and temporary +accommodation. policyengine-uk pays no Housing Benefit for specified +(supported) or temporary accommodation (``housing_benefit_eligible``: such +claims "are not modelled"; policyengine-uk#1911). So every working-age award +it pays is general-needs Housing Benefit: a continuing award to a family that +reports it and does not claim Universal Credit. DWP's working-age line +includes both kinds, but DWP splits accommodation type only across all ages +(Housing Benefit by Accomodation Type). The calibrated working-age figure is +therefore DWP's working-age line less all of its supported and temporary +accommodation: £584.8m and 107k claims in 2025-26, against the full line's +£5,778.1m and 460k. Part of that accommodation is pension-age, so the figure +is a lower bound on working-age general-needs Housing Benefit. It exists only +for 2024-25 and 2025-26. From 2026-27, DWP's all-age supported and temporary +accommodation exceeds its whole working-age line. + +Seeded test calibrations on 2026-10-04 tried the full working-age line too. +With only the pension-age figures calibrated, the model pays about 17,000 +working-age claims in 2025-26. Calibrated to the full line, it came within +12% of DWP's spending by loading it onto about three effective records. With +household weights capped at 20-40 times their prior, it reached only 54-60% +of that spending, and income-related ESA claimants rose to 1.6-2.0 times +DWP's count. Against the net figure, no other national target crosses the +10% line compared with calibrating the pension-age figures only. The full +working-age lines stay here (group "under") for tests and diagnostics. Source: https://www.gov.uk/government/publications/benefit-expenditure-and-caseload-tables-2026 """ @@ -116,6 +130,75 @@ } +# Housing benefits sheet, "Housing Benefit by Accomodation Type", rows "of +# which Supported Accomodation" and "of which Temporary Accomodation": all +# ages, same units, first published for 2024-25. +_SUPPORTED_GBP_M = { + 2024: 3_262.8, + 2025: 3_631.4, + 2026: 3_936.0, + 2027: 4_164.1, + 2028: 4_399.2, + 2029: 4_687.1, + 2030: 4_892.2, +} +_TEMPORARY_GBP_M = { + 2024: 1_431.1, + 2025: 1_561.9, + 2026: 1_643.7, + 2027: 1_732.1, + 2028: 1_819.1, + 2029: 1_929.8, + 2030: 2_006.6, +} +_SUPPORTED_THOUSANDS = { + 2024: 235, + 2025: 242, + 2026: 246, + 2027: 251, + 2028: 256, + 2029: 262, + 2030: 267, +} +_TEMPORARY_THOUSANDS = { + 2024: 104, + 2025: 111, + 2026: 117, + 2027: 123, + 2028: 129, + 2029: 136, + 2030: 143, +} + + +def net_of_supported_and_temporary( + working_age: dict, supported: dict, temporary: dict +) -> dict: + """Working-age figures less all-age supported and temporary + accommodation, for the years with all three where the result is + positive.""" + net = {} + for year in sorted(working_age.keys() & supported.keys() & temporary.keys()): + value = round(working_age[year] - supported[year] - temporary[year], 1) + if value > 0: + net[year] = value + return net + + +_SPENDING_GBP_M["under_general_needs"] = net_of_supported_and_temporary( + _SPENDING_GBP_M["under"], _SUPPORTED_GBP_M, _TEMPORARY_GBP_M +) +_CASELOAD_THOUSANDS["under_general_needs"] = net_of_supported_and_temporary( + _CASELOAD_THOUSANDS["under"], _SUPPORTED_THOUSANDS, _TEMPORARY_THOUSANDS +) + +_NAMES = { + "over": "dwp/housing_benefit/over_pension_credit_age", + "under": "dwp/housing_benefit/under_pension_credit_age", + "under_general_needs": "dwp/housing_benefit/under_pension_credit_age_general_needs", +} + + def _over_pension_credit_age(ctx) -> np.ndarray: """Benefit units assessed under the pension-age Housing Benefit rules.""" claimant = np.asarray( @@ -135,7 +218,7 @@ def _over_pension_credit_age(ctx) -> np.ndarray: # Age groups the calibration targets; see the module docstring. -_CALIBRATED_AGE_GROUPS = ("over",) +_CALIBRATED_AGE_GROUPS = ("over", "under_general_needs") def _make_compute(age_group: str, count: bool): @@ -144,7 +227,9 @@ def compute(ctx, target: Target, year: int) -> np.ndarray: ctx.sim.calculate("housing_benefit").values, dtype=float ) in_group = _over_pension_credit_age(ctx) - if age_group == "under": + if age_group != "over": + # The model pays no supported or temporary accommodation Housing + # Benefit, so both working-age groups share one column. in_group = ~in_group value = (housing_benefit > 0) if count else housing_benefit return np.asarray(ctx.household_from_family(value * in_group), dtype=float) @@ -156,11 +241,13 @@ def get_targets() -> list[Target]: return build_targets(_CALIBRATED_AGE_GROUPS) -def build_targets(age_groups=("over", "under")) -> list[Target]: +def build_targets( + age_groups=("over", "under", "under_general_needs"), +) -> list[Target]: """Housing Benefit spending and claims targets for these age groups.""" targets = [] for age_group in age_groups: - name = f"dwp/housing_benefit/{age_group}_pension_credit_age" + name = _NAMES[age_group] targets.append( Target( name=name, diff --git a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py index d9a805f14..bc140334c 100644 --- a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py +++ b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py @@ -39,9 +39,32 @@ 2030: 1_414, } +# Same sheet, "Housing Benefit by Accomodation Type: of which General +# Needs" (£ million and thousands, all ages), transcribed separately. +_DWP_GENERAL_NEEDS_GBP_M = { + 2024: 10_760.6, + 2025: 7_699.5, + 2026: 6_894.5, + 2027: 6_938.0, + 2028: 7_034.6, + 2029: 7_282.5, + 2030: 7_448.0, +} +_DWP_GENERAL_NEEDS_K = { + 2024: 1_734, + 2025: 1_216, + 2026: 1_047, + 2027: 1_021, + 2028: 1_004, + 2029: 1_000, + 2030: 1_004, +} + _CALIBRATED = { "dwp/housing_benefit/over_pension_credit_age", "dwp/housing_benefit/over_pension_credit_age_claims", + "dwp/housing_benefit/under_pension_credit_age_general_needs", + "dwp/housing_benefit/under_pension_credit_age_general_needs_claims", } _ALL = _CALIBRATED | { "dwp/housing_benefit/under_pension_credit_age", @@ -50,7 +73,8 @@ def _targets(): - """Both age groups, including the one calibration leaves out.""" + """Every group's targets, including the full working-age line that + calibration leaves out.""" return {t.name: t for t in dwp_housing_benefit.build_targets()} @@ -82,13 +106,72 @@ def test_age_split_reconciles_with_dwp_totals(): assert abs((over_k[year] + under_k[year]) / 1e3 - total) <= 1, year -def test_only_pension_age_housing_benefit_is_calibrated(): +def test_calibration_uses_working_age_net_of_supported_and_temporary(): housing_benefit_targets = { t.name for t in get_all_targets() if t.variable == "housing_benefit" } assert housing_benefit_targets == _CALIBRATED +def test_accommodation_types_reconcile_with_the_age_split(): + """General needs + supported + temporary is all Housing Benefit, the + same total as over + under, in every year DWP splits it.""" + h = dwp_housing_benefit + for year, general_needs in _DWP_GENERAL_NEEDS_GBP_M.items(): + by_type = general_needs + h._SUPPORTED_GBP_M[year] + h._TEMPORARY_GBP_M[year] + by_age = h._SPENDING_GBP_M["over"][year] + h._SPENDING_GBP_M["under"][year] + assert abs(by_type - by_age) <= 0.2, year + by_type_k = ( + _DWP_GENERAL_NEEDS_K[year] + + h._SUPPORTED_THOUSANDS[year] + + h._TEMPORARY_THOUSANDS[year] + ) + by_age_k = ( + h._CASELOAD_THOUSANDS["over"][year] + h._CASELOAD_THOUSANDS["under"][year] + ) + assert abs(by_type_k - by_age_k) <= 1, year + + +def test_working_age_general_needs_two_ways(): + """Working-age less supported and temporary accommodation equals all-age + general needs less pension-age Housing Benefit, since the two splits + share one total; it is defined only where positive (2024-25, 2025-26).""" + h = dwp_housing_benefit + spending = h._SPENDING_GBP_M["under_general_needs"] + caseload = h._CASELOAD_THOUSANDS["under_general_needs"] + assert set(spending) == set(caseload) == {2024, 2025} + assert spending[2025] == 584.8 and caseload[2025] == 107 + for year in spending: + other_way = _DWP_GENERAL_NEEDS_GBP_M[year] - h._SPENDING_GBP_M["over"][year] + assert abs(spending[year] - other_way) <= 0.2, year + other_way_k = _DWP_GENERAL_NEEDS_K[year] - h._CASELOAD_THOUSANDS["over"][year] + assert abs(caseload[year] - other_way_k) <= 1, year + assert spending[year] < h._SPENDING_GBP_M["under"][year] + assert caseload[year] < h._CASELOAD_THOUSANDS["under"][year] + + + +@settings(max_examples=200, deadline=None) +@given( + st.dictionaries(st.integers(2020, 2035), st.floats(0, 1e4), max_size=8), + st.dictionaries(st.integers(2020, 2035), st.floats(0, 1e4), max_size=8), + st.dictionaries(st.integers(2020, 2035), st.floats(0, 1e4), max_size=8), +) +def test_net_of_supported_and_temporary(working_age, supported, temporary): + net = dwp_housing_benefit.net_of_supported_and_temporary( + working_age, supported, temporary + ) + common = working_age.keys() & supported.keys() & temporary.keys() + assert set(net) <= common + for year in common: + difference = working_age[year] - supported[year] - temporary[year] + if year in net: + assert net[year] > 0 + assert abs(net[year] - difference) <= 0.05 + 1e-9 + else: + assert round(difference, 1) <= 0 + + def test_obr_housing_benefit_row_is_not_parsed(): wb = openpyxl.Workbook() ws = wb.active @@ -231,6 +314,18 @@ def test_age_split_partitions_housing_benefit(population): under = _column(ctx, "dwp/housing_benefit/under_pension_credit_age") over_k = _column(ctx, "dwp/housing_benefit/over_pension_credit_age_claims") under_k = _column(ctx, "dwp/housing_benefit/under_pension_credit_age_claims") + # The model pays no supported or temporary accommodation HB, so the + # calibrated working-age group shares the full line's column. + np.testing.assert_array_equal( + _column(ctx, "dwp/housing_benefit/under_pension_credit_age_general_needs"), + under, + ) + np.testing.assert_array_equal( + _column( + ctx, "dwp/housing_benefit/under_pension_credit_age_general_needs_claims" + ), + under_k, + ) np.testing.assert_allclose( over + under, np.bincount(household, hb, minlength=n_households) ) @@ -280,7 +375,9 @@ def test_country_restriction_partitions_the_uk(rows): def test_calibrated_columns_build_on_the_dataset(baseline, enhanced_frs): """The loss matrix skips a target whose column raises, so check that the - calibrated columns build on a real simulation and land near DWP.""" + calibrated columns build on a real simulation and land in range. The + working-age range is wider: a dataset calibrated without its target + carries about a sixth of it (17k of 107k claims in 2025-26).""" from policyengine_uk_data.targets.build_loss_matrix import _SimContext year = 2025 @@ -293,4 +390,5 @@ def test_calibrated_columns_build_on_the_dataset(baseline, enhanced_frs): ) assert np.isfinite(column).all(), target.name ratio = (column * weight).sum() / target.values[year] - assert 0.5 < ratio < 2, (target.name, ratio) + low = 0.5 if "over_pension_credit_age" in target.name else 0.1 + assert low < ratio < 2, (target.name, ratio) From d156176f8a0285f609a253a7bdd1d7cc91036b98 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 14:37:31 -0400 Subject: [PATCH 56/70] Update the release note for the working-age Housing Benefit target Co-Authored-By: Claude Opus 5.5 --- changelog.d/hb-dwp-age-targets.changed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.d/hb-dwp-age-targets.changed.md b/changelog.d/hb-dwp-age-targets.changed.md index 759b2a2ff..c98ce26b4 100644 --- a/changelog.d/hb-dwp-age-targets.changed.md +++ b/changelog.d/hb-dwp-age-targets.changed.md @@ -1 +1 @@ -Calibrate pension-age Housing Benefit to DWP's Great Britain spending and claims over Pension Credit qualifying age, replacing the OBR Housing Benefit target that the model compared with UK-wide Housing Benefit. Modelled GB Housing Benefit for 2025-26 falls from about £11.7bn to £8.0bn (DWP: £12.9bn), because pension-age Housing Benefit was about 1.6 times DWP's figure while working-age, temporary and supported-accommodation Housing Benefit remain largely unmodelled. Stop setting `would_claim_uc` for benefit units whose adults have all reached State Pension age, and build with policyengine-uk 2.102.5 so pension-age families can make new Housing Benefit claims. +Calibrate Housing Benefit to DWP's Great Britain spending and claims by age group, replacing the OBR Housing Benefit target that the model compared with UK-wide Housing Benefit. Pension-age Housing Benefit is calibrated to DWP's figures over Pension Credit qualifying age. Working-age Housing Benefit is calibrated to DWP's figures under that age less all supported and temporary accommodation Housing Benefit, which policyengine-uk does not model (£585m and 107k claims in 2025-26, against £5.78bn and 460k in total). Modelled GB Housing Benefit for 2025-26 falls from about £11.7bn to £8.5bn (DWP: £12.9bn), because pension-age Housing Benefit was about 1.6 times DWP's figure while about £5.2bn of supported and temporary accommodation Housing Benefit remains unmodelled. Stop setting `would_claim_uc` for benefit units whose adults have all reached State Pension age, and build with policyengine-uk 2.102.5 so pension-age families can make new Housing Benefit claims. From 33092bfa07f8c5fbe58600db56dc44ffeb2a4ae9 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 14:40:47 -0400 Subject: [PATCH 57/70] Format the Housing Benefit target tests Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py | 1 - 1 file changed, 1 deletion(-) diff --git a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py index bc140334c..5267cd241 100644 --- a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py +++ b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py @@ -150,7 +150,6 @@ def test_working_age_general_needs_two_ways(): assert caseload[year] < h._CASELOAD_THOUSANDS["under"][year] - @settings(max_examples=200, deadline=None) @given( st.dictionaries(st.integers(2020, 2035), st.floats(0, 1e4), max_size=8), From 9f18a3d7c6530697e7a0797878b76b1d0e7e49e4 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 5 Oct 2026 12:10:49 -0400 Subject: [PATCH 58/70] Don't carry the net working-age HB targets past 2025-26 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The loss matrix fills a year a target doesn't list with the latest earlier value within three years (_resolve_value). That carried the 2025-26 net working-age Housing Benefit targets (£584.8m, 107k claims) into 2026-27 to 2028-29, where DWP's lines give a negative net figure. Targets gain a carry_forward flag (default True, so nothing else changes), and the two net targets set it to False. The build calibrates 2025 only, so the dataset is unchanged; any loss matrix built for 2026-28 now leaves the net targets out. Also reword the docstring: policyengine-uk has no supported or temporary accommodation rules, but the FRS can't identify those residents, so a reported award there is modelled under the general-needs rules and treating the model's working-age HB as general needs is an approximation. The unmodelled supported and temporary accommodation HB (£5.2bn, all ages) is recorded as a limitation (d946). "Within 12%" becomes "about 12% below". Tests: the net targets resolve in 2024-25 and 2025-26 only while the other HB targets still carry forward; a property test of _resolve_value for any values, year and flag. Co-Authored-By: Claude Opus 5.5 --- .../targets/build_loss_matrix.py | 7 ++- policyengine_uk_data/targets/schema.py | 4 ++ .../targets/sources/dwp_housing_benefit.py | 44 ++++++++------ .../tests/test_dwp_housing_benefit_targets.py | 57 ++++++++++++++++++- 4 files changed, 91 insertions(+), 21 deletions(-) diff --git a/policyengine_uk_data/targets/build_loss_matrix.py b/policyengine_uk_data/targets/build_loss_matrix.py index 44b34272c..7ac3c997d 100644 --- a/policyengine_uk_data/targets/build_loss_matrix.py +++ b/policyengine_uk_data/targets/build_loss_matrix.py @@ -137,11 +137,14 @@ def restrict_to_countries(column, household_country, countries): def _resolve_value(target: Target, year: int) -> float | None: """Get the target value for a year, falling back to nearest year. - VOA council tax targets are population-uprated when extrapolating - from their base year (2024). + A missing year takes the latest earlier value within three years, unless + the target sets ``carry_forward=False``. VOA council tax targets are + population-uprated when extrapolating from their base year (2024). """ if year in target.values: return target.values[year] + if not target.carry_forward: + return None available = sorted(target.values.keys()) if not available: return None diff --git a/policyengine_uk_data/targets/schema.py b/policyengine_uk_data/targets/schema.py index 0a678a228..512ee284e 100644 --- a/policyengine_uk_data/targets/schema.py +++ b/policyengine_uk_data/targets/schema.py @@ -50,6 +50,10 @@ class Target(BaseModel): # values of the model's `country` variable. The loss matrix column only # counts households in these countries. None means the whole UK. countries: tuple[str, ...] | None = None + # Whether the loss matrix may carry the latest earlier value forward to a + # later year the target does not list (see _resolve_value). False for a + # figure that exists only in the years it lists. + carry_forward: bool = True # For targets needing custom simulation logic (UC splits, # counterfactuals). Excluded from serialisation. diff --git a/policyengine_uk_data/targets/sources/dwp_housing_benefit.py b/policyengine_uk_data/targets/sources/dwp_housing_benefit.py index 4ed28076e..d822251d6 100644 --- a/policyengine_uk_data/targets/sources/dwp_housing_benefit.py +++ b/policyengine_uk_data/targets/sources/dwp_housing_benefit.py @@ -30,29 +30,36 @@ sit in its Pension Credit and State Pension groups. Working-age Housing Benefit is calibrated net of supported and temporary -accommodation. policyengine-uk pays no Housing Benefit for specified +accommodation. policyengine-uk has no rules or input for specified (supported) or temporary accommodation (``housing_benefit_eligible``: such -claims "are not modelled"; policyengine-uk#1911). So every working-age award -it pays is general-needs Housing Benefit: a continuing award to a family that -reports it and does not claim Universal Credit. DWP's working-age line -includes both kinds, but DWP splits accommodation type only across all ages +claims "are not modelled"; policyengine-uk#1911). It pays working-age +Housing Benefit only as a continuing award to a family that reports it and +does not claim Universal Credit, computed under the general-needs rules. The +FRS does not identify those accommodation types, so a respondent in them who +reports Housing Benefit is modelled the same way; treating the model's +working-age Housing Benefit as general needs is an approximation. DWP's +Spring 2026 forecast tables split accommodation type only across all ages (Housing Benefit by Accomodation Type). The calibrated working-age figure is therefore DWP's working-age line less all of its supported and temporary accommodation: £584.8m and 107k claims in 2025-26, against the full line's £5,778.1m and 460k. Part of that accommodation is pension-age, so the figure -is a lower bound on working-age general-needs Housing Benefit. It exists only -for 2024-25 and 2025-26. From 2026-27, DWP's all-age supported and temporary -accommodation exceeds its whole working-age line. +is a lower bound on working-age general-needs Housing Benefit. It exists +only for 2024-25 and 2025-26, and the targets do not carry it forward +(``carry_forward=False``): from 2026-27, DWP's all-age supported and +temporary accommodation exceeds its whole working-age line, so these lines +give no positive lower bound. That leaves DWP's supported and temporary +accommodation Housing Benefit, £5.2bn across all ages in 2025-26, unmodelled +as such: a known limitation. Seeded test calibrations on 2026-10-04 tried the full working-age line too. With only the pension-age figures calibrated, the model pays about 17,000 -working-age claims in 2025-26. Calibrated to the full line, it came within -12% of DWP's spending by loading it onto about three effective records. With -household weights capped at 20-40 times their prior, it reached only 54-60% -of that spending, and income-related ESA claimants rose to 1.6-2.0 times -DWP's count. Against the net figure, no other national target crosses the -10% line compared with calibrating the pension-age figures only. The full -working-age lines stay here (group "under") for tests and diagnostics. +working-age claims in 2025-26. Calibrated to the full line, it came about +12% below DWP's spending by loading it onto about three effective records. +With household weights capped at 20-40 times their prior, it reached only +54-60% of that spending, and income-related ESA claimants rose to 1.6-2.0 +times DWP's count. Against the net figure, no other national target crosses +the 10% line compared with calibrating the pension-age figures only. The +full working-age lines stay here (group "under") for tests and diagnostics. Source: https://www.gov.uk/government/publications/benefit-expenditure-and-caseload-tables-2026 """ @@ -228,8 +235,9 @@ def compute(ctx, target: Target, year: int) -> np.ndarray: ) in_group = _over_pension_credit_age(ctx) if age_group != "over": - # The model pays no supported or temporary accommodation Housing - # Benefit, so both working-age groups share one column. + # The model has no supported or temporary accommodation rules, + # so both working-age groups share one column (see the module + # docstring). in_group = ~in_group value = (housing_benefit > 0) if count else housing_benefit return np.asarray(ctx.household_from_family(value * in_group), dtype=float) @@ -261,6 +269,7 @@ def build_targets( reference_url=_REFERENCE_URL, forecast_vintage=_VINTAGE, countries=GREAT_BRITAIN, + carry_forward=age_group != "under_general_needs", custom_compute=_make_compute(age_group, count=False), ) ) @@ -278,6 +287,7 @@ def build_targets( reference_url=_REFERENCE_URL, forecast_vintage=_VINTAGE, countries=GREAT_BRITAIN, + carry_forward=age_group != "under_general_needs", custom_compute=_make_compute(age_group, count=True), ) ) diff --git a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py index 5267cd241..bc7b739b0 100644 --- a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py +++ b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py @@ -9,8 +9,11 @@ from hypothesis import strategies as st from policyengine_uk_data.targets import get_all_targets -from policyengine_uk_data.targets.build_loss_matrix import restrict_to_countries -from policyengine_uk_data.targets.schema import GREAT_BRITAIN, Unit +from policyengine_uk_data.targets.build_loss_matrix import ( + _resolve_value, + restrict_to_countries, +) +from policyengine_uk_data.targets.schema import GREAT_BRITAIN, Target, Unit from policyengine_uk_data.targets.sources import dwp_housing_benefit, obr # Other rows of the same DWP Housing benefits sheet, transcribed separately: @@ -150,6 +153,56 @@ def test_working_age_general_needs_two_ways(): assert caseload[year] < h._CASELOAD_THOUSANDS["under"][year] +def test_net_working_age_targets_are_not_carried_forward(): + """The net figure is negative from 2026-27, so the loss matrix must not + reuse 2025-26's value for later years. Other HB targets still resolve.""" + targets = _targets() + for suffix in ("", "_claims"): + net = targets[ + f"dwp/housing_benefit/under_pension_credit_age_general_needs{suffix}" + ] + assert not net.carry_forward + assert _resolve_value(net, 2024) == net.values[2024] + assert _resolve_value(net, 2025) == net.values[2025] + for year in (2023, 2026, 2027, 2028): + assert _resolve_value(net, year) is None, year + for group in ("over", "under"): + target = targets[f"dwp/housing_benefit/{group}_pension_credit_age{suffix}"] + assert target.carry_forward + for year in (2026, 2027, 2028): + assert _resolve_value(target, year) == target.values[year] + assert _resolve_value(target, 2031) == target.values[2030] + + +@settings(max_examples=300, deadline=None) +@given( + st.dictionaries( + st.integers(2015, 2035), st.floats(-1e9, 1e9), min_size=1, max_size=8 + ), + st.integers(2010, 2040), + st.booleans(), +) +def test_resolve_value_carries_forward_only_when_allowed(values, year, carry): + target = Target( + name="test/target", + variable="housing_benefit", + source="test", + unit=Unit.GBP, + values=values, + carry_forward=carry, + ) + resolved = _resolve_value(target, year) + if year in values: + assert resolved == values[year] + return + # Nearest listed year; an earlier year wins a tie. + closest = min(sorted(values), key=lambda y: abs(y - year)) + if carry and closest < year and year - closest <= 3: + assert resolved == values[closest] + else: + assert resolved is None + + @settings(max_examples=200, deadline=None) @given( st.dictionaries(st.integers(2020, 2035), st.floats(0, 1e4), max_size=8), From 954c22508761b9f218e6c26f0c2e835e0534559a Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 5 Oct 2026 13:36:44 -0400 Subject: [PATCH 59/70] Say what the model lacks for supported and temporary accommodation; describe the year resolver exactly The changelog and a test comment still said the model pays no supported or temporary accommodation Housing Benefit. It has no rules for it, and the FRS can't identify those residents, so treating its working-age HB as general needs is an approximation. The resolver docstring and the carry_forward comment now describe _resolve_value as it works: the nearest listed year, the earlier on a tie, used only if it is earlier and at most three years away. Co-Authored-By: Claude Opus 5.5 --- changelog.d/hb-dwp-age-targets.changed.md | 2 +- policyengine_uk_data/targets/build_loss_matrix.py | 5 +++-- policyengine_uk_data/targets/schema.py | 6 +++--- .../tests/test_dwp_housing_benefit_targets.py | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/changelog.d/hb-dwp-age-targets.changed.md b/changelog.d/hb-dwp-age-targets.changed.md index c98ce26b4..c36ead1fc 100644 --- a/changelog.d/hb-dwp-age-targets.changed.md +++ b/changelog.d/hb-dwp-age-targets.changed.md @@ -1 +1 @@ -Calibrate Housing Benefit to DWP's Great Britain spending and claims by age group, replacing the OBR Housing Benefit target that the model compared with UK-wide Housing Benefit. Pension-age Housing Benefit is calibrated to DWP's figures over Pension Credit qualifying age. Working-age Housing Benefit is calibrated to DWP's figures under that age less all supported and temporary accommodation Housing Benefit, which policyengine-uk does not model (£585m and 107k claims in 2025-26, against £5.78bn and 460k in total). Modelled GB Housing Benefit for 2025-26 falls from about £11.7bn to £8.5bn (DWP: £12.9bn), because pension-age Housing Benefit was about 1.6 times DWP's figure while about £5.2bn of supported and temporary accommodation Housing Benefit remains unmodelled. Stop setting `would_claim_uc` for benefit units whose adults have all reached State Pension age, and build with policyengine-uk 2.102.5 so pension-age families can make new Housing Benefit claims. +Calibrate Housing Benefit to DWP's Great Britain spending and claims by age group, replacing the OBR Housing Benefit target that the model compared with UK-wide Housing Benefit. Pension-age Housing Benefit is calibrated to DWP's figures over Pension Credit qualifying age. Working-age Housing Benefit is calibrated to DWP's figures under that age less all supported and temporary accommodation Housing Benefit, for which policyengine-uk has no rules (£585m and 107k claims in 2025-26, against £5.78bn and 460k in total); treating the model's working-age Housing Benefit as general needs is an approximation. Modelled GB Housing Benefit for 2025-26 falls from about £11.7bn to £8.5bn (DWP: £12.9bn), because pension-age Housing Benefit was about 1.6 times DWP's figure while about £5.2bn of supported and temporary accommodation Housing Benefit remains unmodelled as such. Stop setting `would_claim_uc` for benefit units whose adults have all reached State Pension age, and build with policyengine-uk 2.102.5 so pension-age families can make new Housing Benefit claims. diff --git a/policyengine_uk_data/targets/build_loss_matrix.py b/policyengine_uk_data/targets/build_loss_matrix.py index 7ac3c997d..3942df2df 100644 --- a/policyengine_uk_data/targets/build_loss_matrix.py +++ b/policyengine_uk_data/targets/build_loss_matrix.py @@ -137,8 +137,9 @@ def restrict_to_countries(column, household_country, countries): def _resolve_value(target: Target, year: int) -> float | None: """Get the target value for a year, falling back to nearest year. - A missing year takes the latest earlier value within three years, unless - the target sets ``carry_forward=False``. VOA council tax targets are + A missing year takes the value of the nearest listed year (the earlier + on a tie) if that year is earlier and at most three years away, unless + the target sets ``carry_forward=False``; otherwise there is no value. VOA council tax targets are population-uprated when extrapolating from their base year (2024). """ if year in target.values: diff --git a/policyengine_uk_data/targets/schema.py b/policyengine_uk_data/targets/schema.py index 512ee284e..73c584e2d 100644 --- a/policyengine_uk_data/targets/schema.py +++ b/policyengine_uk_data/targets/schema.py @@ -50,9 +50,9 @@ class Target(BaseModel): # values of the model's `country` variable. The loss matrix column only # counts households in these countries. None means the whole UK. countries: tuple[str, ...] | None = None - # Whether the loss matrix may carry the latest earlier value forward to a - # later year the target does not list (see _resolve_value). False for a - # figure that exists only in the years it lists. + # Whether the loss matrix may fill a year the target does not list with + # the nearest earlier listed year's value (see _resolve_value). False for + # a figure that exists only in the years it lists. carry_forward: bool = True # For targets needing custom simulation logic (UC splits, diff --git a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py index bc7b739b0..4dccafd55 100644 --- a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py +++ b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py @@ -366,7 +366,7 @@ def test_age_split_partitions_housing_benefit(population): under = _column(ctx, "dwp/housing_benefit/under_pension_credit_age") over_k = _column(ctx, "dwp/housing_benefit/over_pension_credit_age_claims") under_k = _column(ctx, "dwp/housing_benefit/under_pension_credit_age_claims") - # The model pays no supported or temporary accommodation HB, so the + # The model has no supported or temporary accommodation rules, so the # calibrated working-age group shares the full line's column. np.testing.assert_array_equal( _column(ctx, "dwp/housing_benefit/under_pension_credit_age_general_needs"), From f4d8f95c512ad47b902c2a2bb9c12f8853cce7b8 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 5 Oct 2026 13:42:15 -0400 Subject: [PATCH 60/70] Describe the year resolver exactly in the carry_forward comment Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/targets/schema.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/policyengine_uk_data/targets/schema.py b/policyengine_uk_data/targets/schema.py index 73c584e2d..ebdaba9d0 100644 --- a/policyengine_uk_data/targets/schema.py +++ b/policyengine_uk_data/targets/schema.py @@ -51,8 +51,9 @@ class Target(BaseModel): # counts households in these countries. None means the whole UK. countries: tuple[str, ...] | None = None # Whether the loss matrix may fill a year the target does not list with - # the nearest earlier listed year's value (see _resolve_value). False for - # a figure that exists only in the years it lists. + # the nearest listed year's value (the earlier on a tie), used only when + # that year is earlier and at most three years away (see _resolve_value). + # False for a figure that exists only in the years it lists. carry_forward: bool = True # For targets needing custom simulation logic (UC splits, From a7495fc3bd9c90b105120beb31a53f48d220314b Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 1 Oct 2026 10:07:37 -0400 Subject: [PATCH 61/70] Solve Pension Credit take-up over entitled benefit units The FRS build drew would_claim_pc against an unweighted count of every benefit unit, so entitled non-reporters claimed at about the take-up rate on top of every reporter. PolicyEngine/uk-triple-lock's coverage run (data/results.json, Enhanced FRS 2024-25 on policyengine-uk 2.90.2) put 2026-27 Pension Credit claims at 1.82m UK-wide, against DWP's 1.31m for Great Britain. After the imputations, compute Pension Credit entitlement and solve the claim probability that makes weighted take-up among entitled units equal DWP's FYE 2024 caseload take-up (62%). Reporters claim. Every non-reporter, entitled or not, is drawn at that probability, so units a reform makes entitled claim at the same rate. Replace the OBR Pension Credit target with DWP Spring 2026 Great Britain spending and caseload targets. Co-Authored-By: Claude Opus 5.5 --- changelog.d/pc-takeup-over-eligible.fixed.md | 1 + .../datasets/create_datasets.py | 11 ++ policyengine_uk_data/datasets/frs.py | 2 + .../datasets/pension_credit_takeup.py | 51 +++++++ .../parameters/take_up/pension_credit.yaml | 8 +- .../targets/sources/dwp_pension_credit.py | 89 ++++++++++++ policyengine_uk_data/targets/sources/obr.py | 4 +- .../tests/test_dwp_housing_benefit_targets.py | 4 +- .../tests/test_pension_credit_takeup.py | 136 ++++++++++++++++++ policyengine_uk_data/utils/takeup.py | 45 ++++++ 10 files changed, 346 insertions(+), 5 deletions(-) create mode 100644 changelog.d/pc-takeup-over-eligible.fixed.md create mode 100644 policyengine_uk_data/datasets/pension_credit_takeup.py create mode 100644 policyengine_uk_data/targets/sources/dwp_pension_credit.py create mode 100644 policyengine_uk_data/tests/test_pension_credit_takeup.py diff --git a/changelog.d/pc-takeup-over-eligible.fixed.md b/changelog.d/pc-takeup-over-eligible.fixed.md new file mode 100644 index 000000000..9e1605115 --- /dev/null +++ b/changelog.d/pc-takeup-over-eligible.fixed.md @@ -0,0 +1 @@ +Solve Pension Credit take-up over entitled benefit units, at DWP's FYE 2024 caseload take-up of 62%, after the imputations so entitlement reflects imputed capital. Every non-reporter is drawn at the same probability, so units a reform newly entitles can claim. Calibrate Pension Credit to DWP's Great Britain spending and caseload, replacing the OBR target that the model compared with UK-wide Pension Credit. diff --git a/policyengine_uk_data/datasets/create_datasets.py b/policyengine_uk_data/datasets/create_datasets.py index 29a73028b..a9707c548 100644 --- a/policyengine_uk_data/datasets/create_datasets.py +++ b/policyengine_uk_data/datasets/create_datasets.py @@ -100,6 +100,7 @@ def main(): "Impute capital gains", "Impute salary sacrifice", "Impute student loan plan", + "Assign Pension Credit take-up", "Clone and assign OA geography", "Calibrate constituency weights", "Calibrate local authority weights", @@ -202,6 +203,16 @@ def main(): ) update_dataset("Impute student loan plan", "completed") + # Pension Credit entitlement needs the imputed capital, so its + # take-up is solved here rather than in the FRS build. + update_dataset("Assign Pension Credit take-up", "processing") + from policyengine_uk_data.datasets.pension_credit_takeup import ( + assign_pension_credit_takeup, + ) + + frs = assign_pension_credit_takeup(frs, year=frs_release.calibration_year) + update_dataset("Assign Pension Credit take-up", "completed") + # Clone households and assign OA geography update_dataset("Clone and assign OA geography", "processing") from policyengine_uk_data.calibration.clone_and_assign import ( diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index 6b5b13b27..51e980ba0 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -1565,6 +1565,8 @@ def _reported_benunit_mask(person_column: str) -> np.ndarray: pe_benunit["child_benefit_opts_out"] = ( generator.random(len(pe_benunit)) < child_benefit_opts_out_rate ) + # The enhanced dataset redraws this once entitlement can be computed + # (datasets/pension_credit_takeup.py). pe_benunit["would_claim_pc"] = assign_takeup_with_reported_anchors( generator.random(len(pe_benunit)), pension_credit_rate, diff --git a/policyengine_uk_data/datasets/pension_credit_takeup.py b/policyengine_uk_data/datasets/pension_credit_takeup.py new file mode 100644 index 000000000..0c144a541 --- /dev/null +++ b/policyengine_uk_data/datasets/pension_credit_takeup.py @@ -0,0 +1,51 @@ +"""Pension Credit take-up solved over entitled benefit units. + +The FRS build first draws ``would_claim_pc`` against an unweighted count of +every benefit unit, mostly units with no entitlement. Entitled non-reporters +then claim at about the take-up rate on top of every reporter, so take-up +among the entitled ends up well above it. This step redraws the flag once +the imputations are in; entitlement depends on imputed capital, so it has +to wait for them. + +For the calibration year it: +- finds the benefit units with positive Pension Credit entitlement; +- keeps reporters of Pension Credit as claimants; +- solves the probability that makes weighted take-up among entitled units + equal DWP's caseload take-up rate; +- applies that probability to every non-reporter, entitled or not, so a + unit that a reform makes entitled claims at the same rate. + +Weights are the survey grossing weights, before calibration. +""" + +import numpy as np + +from policyengine_uk_data.parameters import load_take_up_rate +from policyengine_uk_data.utils.takeup import assign_takeup_over_eligible + +# Separate from the FRS build's take-up generator, so redrawing here leaves +# every other stochastic input unchanged. +PENSION_CREDIT_TAKEUP_SEED = 1_792 + + +def assign_pension_credit_takeup(dataset, year: int): + """Return a copy of ``dataset`` with ``would_claim_pc`` solved for ``year``.""" + from policyengine_uk import Microsimulation + + sim = Microsimulation(dataset=dataset) + entitled = sim.calculate("pension_credit_entitlement", year).values > 0 + reported = ( + sim.calculate("pension_credit_reported", year, map_to="benunit").values > 0 + ) + weights = sim.calculate("benunit_weight", year).values + draws = np.random.default_rng(PENSION_CREDIT_TAKEUP_SEED).random(len(entitled)) + + dataset = dataset.copy() + dataset.benunit["would_claim_pc"] = assign_takeup_over_eligible( + draws, + load_take_up_rate("pension_credit", year), + weights, + entitled, + reported, + ) + return dataset diff --git a/policyengine_uk_data/parameters/take_up/pension_credit.yaml b/policyengine_uk_data/parameters/take_up/pension_credit.yaml index dc31d8502..3abd278d4 100644 --- a/policyengine_uk_data/parameters/take_up/pension_credit.yaml +++ b/policyengine_uk_data/parameters/take_up/pension_credit.yaml @@ -1,4 +1,4 @@ -description: Share of eligible Pension Credit recipients that participate. +description: Share of benefit units entitled to Pension Credit that receive it (caseload take-up, Great Britain). metadata: label: Pension Credit take-up rate name: PC_takeup @@ -6,5 +6,11 @@ metadata: reference: - title: "Income-related benefits: estimates of take-up: financial year 2019 to 2020" href: https://www.gov.uk/government/statistics/income-related-benefits-estimates-of-take-up-financial-year-2019-to-2020/income-related-benefits-estimates-of-take-up-financial-year-2019-to-2020#pension-credit-2 + - title: "Income-related benefits: estimates of take-up: financial year ending 2024" + href: https://www.gov.uk/government/statistics/income-related-benefits-estimates-of-take-up-financial-year-ending-2024/income-related-benefits-estimates-of-take-up-financial-year-ending-2024 values: 2015-01-01: 0.7 + # FYE 2023 and FYE 2024 caseload take-up (65% and 62%) from the FYE 2024 + # edition; expenditure take-up was 71% in FYE 2024. + 2022-04-01: 0.65 + 2023-04-01: 0.62 diff --git a/policyengine_uk_data/targets/sources/dwp_pension_credit.py b/policyengine_uk_data/targets/sources/dwp_pension_credit.py new file mode 100644 index 000000000..092a77fc6 --- /dev/null +++ b/policyengine_uk_data/targets/sources/dwp_pension_credit.py @@ -0,0 +1,89 @@ +"""DWP Pension Credit targets: spending and claims in Great Britain. + +From DWP's benefit expenditure and caseload tables for the Spring Forecast +2026 (Pension Credit sheet: nominal £ million and thousands of claims, +2022-23 to 2024-25 outturn, forecast after). Financial year 2025-26 is +stored as 2025. + +DWP's figures cover Great Britain; Pension Credit in Northern Ireland is +paid by the Department for Communities, so the model columns count GB +households only. These targets replace OBR EFO table 4.9 "Pension credit", +the same DWP spending line, which the model compared with UK-wide Pension +Credit and which carries no caseload. + +Source: https://www.gov.uk/government/publications/benefit-expenditure-and-caseload-tables-2026 +""" + +import numpy as np + +from policyengine_uk_data.targets.schema import GREAT_BRITAIN, Target, Unit + +_REFERENCE_URL = ( + "https://www.gov.uk/government/publications/" + "benefit-expenditure-and-caseload-tables-2026" +) +_VINTAGE = "spring_2026" + +# "Total Pension Credit", £ million nominal. +_SPENDING_GBP_M = { + 2022: 4_935.31, + 2023: 5_467.14, + 2024: 6_007.70, + 2025: 6_144.47, + 2026: 6_054.90, + 2027: 5_911.31, + 2028: 5_783.32, + 2029: 5_832.22, + 2030: 5_821.77, +} +# "Pension Credit" caseload, thousands (annual average, rounded by DWP). +_CASELOAD_THOUSANDS = { + 2022: 1_374, + 2023: 1_370, + 2024: 1_376, + 2025: 1_382, + 2026: 1_312, + 2027: 1_253, + 2028: 1_188, + 2029: 1_142, + 2030: 1_133, +} + + +def _make_compute(count: bool): + def compute(ctx, target: Target, year: int) -> np.ndarray: + pension_credit = np.asarray( + ctx.sim.calculate("pension_credit").values, dtype=float + ) + value = (pension_credit > 0) if count else pension_credit + return np.asarray(ctx.household_from_family(value), dtype=float) + + return compute + + +def get_targets() -> list[Target]: + return [ + Target( + name="dwp/pension_credit", + variable="pension_credit", + source="dwp", + unit=Unit.GBP, + values={year: v * 1e6 for year, v in _SPENDING_GBP_M.items()}, + reference_url=_REFERENCE_URL, + forecast_vintage=_VINTAGE, + countries=GREAT_BRITAIN, + custom_compute=_make_compute(count=False), + ), + Target( + name="dwp/pension_credit_claims", + variable="pension_credit", + source="dwp", + unit=Unit.COUNT, + values={year: v * 1e3 for year, v in _CASELOAD_THOUSANDS.items()}, + is_count=True, + reference_url=_REFERENCE_URL, + forecast_vintage=_VINTAGE, + countries=GREAT_BRITAIN, + custom_compute=_make_compute(count=True), + ), + ] diff --git a/policyengine_uk_data/targets/sources/obr.py b/policyengine_uk_data/targets/sources/obr.py index bb4fc0ce6..3d88e3d48 100644 --- a/policyengine_uk_data/targets/sources/obr.py +++ b/policyengine_uk_data/targets/sources/obr.py @@ -484,7 +484,8 @@ def read_49(row_num: int) -> dict[int, float]: # "Housing benefit (not on JSA)" is not targeted: it is DWP-funded GB # spending only, and dwp_housing_benefit.py targets total GB Housing - # Benefit split by age instead. + # Benefit split by age instead. "Pension credit" is the same DWP GB line + # that dwp_pension_credit.py targets, with its caseload. benefit_rows = { "pip": ( "Disability living allowance and personal independence p", @@ -495,7 +496,6 @@ def read_49(row_num: int) -> dict[int, float]: "Attendance allowance", "attendance_allowance", ), - "pension_credit": ("Pension credit", "pension_credit"), "carers_allowance": ("Carer's allowance", "carers_allowance"), "statutory_maternity_pay": ( "Statutory maternity pay", diff --git a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py index 4dccafd55..53cd1c46e 100644 --- a/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py +++ b/policyengine_uk_data/tests/test_dwp_housing_benefit_targets.py @@ -229,12 +229,12 @@ def test_obr_housing_benefit_row_is_not_parsed(): ws = wb.active ws.title = "4.9" ws["B2"] = "Housing benefit (not on JSA)1" - ws["B3"] = "Pension credit" + ws["B3"] = "Attendance allowance" for row in (2, 3): for col in "CDEFGHI": ws[f"{col}{row}"] = 6.0 names = {t.name for t in obr._parse_welfare(wb)} - assert "obr/pension_credit" in names + assert "obr/attendance_allowance" in names assert not any("housing_benefit" in name for name in names) diff --git a/policyengine_uk_data/tests/test_pension_credit_takeup.py b/policyengine_uk_data/tests/test_pension_credit_takeup.py new file mode 100644 index 000000000..794fd9e2e --- /dev/null +++ b/policyengine_uk_data/tests/test_pension_credit_takeup.py @@ -0,0 +1,136 @@ +"""Pension Credit take-up solved over entitled units, and DWP targets.""" + +import numpy as np +import openpyxl +from hypothesis import given, settings +from hypothesis import strategies as st + +from policyengine_uk_data.parameters import load_take_up_rate +from policyengine_uk_data.targets import get_all_targets +from policyengine_uk_data.targets.schema import GREAT_BRITAIN, Unit +from policyengine_uk_data.targets.sources import dwp_pension_credit, obr +from policyengine_uk_data.utils.takeup import ( + assign_takeup_over_eligible, + solve_fill_probability, +) + +_units = st.lists( + st.tuples(st.floats(0, 5_000), st.booleans(), st.booleans()), + min_size=1, + max_size=60, +) + + +@settings(max_examples=300, deadline=None) +@given(_units, st.floats(0, 1)) +def test_fill_probability_meets_the_rate_or_hits_a_bound(units, rate): + weights = np.array([u[0] for u in units]) + eligible = np.array([u[1] for u in units]) + reported = np.array([u[2] for u in units]) + p = solve_fill_probability(rate, weights, eligible, reported) + assert 0 <= p <= 1 + target = rate * weights[eligible].sum() + reporting = weights[eligible & reported].sum() + remaining = weights[eligible & ~reported].sum() + expected = reporting + p * remaining + if remaining <= 0: + assert p == 0 + elif 0 < p < 1: + assert np.isclose(expected, target, rtol=1e-9, atol=1e-6) + elif p == 0: + assert reporting >= target - 1e-6 + else: + assert reporting + remaining <= target + 1e-6 + + +@settings(max_examples=200, deadline=None) +@given(_units, st.floats(0, 1), st.integers(0, 2**32 - 1)) +def test_reporters_claim_and_every_non_reporter_shares_one_probability( + units, rate, seed +): + weights = np.array([u[0] for u in units]) + eligible = np.array([u[1] for u in units]) + reported = np.array([u[2] for u in units]) + draws = np.random.default_rng(seed).random(len(units)) + result = assign_takeup_over_eligible(draws, rate, weights, eligible, reported) + p = solve_fill_probability(rate, weights, eligible, reported) + assert result[reported].all() + # Eligibility does not change a non-reporter's flag, so a unit a reform + # makes entitled claims at the same rate. + np.testing.assert_array_equal(result[~reported], (draws < p)[~reported]) + + +def test_weighted_take_up_among_eligible_matches_rate(): + rng = np.random.default_rng(0) + n = 200_000 + weights = rng.uniform(100, 3_000, n) + eligible = rng.random(n) < 0.2 + reported = eligible & (rng.random(n) < 0.4) + result = assign_takeup_over_eligible( + rng.random(n), 0.62, weights, eligible, reported + ) + take_up = weights[eligible & result].sum() / weights[eligible].sum() + assert abs(take_up - 0.62) < 0.005 + # Non-entitled units are drawn at the same probability as entitled ones. + p = solve_fill_probability(0.62, weights, eligible, reported) + assert abs(result[~eligible].mean() - p) < 0.01 + + +def test_rate_is_dwp_fye_2024_caseload_take_up(): + assert load_take_up_rate("pension_credit", 2025) == 0.62 + + +def test_targets_reconcile_with_dwp_components(): + """Guarantee + savings credit spending and the three claim types sum to + the transcribed totals (DWP Pension Credit sheet, separate rows).""" + guarantee = {2022: 4_594.32, 2025: 5_787.44, 2030: 5_543.38} + savings = {2022: 340.99, 2025: 357.03, 2030: 278.38} + claims = {2022: (727, 448, 199), 2025: (807, 399, 176), 2030: (734, 285, 114)} + targets = {t.name: t for t in dwp_pension_credit.get_targets()} + spending = targets["dwp/pension_credit"] + caseload = targets["dwp/pension_credit_claims"] + for year in guarantee: + assert abs(spending.values[year] / 1e6 - guarantee[year] - savings[year]) < 0.02 + assert abs(caseload.values[year] / 1e3 - sum(claims[year])) <= 1 + for target in targets.values(): + assert target.countries == GREAT_BRITAIN + assert target.unit == (Unit.COUNT if target.is_count else Unit.GBP) + + +def test_pension_credit_is_targeted_only_by_dwp(): + names = {t.name for t in get_all_targets() if t.variable == "pension_credit"} + assert names == {"dwp/pension_credit", "dwp/pension_credit_claims"} + + +def test_obr_pension_credit_row_is_not_parsed(): + wb = openpyxl.Workbook() + ws = wb.active + ws.title = "4.9" + ws["B2"] = "Pension credit" + for col in "CDEFGHI": + ws[f"{col}2"] = 6.0 + assert not obr._parse_welfare(wb) + + +def test_built_dataset_reporters_claim_and_caseload_is_near_dwp(baseline): + from policyengine_uk_data.targets.build_loss_matrix import ( + _SimContext, + restrict_to_countries, + ) + + year = 2025 + reported = ( + baseline.calculate("pension_credit_reported", year, map_to="benunit").values > 0 + ) + would_claim = baseline.calculate("would_claim_pc", year).values.astype(bool) + assert would_claim[reported].all() + + baseline.default_calculation_period = str(year) + ctx = _SimContext(baseline, str(year), None, None) + weight = baseline.calculate("household_weight", year).values + for target in dwp_pension_credit.get_targets(): + column = restrict_to_countries( + target.custom_compute(ctx, target, year), ctx.country, target.countries + ) + ratio = (column * weight).sum() / target.values[year] + assert 0.5 < ratio < 2, (target.name, ratio) diff --git a/policyengine_uk_data/utils/takeup.py b/policyengine_uk_data/utils/takeup.py index ab5f6241c..24e66cdd7 100644 --- a/policyengine_uk_data/utils/takeup.py +++ b/policyengine_uk_data/utils/takeup.py @@ -57,3 +57,48 @@ def assign_takeup_with_reported_anchors( adjusted_rate = remaining_needed / int(non_reporters.sum()) result |= non_reporters & (draws < adjusted_rate) return result + + +def solve_fill_probability( + rate: float, + weights: np.ndarray, + eligible: np.ndarray, + reported: np.ndarray, +) -> float: + """Claim probability for eligible non-reporters that makes weighted + take-up among eligible entities equal ``rate`` in expectation. + + Reporters always claim. If they alone exceed ``rate`` the probability is + 0; if every eligible non-reporter claiming still falls short it is 1. + """ + weights = np.asarray(weights, dtype=np.float64) + eligible = np.asarray(eligible, dtype=bool) + reported = np.asarray(reported, dtype=bool) + eligible_weight = weights[eligible].sum() + reporting_weight = weights[eligible & reported].sum() + remaining_weight = weights[eligible & ~reported].sum() + if remaining_weight <= 0: + return 0.0 + needed = float(rate) * eligible_weight - reporting_weight + # A vanishing remaining weight sends the ratio to infinity; clip handles it. + with np.errstate(over="ignore", divide="ignore"): + probability = needed / remaining_weight + return float(np.clip(probability, 0.0, 1.0)) + + +def assign_takeup_over_eligible( + draws: np.ndarray, + rate: float, + weights: np.ndarray, + eligible: np.ndarray, + reported: np.ndarray, +) -> np.ndarray: + """Take-up flags with ``rate`` met over eligible entities. + + Reporters claim. Every non-reporter, eligible or not, claims with the + probability ``solve_fill_probability`` finds for eligible non-reporters, + so a unit a reform makes newly eligible claims at the same rate. + """ + probability = solve_fill_probability(rate, weights, eligible, reported) + reported = np.asarray(reported, dtype=bool) + return reported | (np.asarray(draws, dtype=np.float64) < probability) From 4ceeb5ce89226f166fccae7825840237dd34c158 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 1 Oct 2026 13:59:25 -0400 Subject: [PATCH 62/70] Report Pension Credit take-up aggregates, including the GB reporter baseline The take-up step returns weighted aggregates for the calibration year: the solved probability, entitled units and reporters, and the Great Britain reporter baseline before any fill, which the build's summary prints. Co-Authored-By: Claude Opus 5.5 --- .../datasets/create_datasets.py | 5 +- .../datasets/pension_credit_takeup.py | 70 +++++++++++++++---- 2 files changed, 60 insertions(+), 15 deletions(-) diff --git a/policyengine_uk_data/datasets/create_datasets.py b/policyengine_uk_data/datasets/create_datasets.py index a9707c548..881992da5 100644 --- a/policyengine_uk_data/datasets/create_datasets.py +++ b/policyengine_uk_data/datasets/create_datasets.py @@ -210,7 +210,9 @@ def main(): assign_pension_credit_takeup, ) - frs = assign_pension_credit_takeup(frs, year=frs_release.calibration_year) + frs, pension_credit_takeup = assign_pension_credit_takeup( + frs, year=frs_release.calibration_year + ) update_dataset("Assign Pension Credit take-up", "completed") # Clone households and assign OA geography @@ -408,6 +410,7 @@ def main(): "long_geography_weights": "local_geography_weights.csv.gz", "imputations_applied": "consumption, wealth, VAT, services, income, capital_gains, cgt_band_donors, salary_sacrifice, student_loan_plan", "calibration": "national, LA and constituency targets", + "pension_credit_take_up": pension_credit_takeup, }, ) diff --git a/policyengine_uk_data/datasets/pension_credit_takeup.py b/policyengine_uk_data/datasets/pension_credit_takeup.py index 0c144a541..f106ff439 100644 --- a/policyengine_uk_data/datasets/pension_credit_takeup.py +++ b/policyengine_uk_data/datasets/pension_credit_takeup.py @@ -21,7 +21,10 @@ import numpy as np from policyengine_uk_data.parameters import load_take_up_rate -from policyengine_uk_data.utils.takeup import assign_takeup_over_eligible +from policyengine_uk_data.utils.takeup import ( + assign_takeup_over_eligible, + solve_fill_probability, +) # Separate from the FRS build's take-up generator, so redrawing here leaves # every other stochastic input unchanged. @@ -29,23 +32,62 @@ def assign_pension_credit_takeup(dataset, year: int): - """Return a copy of ``dataset`` with ``would_claim_pc`` solved for ``year``.""" + """Return a copy of ``dataset`` with ``would_claim_pc`` solved for + ``year``, and a summary of weighted aggregates. + + The summary's Great Britain reporter baseline (reporters only, before + any fill) is what DWP's GB targets are compared with: a fill can only + add claimants, so if reporters alone exceed DWP's caseload the fill is + zero and only calibration can bring the total down. + """ from policyengine_uk import Microsimulation sim = Microsimulation(dataset=dataset) - entitled = sim.calculate("pension_credit_entitlement", year).values > 0 - reported = ( - sim.calculate("pension_credit_reported", year, map_to="benunit").values > 0 - ) + entitlement = sim.calculate("pension_credit_entitlement", year).values + entitled = entitlement > 0 + reported_amount = sim.calculate( + "pension_credit_reported", year, map_to="benunit" + ).values + reported = reported_amount > 0 weights = sim.calculate("benunit_weight", year).values + country = sim.calculate("country", year).values + in_ni = ( + sim.map_result( + sim.map_result( + (country == "NORTHERN_IRELAND").astype(float), "household", "person" + ), + "person", + "benunit", + ) + > 0 + ) + rate = load_take_up_rate("pension_credit", year) + probability = solve_fill_probability(rate, weights, entitled, reported) draws = np.random.default_rng(PENSION_CREDIT_TAKEUP_SEED).random(len(entitled)) dataset = dataset.copy() - dataset.benunit["would_claim_pc"] = assign_takeup_over_eligible( - draws, - load_take_up_rate("pension_credit", year), - weights, - entitled, - reported, - ) - return dataset + claims = assign_takeup_over_eligible(draws, rate, weights, entitled, reported) + dataset.benunit["would_claim_pc"] = claims + + gb = ~in_ni + + def total(values, mask, scale): + return round(float((weights * values)[mask].sum()) / scale, 3) + + summary = { + "year": year, + "rate": rate, + "fill_probability": round(probability, 4), + "entitled_k": total(1, entitled, 1e3), + "reporters_k": total(1, reported, 1e3), + "entitled_reporters_k": total(1, entitled & reported, 1e3), + "gb_reporters_k": total(1, gb & reported, 1e3), + "gb_entitled_reporters_k": total(1, gb & entitled & reported, 1e3), + "gb_reported_pension_credit_bn": total(reported_amount, gb, 1e9), + "gb_reporters_modelled_pension_credit_bn": total( + entitlement, gb & reported, 1e9 + ), + "gb_claims_after_fill_k": total(1, gb & entitled & claims, 1e3), + "gb_pension_credit_after_fill_bn": total(entitlement, gb & claims, 1e9), + } + return dataset, summary From be2645d63c081384944479a150ebaab1d99ef540 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 09:34:38 -0400 Subject: [PATCH 63/70] Don't anchor Pension Credit take-up on SPI-synthetic reporters The Pension Credit reports on SPI-synthetic households are imputed by the second-stage QRF (imputations/frs_only.py) from their SPI incomes, not observed claims. In build D, 154 such benefit units reported Pension Credit and were all anchored as claimants. They are now drawn at the solved probability like any non-reporter. Most SPI-synthetic households have zero survey weight when the probability is solved. The capital-gains band donors (imputations/capital_gains.py) are copies of sampled households re-weighted to HMRC taxpayer counts, so a copy of an SPI-synthetic household keeps the flag and has positive weight. The solved probability still does not move in build D', because none of its SPI-synthetic reporters is entitled. Co-Authored-By: Claude Opus 5.5 --- changelog.d/pc-takeup-over-eligible.fixed.md | 2 +- .../datasets/pension_credit_takeup.py | 25 +++++++++++++++-- .../tests/test_pension_credit_takeup.py | 28 +++++++++++++++++++ 3 files changed, 52 insertions(+), 3 deletions(-) diff --git a/changelog.d/pc-takeup-over-eligible.fixed.md b/changelog.d/pc-takeup-over-eligible.fixed.md index 9e1605115..58490defd 100644 --- a/changelog.d/pc-takeup-over-eligible.fixed.md +++ b/changelog.d/pc-takeup-over-eligible.fixed.md @@ -1 +1 @@ -Solve Pension Credit take-up over entitled benefit units, at DWP's FYE 2024 caseload take-up of 62%, after the imputations so entitlement reflects imputed capital. Every non-reporter is drawn at the same probability, so units a reform newly entitles can claim. Calibrate Pension Credit to DWP's Great Britain spending and caseload, replacing the OBR target that the model compared with UK-wide Pension Credit. +Solve Pension Credit take-up over entitled benefit units, at DWP's FYE 2024 caseload take-up of 62%, after the imputations so entitlement reflects imputed capital. Every non-reporter is drawn at the same probability, so units a reform newly entitles can claim. Reports on SPI-synthetic households, which carry SPI-imputed incomes, no longer anchor take-up. Calibrate Pension Credit to DWP's Great Britain spending and caseload, replacing the OBR target that the model compared with UK-wide Pension Credit. diff --git a/policyengine_uk_data/datasets/pension_credit_takeup.py b/policyengine_uk_data/datasets/pension_credit_takeup.py index f106ff439..2419022fd 100644 --- a/policyengine_uk_data/datasets/pension_credit_takeup.py +++ b/policyengine_uk_data/datasets/pension_credit_takeup.py @@ -9,7 +9,9 @@ For the calibration year it: - finds the benefit units with positive Pension Credit entitlement; -- keeps reporters of Pension Credit as claimants; +- keeps reporters of Pension Credit as claimants, except on SPI-synthetic + households, which copy an FRS household's benefit reports but replace its + incomes with SPI-imputed ones; - solves the probability that makes weighted take-up among entitled units equal DWP's caseload take-up rate; - applies that probability to every non-reporter, entitled or not, so a @@ -31,6 +33,21 @@ PENSION_CREDIT_TAKEUP_SEED = 1_792 +def spi_synthetic_benunits(dataset) -> np.ndarray: + """Benefit units in households flagged ``household_is_spi_synthetic``.""" + household = dataset.household + if "household_is_spi_synthetic" not in household.columns: + return np.zeros(len(dataset.benunit), dtype=bool) + synthetic = household.loc[ + household["household_is_spi_synthetic"].astype(bool), "household_id" + ] + person = dataset.person + benunits = person.loc[ + person["person_household_id"].isin(synthetic), "person_benunit_id" + ] + return dataset.benunit["benunit_id"].isin(benunits).to_numpy() + + def assign_pension_credit_takeup(dataset, year: int): """Return a copy of ``dataset`` with ``would_claim_pc`` solved for ``year``, and a summary of weighted aggregates. @@ -48,7 +65,8 @@ def assign_pension_credit_takeup(dataset, year: int): reported_amount = sim.calculate( "pension_credit_reported", year, map_to="benunit" ).values - reported = reported_amount > 0 + spi_synthetic = spi_synthetic_benunits(dataset) + reported = (reported_amount > 0) & ~spi_synthetic weights = sim.calculate("benunit_weight", year).values country = sim.calculate("country", year).values in_ni = ( @@ -80,6 +98,9 @@ def total(values, mask, scale): "fill_probability": round(probability, 4), "entitled_k": total(1, entitled, 1e3), "reporters_k": total(1, reported, 1e3), + "spi_synthetic_units_not_anchored": int( + (spi_synthetic & (reported_amount > 0)).sum() + ), "entitled_reporters_k": total(1, entitled & reported, 1e3), "gb_reporters_k": total(1, gb & reported, 1e3), "gb_entitled_reporters_k": total(1, gb & entitled & reported, 1e3), diff --git a/policyengine_uk_data/tests/test_pension_credit_takeup.py b/policyengine_uk_data/tests/test_pension_credit_takeup.py index 794fd9e2e..7259f138a 100644 --- a/policyengine_uk_data/tests/test_pension_credit_takeup.py +++ b/policyengine_uk_data/tests/test_pension_credit_takeup.py @@ -134,3 +134,31 @@ def test_built_dataset_reporters_claim_and_caseload_is_near_dwp(baseline): ) ratio = (column * weight).sum() / target.values[year] assert 0.5 < ratio < 2, (target.name, ratio) + + +def test_spi_synthetic_benefit_units_are_found_through_their_household(): + from types import SimpleNamespace + + import pandas as pd + + from policyengine_uk_data.datasets.pension_credit_takeup import ( + spi_synthetic_benunits, + ) + + dataset = SimpleNamespace( + household=pd.DataFrame( + {"household_id": [1, 2, 3], "household_is_spi_synthetic": [0, 1, 0]} + ), + person=pd.DataFrame( + { + "person_household_id": [1, 2, 2, 3], + "person_benunit_id": [10, 20, 21, 30], + } + ), + benunit=pd.DataFrame({"benunit_id": [30, 21, 20, 10]}), + ) + np.testing.assert_array_equal( + spi_synthetic_benunits(dataset), [False, True, True, False] + ) + dataset.household = dataset.household.drop(columns="household_is_spi_synthetic") + assert not spi_synthetic_benunits(dataset).any() From 2a7c02bf3abf15ba5b15296939acd27a24467db9 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 1 Oct 2026 15:48:31 -0400 Subject: [PATCH 64/70] Solve Pension Credit take-up over Great Britain only DWP's 62% caseload take-up covers Great Britain, but the solve counted Northern Ireland's entitled units and reporters too, so NI's reporter mix moved GB take-up away from 62%. Solve over GB entitled units and draw every non-reporter, NI included, at that probability. A property test checks that NI composition cannot change the GB probability or any GB flag. Correct the docstrings: the fill is zero when entitled GB reporters already make up the rate of entitled GB units, which is separate from calibration against DWP's absolute targets. OBR's Pension Credit line is the same GB series as DWP's, not identical figures. The summary now reports GB entitled units. Co-Authored-By: Claude Opus 5.5 --- changelog.d/pc-takeup-over-eligible.fixed.md | 2 +- .../datasets/pension_credit_takeup.py | 40 ++++++++++++++----- .../targets/sources/dwp_pension_credit.py | 5 ++- .../tests/test_pension_credit_takeup.py | 38 ++++++++++++++++++ 4 files changed, 71 insertions(+), 14 deletions(-) diff --git a/changelog.d/pc-takeup-over-eligible.fixed.md b/changelog.d/pc-takeup-over-eligible.fixed.md index 58490defd..7bae6a1af 100644 --- a/changelog.d/pc-takeup-over-eligible.fixed.md +++ b/changelog.d/pc-takeup-over-eligible.fixed.md @@ -1 +1 @@ -Solve Pension Credit take-up over entitled benefit units, at DWP's FYE 2024 caseload take-up of 62%, after the imputations so entitlement reflects imputed capital. Every non-reporter is drawn at the same probability, so units a reform newly entitles can claim. Reports on SPI-synthetic households, which carry SPI-imputed incomes, no longer anchor take-up. Calibrate Pension Credit to DWP's Great Britain spending and caseload, replacing the OBR target that the model compared with UK-wide Pension Credit. +Solve Pension Credit take-up over entitled benefit units in Great Britain, at DWP's FYE 2024 caseload take-up of 62%, after the imputations so entitlement reflects imputed capital. Every non-reporter, including in Northern Ireland, is drawn at the same probability, so units a reform newly entitles can claim. Reports on SPI-synthetic households, which carry SPI-imputed incomes, no longer anchor take-up. Calibrate Pension Credit to DWP's Great Britain spending and caseload, replacing the OBR target that the model compared with UK-wide Pension Credit. diff --git a/policyengine_uk_data/datasets/pension_credit_takeup.py b/policyengine_uk_data/datasets/pension_credit_takeup.py index 2419022fd..f4eba6380 100644 --- a/policyengine_uk_data/datasets/pension_credit_takeup.py +++ b/policyengine_uk_data/datasets/pension_credit_takeup.py @@ -13,9 +13,11 @@ households, which copy an FRS household's benefit reports but replace its incomes with SPI-imputed ones; - solves the probability that makes weighted take-up among entitled units - equal DWP's caseload take-up rate; -- applies that probability to every non-reporter, entitled or not, so a - unit that a reform makes entitled claims at the same rate. + in Great Britain equal DWP's caseload take-up rate, which covers Great + Britain only; +- applies that probability to every non-reporter, entitled or not and in + Northern Ireland too, so a unit that a reform makes entitled claims at the + same rate. Weights are the survey grossing weights, before calibration. """ @@ -48,14 +50,29 @@ def spi_synthetic_benunits(dataset) -> np.ndarray: return dataset.benunit["benunit_id"].isin(benunits).to_numpy() +def pension_credit_takeup_flags( + draws, rate, weights, entitled, reported, great_britain +): + """Claim flags and the fill probability solved over GB entitled units. + + Only Great Britain enters the solve, because DWP's take-up rate covers + Great Britain. Every non-reporter, wherever it lives, claims when its + draw is below the probability. + """ + eligible = np.asarray(entitled, dtype=bool) & np.asarray(great_britain, dtype=bool) + probability = solve_fill_probability(rate, weights, eligible, reported) + claims = assign_takeup_over_eligible(draws, rate, weights, eligible, reported) + return claims, probability + + def assign_pension_credit_takeup(dataset, year: int): """Return a copy of ``dataset`` with ``would_claim_pc`` solved for ``year``, and a summary of weighted aggregates. - The summary's Great Britain reporter baseline (reporters only, before - any fill) is what DWP's GB targets are compared with: a fill can only - add claimants, so if reporters alone exceed DWP's caseload the fill is - zero and only calibration can bring the total down. + The probability is zero when entitled GB reporters already make up the + take-up rate of entitled GB units. The summary's GB reporter baseline + (reporters only, before any fill) is for comparison with DWP's absolute + caseload and spending, which calibration targets later and separately. """ from policyengine_uk import Microsimulation @@ -79,16 +96,16 @@ def assign_pension_credit_takeup(dataset, year: int): ) > 0 ) + gb = ~in_ni rate = load_take_up_rate("pension_credit", year) - probability = solve_fill_probability(rate, weights, entitled, reported) draws = np.random.default_rng(PENSION_CREDIT_TAKEUP_SEED).random(len(entitled)) + claims, probability = pension_credit_takeup_flags( + draws, rate, weights, entitled, reported, gb + ) dataset = dataset.copy() - claims = assign_takeup_over_eligible(draws, rate, weights, entitled, reported) dataset.benunit["would_claim_pc"] = claims - gb = ~in_ni - def total(values, mask, scale): return round(float((weights * values)[mask].sum()) / scale, 3) @@ -97,6 +114,7 @@ def total(values, mask, scale): "rate": rate, "fill_probability": round(probability, 4), "entitled_k": total(1, entitled, 1e3), + "gb_entitled_k": total(1, gb & entitled, 1e3), "reporters_k": total(1, reported, 1e3), "spi_synthetic_units_not_anchored": int( (spi_synthetic & (reported_amount > 0)).sum() diff --git a/policyengine_uk_data/targets/sources/dwp_pension_credit.py b/policyengine_uk_data/targets/sources/dwp_pension_credit.py index 092a77fc6..776875f33 100644 --- a/policyengine_uk_data/targets/sources/dwp_pension_credit.py +++ b/policyengine_uk_data/targets/sources/dwp_pension_credit.py @@ -8,8 +8,9 @@ DWP's figures cover Great Britain; Pension Credit in Northern Ireland is paid by the Department for Communities, so the model columns count GB households only. These targets replace OBR EFO table 4.9 "Pension credit", -the same DWP spending line, which the model compared with UK-wide Pension -Credit and which carries no caseload. +the same GB spending series (2025-26: £6,146.4m against DWP's £6,144.5m), +which the model compared with UK-wide Pension Credit and which carries no +caseload. Source: https://www.gov.uk/government/publications/benefit-expenditure-and-caseload-tables-2026 """ diff --git a/policyengine_uk_data/tests/test_pension_credit_takeup.py b/policyengine_uk_data/tests/test_pension_credit_takeup.py index 7259f138a..d4e81f5e7 100644 --- a/policyengine_uk_data/tests/test_pension_credit_takeup.py +++ b/policyengine_uk_data/tests/test_pension_credit_takeup.py @@ -162,3 +162,41 @@ def test_spi_synthetic_benefit_units_are_found_through_their_household(): ) dataset.household = dataset.household.drop(columns="household_is_spi_synthetic") assert not spi_synthetic_benunits(dataset).any() + + +@settings(max_examples=200, deadline=None) +@given(_units, _units, st.floats(0, 1), st.integers(0, 2**32 - 1)) +def test_northern_ireland_cannot_change_the_gb_solution(gb_units, ni_units, rate, seed): + """DWP's take-up rate covers Great Britain, so Northern Ireland's + entitlement, reporting and weights leave the probability and every GB + flag unchanged.""" + from policyengine_uk_data.datasets.pension_credit_takeup import ( + pension_credit_takeup_flags, + ) + + def arrays(units): + return ( + np.array([u[0] for u in units]), + np.array([u[1] for u in units]), + np.array([u[2] for u in units]), + ) + + gw, ge, gr = arrays(gb_units) + nw, ne, nr = arrays(ni_units) + draws = np.random.default_rng(seed).random(len(gw) + len(nw)) + gb_only, p_gb = pension_credit_takeup_flags( + draws[: len(gw)], rate, gw, ge, gr, np.ones(len(gw), dtype=bool) + ) + combined, p_uk = pension_credit_takeup_flags( + draws, + rate, + np.concatenate([gw, nw]), + np.concatenate([ge, ne]), + np.concatenate([gr, nr]), + np.concatenate([np.ones(len(gw), bool), np.zeros(len(nw), bool)]), + ) + assert p_uk == p_gb + np.testing.assert_array_equal(combined[: len(gw)], gb_only) + # Northern Ireland non-reporters are drawn at the GB probability. + ni_draws = draws[len(gw) :] + np.testing.assert_array_equal(combined[len(gw) :][~nr], (ni_draws < p_gb)[~nr]) From 2844ad4a049c13fcd62226c39cd1888469aa9b72 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 09:36:30 -0400 Subject: [PATCH 65/70] Check survey reporters only; describe SPI reports as imputed The built-dataset test asserted that every Pension Credit reporter claims, which no longer holds for SPI-synthetic units, whose reports are imputed and no longer anchor take-up. It now checks survey reporters. The module docstring and changelog now say the SPI reports are predicted by the second-stage imputation from SPI incomes. Co-Authored-By: Claude Opus 5.5 --- changelog.d/pc-takeup-over-eligible.fixed.md | 2 +- .../datasets/pension_credit_takeup.py | 4 ++-- .../tests/test_pension_credit_takeup.py | 11 +++++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/changelog.d/pc-takeup-over-eligible.fixed.md b/changelog.d/pc-takeup-over-eligible.fixed.md index 7bae6a1af..423800630 100644 --- a/changelog.d/pc-takeup-over-eligible.fixed.md +++ b/changelog.d/pc-takeup-over-eligible.fixed.md @@ -1 +1 @@ -Solve Pension Credit take-up over entitled benefit units in Great Britain, at DWP's FYE 2024 caseload take-up of 62%, after the imputations so entitlement reflects imputed capital. Every non-reporter, including in Northern Ireland, is drawn at the same probability, so units a reform newly entitles can claim. Reports on SPI-synthetic households, which carry SPI-imputed incomes, no longer anchor take-up. Calibrate Pension Credit to DWP's Great Britain spending and caseload, replacing the OBR target that the model compared with UK-wide Pension Credit. +Solve Pension Credit take-up over entitled benefit units in Great Britain, at DWP's FYE 2024 caseload take-up of 62%, after the imputations so entitlement reflects imputed capital. Every non-reporter, including in Northern Ireland, is drawn at the same probability, so units a reform newly entitles can claim. Reports on SPI-synthetic households, which are imputed from SPI incomes rather than observed, no longer anchor take-up. Calibrate Pension Credit to DWP's Great Britain spending and caseload, replacing the OBR target that the model compared with UK-wide Pension Credit. diff --git a/policyengine_uk_data/datasets/pension_credit_takeup.py b/policyengine_uk_data/datasets/pension_credit_takeup.py index f4eba6380..c3d759d3f 100644 --- a/policyengine_uk_data/datasets/pension_credit_takeup.py +++ b/policyengine_uk_data/datasets/pension_credit_takeup.py @@ -10,8 +10,8 @@ For the calibration year it: - finds the benefit units with positive Pension Credit entitlement; - keeps reporters of Pension Credit as claimants, except on SPI-synthetic - households, which copy an FRS household's benefit reports but replace its - incomes with SPI-imputed ones; + households, whose reports the second-stage imputation (frs_only.py) + predicts from their SPI incomes rather than observes; - solves the probability that makes weighted take-up among entitled units in Great Britain equal DWP's caseload take-up rate, which covers Great Britain only; diff --git a/policyengine_uk_data/tests/test_pension_credit_takeup.py b/policyengine_uk_data/tests/test_pension_credit_takeup.py index d4e81f5e7..d54b53ab6 100644 --- a/policyengine_uk_data/tests/test_pension_credit_takeup.py +++ b/policyengine_uk_data/tests/test_pension_credit_takeup.py @@ -112,7 +112,14 @@ def test_obr_pension_credit_row_is_not_parsed(): assert not obr._parse_welfare(wb) -def test_built_dataset_reporters_claim_and_caseload_is_near_dwp(baseline): +def test_built_dataset_survey_reporters_claim_and_caseload_is_near_dwp( + baseline, enhanced_frs +): + """Every survey reporter claims. SPI-synthetic reports are imputed, so + those units are drawn like non-reporters.""" + from policyengine_uk_data.datasets.pension_credit_takeup import ( + spi_synthetic_benunits, + ) from policyengine_uk_data.targets.build_loss_matrix import ( _SimContext, restrict_to_countries, @@ -121,7 +128,7 @@ def test_built_dataset_reporters_claim_and_caseload_is_near_dwp(baseline): year = 2025 reported = ( baseline.calculate("pension_credit_reported", year, map_to="benunit").values > 0 - ) + ) & ~spi_synthetic_benunits(enhanced_frs) would_claim = baseline.calculate("would_claim_pc", year).values.astype(bool) assert would_claim[reported].all() From 65656305498b1964ca000ecf1620097eec71c5ec Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 5 Oct 2026 12:18:49 -0400 Subject: [PATCH 66/70] Draw units not entitled in the calibration year at 37% Pension Credit take-up MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Until now every non-reporter claimed at the solved fill probability (about 13%), including units a reform newly entitles. That probability is a residual: the share of entitled non-reporters that tops FRS reporters up to DWP's 62%. Units with no entitlement in the calibration year are now drawn at DWP's caseload take-up for Savings Credit-only awards, 37% in FYE 2024 (table PC1; 42% in FYE 2023), the group with the smallest awards (£9 a week, against £87 and 69% take-up for Guarantee Credit). Reporters and the solved fill for entitled non-reporters are unchanged, so is the solved probability, and every entitled unit's flag. The rate is a new take-up parameter, pension_credit_newly_entitled. The generic assign_takeup_over_eligible helper, which applied one probability to every non-reporter, is removed; pension_credit_takeup_flags applies the two rates. Tests: reporters claim, entitled non-reporters draw at the solved probability and the rest at the new rate, and the new rate changes neither the probability nor any entitled unit's flag (property test); weighted take-up among entitled units still meets 62% and the rest claim at 37% over 200,000 units; Northern Ireland follows the same split; the parameter reads 37% for 2025 and 42% for 2022. Co-Authored-By: Claude Opus 5.5 --- changelog.d/pc-takeup-over-eligible.fixed.md | 2 +- .../datasets/pension_credit_takeup.py | 42 +++++++---- .../pension_credit_newly_entitled.yaml | 14 ++++ .../tests/test_pension_credit_takeup.py | 72 ++++++++++++------- policyengine_uk_data/utils/takeup.py | 18 ----- 5 files changed, 90 insertions(+), 58 deletions(-) create mode 100644 policyengine_uk_data/parameters/take_up/pension_credit_newly_entitled.yaml diff --git a/changelog.d/pc-takeup-over-eligible.fixed.md b/changelog.d/pc-takeup-over-eligible.fixed.md index 423800630..ab1eb650d 100644 --- a/changelog.d/pc-takeup-over-eligible.fixed.md +++ b/changelog.d/pc-takeup-over-eligible.fixed.md @@ -1 +1 @@ -Solve Pension Credit take-up over entitled benefit units in Great Britain, at DWP's FYE 2024 caseload take-up of 62%, after the imputations so entitlement reflects imputed capital. Every non-reporter, including in Northern Ireland, is drawn at the same probability, so units a reform newly entitles can claim. Reports on SPI-synthetic households, which are imputed from SPI incomes rather than observed, no longer anchor take-up. Calibrate Pension Credit to DWP's Great Britain spending and caseload, replacing the OBR target that the model compared with UK-wide Pension Credit. +Solve Pension Credit take-up over entitled benefit units in Great Britain, at DWP's FYE 2024 caseload take-up of 62%, after the imputations so entitlement reflects imputed capital. Entitled non-reporters, including in Northern Ireland, are drawn at the solved probability. Units with no entitlement in the calibration year are drawn at DWP's Savings Credit-only caseload take-up (37% in FYE 2024), the rate at which units a reform or a later year newly entitles claim. Reports on SPI-synthetic households, which are imputed from SPI incomes rather than observed, no longer anchor take-up. Calibrate Pension Credit to DWP's Great Britain spending and caseload, replacing the OBR target that the model compared with UK-wide Pension Credit. diff --git a/policyengine_uk_data/datasets/pension_credit_takeup.py b/policyengine_uk_data/datasets/pension_credit_takeup.py index c3d759d3f..0ba95aa7a 100644 --- a/policyengine_uk_data/datasets/pension_credit_takeup.py +++ b/policyengine_uk_data/datasets/pension_credit_takeup.py @@ -15,9 +15,14 @@ - solves the probability that makes weighted take-up among entitled units in Great Britain equal DWP's caseload take-up rate, which covers Great Britain only; -- applies that probability to every non-reporter, entitled or not and in - Northern Ireland too, so a unit that a reform makes entitled claims at the - same rate. +- applies that probability to every entitled non-reporter, in Northern + Ireland too; +- draws every unit with no entitlement in the calibration year at DWP's + take-up for Savings Credit-only awards (37% in FYE 2024), the rate at + which a unit claims once a reform or a later year entitles it. This step + finds no entitlement for them in the calibration year, so their rate only + matters under a reform, in a later year, or where the saved dataset's + calibration-year entitlement differs from this step's (#479). Weights are the survey grossing weights, before calibration. """ @@ -25,10 +30,7 @@ import numpy as np from policyengine_uk_data.parameters import load_take_up_rate -from policyengine_uk_data.utils.takeup import ( - assign_takeup_over_eligible, - solve_fill_probability, -) +from policyengine_uk_data.utils.takeup import solve_fill_probability # Separate from the FRS build's take-up generator, so redrawing here leaves # every other stochastic input unchanged. @@ -51,17 +53,21 @@ def spi_synthetic_benunits(dataset) -> np.ndarray: def pension_credit_takeup_flags( - draws, rate, weights, entitled, reported, great_britain + draws, rate, weights, entitled, reported, great_britain, newly_entitled_rate ): """Claim flags and the fill probability solved over GB entitled units. Only Great Britain enters the solve, because DWP's take-up rate covers - Great Britain. Every non-reporter, wherever it lives, claims when its - draw is below the probability. + Great Britain. Reporters claim. Every other entitled unit, wherever it + lives, claims when its draw is below the probability; every unit that + isn't entitled claims when its draw is below ``newly_entitled_rate``. """ - eligible = np.asarray(entitled, dtype=bool) & np.asarray(great_britain, dtype=bool) + entitled = np.asarray(entitled, dtype=bool) + reported = np.asarray(reported, dtype=bool) + eligible = entitled & np.asarray(great_britain, dtype=bool) probability = solve_fill_probability(rate, weights, eligible, reported) - claims = assign_takeup_over_eligible(draws, rate, weights, eligible, reported) + claim_probability = np.where(entitled, probability, newly_entitled_rate) + claims = reported | (np.asarray(draws, dtype=np.float64) < claim_probability) return claims, probability @@ -98,9 +104,10 @@ def assign_pension_credit_takeup(dataset, year: int): ) gb = ~in_ni rate = load_take_up_rate("pension_credit", year) + newly_entitled_rate = load_take_up_rate("pension_credit_newly_entitled", year) draws = np.random.default_rng(PENSION_CREDIT_TAKEUP_SEED).random(len(entitled)) claims, probability = pension_credit_takeup_flags( - draws, rate, weights, entitled, reported, gb + draws, rate, weights, entitled, reported, gb, newly_entitled_rate ) dataset = dataset.copy() @@ -113,6 +120,7 @@ def total(values, mask, scale): "year": year, "rate": rate, "fill_probability": round(probability, 4), + "newly_entitled_rate": newly_entitled_rate, "entitled_k": total(1, entitled, 1e3), "gb_entitled_k": total(1, gb & entitled, 1e3), "reporters_k": total(1, reported, 1e3), @@ -128,5 +136,13 @@ def total(values, mask, scale): ), "gb_claims_after_fill_k": total(1, gb & entitled & claims, 1e3), "gb_pension_credit_after_fill_bn": total(entitlement, gb & claims, 1e9), + "gb_not_entitled_k": total(1, gb & ~entitled, 1e3), + "gb_not_entitled_flagged_share": round( + float( + weights[gb & ~entitled & claims].sum() + / max(weights[gb & ~entitled].sum(), 1) + ), + 4, + ), } return dataset, summary diff --git a/policyengine_uk_data/parameters/take_up/pension_credit_newly_entitled.yaml b/policyengine_uk_data/parameters/take_up/pension_credit_newly_entitled.yaml new file mode 100644 index 000000000..6c1dc1bc1 --- /dev/null +++ b/policyengine_uk_data/parameters/take_up/pension_credit_newly_entitled.yaml @@ -0,0 +1,14 @@ +description: Probability that a benefit unit with no Pension Credit entitlement in the calibration year claims it once a reform or a later year entitles it. Set to DWP's caseload take-up of Savings Credit-only awards (Great Britain), the group with the smallest awards, which is closest to what a reform gives the units it newly entitles. +metadata: + label: Pension Credit take-up for newly entitled units + name: PC_takeup_newly_entitled + unit: /1 + reference: + - title: "Income-related benefits: estimates of take-up: financial year ending 2024" + href: https://www.gov.uk/government/statistics/income-related-benefits-estimates-of-take-up-financial-year-ending-2024/income-related-benefits-estimates-of-take-up-financial-year-ending-2024 +values: + # Savings Credit-only caseload take-up, FYE 2023 and FYE 2024 (42% and + # 37%, table PC1). Mean award claimed in FYE 2024: £9 a week, against £87 + # for Guarantee Credit, whose take-up was 69%. + 2022-04-01: 0.42 + 2023-04-01: 0.37 diff --git a/policyengine_uk_data/tests/test_pension_credit_takeup.py b/policyengine_uk_data/tests/test_pension_credit_takeup.py index d54b53ab6..a7fc3db4b 100644 --- a/policyengine_uk_data/tests/test_pension_credit_takeup.py +++ b/policyengine_uk_data/tests/test_pension_credit_takeup.py @@ -9,10 +9,10 @@ from policyengine_uk_data.targets import get_all_targets from policyengine_uk_data.targets.schema import GREAT_BRITAIN, Unit from policyengine_uk_data.targets.sources import dwp_pension_credit, obr -from policyengine_uk_data.utils.takeup import ( - assign_takeup_over_eligible, - solve_fill_probability, +from policyengine_uk_data.datasets.pension_credit_takeup import ( + pension_credit_takeup_flags, ) +from policyengine_uk_data.utils.takeup import solve_fill_probability _units = st.lists( st.tuples(st.floats(0, 5_000), st.booleans(), st.booleans()), @@ -44,42 +44,61 @@ def test_fill_probability_meets_the_rate_or_hits_a_bound(units, rate): @settings(max_examples=200, deadline=None) -@given(_units, st.floats(0, 1), st.integers(0, 2**32 - 1)) -def test_reporters_claim_and_every_non_reporter_shares_one_probability( - units, rate, seed +@given( + _units, st.floats(0, 1), st.floats(0, 1), st.floats(0, 1), st.integers(0, 2**32 - 1) +) +def test_reporters_claim_entitled_units_share_the_solved_probability_others_the_new_rate( + units, rate, newly_entitled_rate, other_rate, seed ): weights = np.array([u[0] for u in units]) - eligible = np.array([u[1] for u in units]) + entitled = np.array([u[1] for u in units]) reported = np.array([u[2] for u in units]) + gb = np.ones(len(units), dtype=bool) draws = np.random.default_rng(seed).random(len(units)) - result = assign_takeup_over_eligible(draws, rate, weights, eligible, reported) - p = solve_fill_probability(rate, weights, eligible, reported) + result, p = pension_credit_takeup_flags( + draws, rate, weights, entitled, reported, gb, newly_entitled_rate + ) + assert p == solve_fill_probability(rate, weights, entitled, reported) assert result[reported].all() - # Eligibility does not change a non-reporter's flag, so a unit a reform - # makes entitled claims at the same rate. - np.testing.assert_array_equal(result[~reported], (draws < p)[~reported]) + entitled_non_reporters = entitled & ~reported + np.testing.assert_array_equal( + result[entitled_non_reporters], (draws < p)[entitled_non_reporters] + ) + others = ~entitled & ~reported + np.testing.assert_array_equal(result[others], (draws < newly_entitled_rate)[others]) + # The newly entitled rate changes neither the probability nor any flag of + # an entitled unit, so the calibration year's take-up is unchanged. + other, p_other = pension_credit_takeup_flags( + draws, rate, weights, entitled, reported, gb, other_rate + ) + assert p_other == p + np.testing.assert_array_equal(other[entitled], result[entitled]) def test_weighted_take_up_among_eligible_matches_rate(): rng = np.random.default_rng(0) n = 200_000 weights = rng.uniform(100, 3_000, n) - eligible = rng.random(n) < 0.2 - reported = eligible & (rng.random(n) < 0.4) - result = assign_takeup_over_eligible( - rng.random(n), 0.62, weights, eligible, reported + entitled = rng.random(n) < 0.2 + reported = entitled & (rng.random(n) < 0.4) + result, _ = pension_credit_takeup_flags( + rng.random(n), 0.62, weights, entitled, reported, np.ones(n, bool), 0.37 ) - take_up = weights[eligible & result].sum() / weights[eligible].sum() + take_up = weights[entitled & result].sum() / weights[entitled].sum() assert abs(take_up - 0.62) < 0.005 - # Non-entitled units are drawn at the same probability as entitled ones. - p = solve_fill_probability(0.62, weights, eligible, reported) - assert abs(result[~eligible].mean() - p) < 0.01 + # Units with no entitlement claim at the newly entitled rate. + assert abs(result[~entitled].mean() - 0.37) < 0.01 def test_rate_is_dwp_fye_2024_caseload_take_up(): assert load_take_up_rate("pension_credit", 2025) == 0.62 +def test_newly_entitled_rate_is_dwp_savings_credit_only_take_up(): + assert load_take_up_rate("pension_credit_newly_entitled", 2025) == 0.37 + assert load_take_up_rate("pension_credit_newly_entitled", 2022) == 0.42 + + def test_targets_reconcile_with_dwp_components(): """Guarantee + savings credit spending and the three claim types sum to the transcribed totals (DWP Pension Credit sheet, separate rows).""" @@ -177,9 +196,6 @@ def test_northern_ireland_cannot_change_the_gb_solution(gb_units, ni_units, rate """DWP's take-up rate covers Great Britain, so Northern Ireland's entitlement, reporting and weights leave the probability and every GB flag unchanged.""" - from policyengine_uk_data.datasets.pension_credit_takeup import ( - pension_credit_takeup_flags, - ) def arrays(units): return ( @@ -192,7 +208,7 @@ def arrays(units): nw, ne, nr = arrays(ni_units) draws = np.random.default_rng(seed).random(len(gw) + len(nw)) gb_only, p_gb = pension_credit_takeup_flags( - draws[: len(gw)], rate, gw, ge, gr, np.ones(len(gw), dtype=bool) + draws[: len(gw)], rate, gw, ge, gr, np.ones(len(gw), dtype=bool), 0.37 ) combined, p_uk = pension_credit_takeup_flags( draws, @@ -201,9 +217,13 @@ def arrays(units): np.concatenate([ge, ne]), np.concatenate([gr, nr]), np.concatenate([np.ones(len(gw), bool), np.zeros(len(nw), bool)]), + 0.37, ) assert p_uk == p_gb np.testing.assert_array_equal(combined[: len(gw)], gb_only) - # Northern Ireland non-reporters are drawn at the GB probability. + # Entitled Northern Ireland non-reporters are drawn at the GB probability, + # the rest at the newly entitled rate. ni_draws = draws[len(gw) :] - np.testing.assert_array_equal(combined[len(gw) :][~nr], (ni_draws < p_gb)[~nr]) + ni_flags = combined[len(gw) :] + np.testing.assert_array_equal(ni_flags[ne & ~nr], (ni_draws < p_gb)[ne & ~nr]) + np.testing.assert_array_equal(ni_flags[~ne & ~nr], (ni_draws < 0.37)[~ne & ~nr]) diff --git a/policyengine_uk_data/utils/takeup.py b/policyengine_uk_data/utils/takeup.py index 24e66cdd7..965c11aab 100644 --- a/policyengine_uk_data/utils/takeup.py +++ b/policyengine_uk_data/utils/takeup.py @@ -84,21 +84,3 @@ def solve_fill_probability( with np.errstate(over="ignore", divide="ignore"): probability = needed / remaining_weight return float(np.clip(probability, 0.0, 1.0)) - - -def assign_takeup_over_eligible( - draws: np.ndarray, - rate: float, - weights: np.ndarray, - eligible: np.ndarray, - reported: np.ndarray, -) -> np.ndarray: - """Take-up flags with ``rate`` met over eligible entities. - - Reporters claim. Every non-reporter, eligible or not, claims with the - probability ``solve_fill_probability`` finds for eligible non-reporters, - so a unit a reform makes newly eligible claims at the same rate. - """ - probability = solve_fill_probability(rate, weights, eligible, reported) - reported = np.asarray(reported, dtype=bool) - return reported | (np.asarray(draws, dtype=np.float64) < probability) From deb16e944e0ed00df43f6492344ebbc6b055657c Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 5 Oct 2026 14:23:51 -0400 Subject: [PATCH 67/70] Keep the QRF's council tax reduction draw on SPI rows (ruling d821) Max approved #514 into the batched release with one change: CTR is no longer zeroed on SPI-synthetic rows. In policyengine-uk 2.93.0 a CTR claim needs a report, so zeroing it left those rows no claim route (-21% CTR in the earlier build). SPI CTR stays the stage-two QRF draw, as on main, until it is zeroed together with a household-level CTR imputation (#499). Moves council_tax_benefit_reported out of SPI_DONOR_ZEROED_PERSON_VARIABLES, pins the set of reports kept as drawn, and tests that SPI CTR equals the stage-two draw (not zeroed, not the donor's value). Co-Authored-By: Claude Opus 5.5 --- .../spi-synthetic-reported-benefits.fixed.md | 2 +- .../datasets/imputations/frs_only.py | 14 ++++--- .../tests/test_spi_donor_benefit_rules.py | 40 ++++++++++++++++++- 3 files changed, 48 insertions(+), 8 deletions(-) diff --git a/changelog.d/spi-synthetic-reported-benefits.fixed.md b/changelog.d/spi-synthetic-reported-benefits.fixed.md index 1310079b8..a10ad0154 100644 --- a/changelog.d/spi-synthetic-reported-benefits.fixed.md +++ b/changelog.d/spi-synthetic-reported-benefits.fixed.md @@ -1 +1 @@ -SPI-synthetic rows no longer report income-related, out-of-work or Child Benefit receipt, take their industrial injuries, armed forces compensation and bereavement support from the FRS donor, and get UC, Pension Credit and `receives_benefits_in_own_right` flags from their own reports instead of the donor's. +SPI-synthetic rows no longer report income-related (except council tax reduction, which keeps its imputed value for now), out-of-work or Child Benefit receipt, take their industrial injuries, armed forces compensation and bereavement support from the FRS donor, and get UC, Pension Credit and `receives_benefits_in_own_right` flags from their own reports instead of the donor's. diff --git a/policyengine_uk_data/datasets/imputations/frs_only.py b/policyengine_uk_data/datasets/imputations/frs_only.py index 06b9b78b0..7c1d5cbea 100644 --- a/policyengine_uk_data/datasets/imputations/frs_only.py +++ b/policyengine_uk_data/datasets/imputations/frs_only.py @@ -117,10 +117,10 @@ # - Income-related awards. Entitlement turns on the unit's joint means and # make-up, which here come from the imputed incomes. UC and Pension Credit # keep a route: their take-up flags are redrawn below. In -# policyengine-uk 2.93.0 the others (housing benefit, council tax -# reduction, income support, tax credits, income-related ESA and JSA) can -# only be claimed with a report, so these rows no longer receive them. -# Sure Start Maternity Grant needs one of these awards. +# policyengine-uk 2.93.0 the others (housing benefit, income support, tax +# credits, income-related ESA and JSA) can only be claimed with a report, +# so these rows no longer receive them. Sure Start Maternity Grant needs +# one of these awards. Council tax reduction is kept (below). # - Benefits paid only to people out of work or incapable of it: ESA and JSA # (contributory), incapacity benefit and severe disablement allowance. On # the 2024-25 build, 41% of SPI-row ESA (contributory) reporters by weight @@ -137,7 +137,10 @@ # Kept as drawn: state pension (paid as reported once over pension age), # winter fuel payment (not read by the model), the disability benefits and # carer's allowance, whose drawn rates sit below the FRS rates as the income -# gradient implies. +# gradient implies. Council tax reduction is also kept as drawn for now. In +# 2.93.0 it too can only be claimed with a report, and zeroing it cut 2025 +# CTR by 21% on the 2024-25 build. It will be zeroed together with a +# household-level CTR imputation (#499). # # Every column stays in the QRF chain above, so the values kept do not # change. They were drawn alongside the values later zeroed or restored. @@ -145,7 +148,6 @@ "universal_credit_reported", "pension_credit_reported", "housing_benefit_reported", - "council_tax_benefit_reported", "income_support_reported", "working_tax_credit_reported", "child_tax_credit_reported", diff --git a/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py b/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py index 799439038..1a3633fc2 100644 --- a/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py +++ b/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py @@ -59,7 +59,6 @@ def test_rule_sets_are_pinned(): "universal_credit_reported", "pension_credit_reported", "housing_benefit_reported", - "council_tax_benefit_reported", "income_support_reported", "working_tax_credit_reported", "child_tax_credit_reported", @@ -77,6 +76,20 @@ def test_rule_sets_are_pinned(): "afcs_reported", "bsp_reported", } + # Kept as drawn: every report the QRF draws that no rule above touches. + drawn_reports = {c for c in FRS_ONLY_PERSON_VARIABLES if c.endswith("_reported")} + assert drawn_reports - RULED == { + "state_pension_reported", + "winter_fuel_allowance_reported", + "attendance_allowance_reported", + "dla_sc_reported", + "dla_m_reported", + "pip_m_reported", + "pip_dl_reported", + "carers_allowance_reported", + "maternity_allowance_reported", + "council_tax_benefit_reported", + } assert set(SPI_DONOR_REDRAWN_TAKEUP_FLAGS) == {"would_claim_uc", "would_claim_pc"} assert not set(SPI_DONOR_ZEROED_PERSON_VARIABLES) & set( SPI_DONOR_RESTORED_PERSON_VARIABLES @@ -285,3 +298,28 @@ def test_stage_two_applies_the_rules_and_keeps_drawn_values(monkeypatch): ruled.person.drop(columns=flags), int(str(ruled.time_period)[:4]) ) pd.testing.assert_frame_equal(ruled.person[flags], recomputed[flags]) + + +def test_council_tax_reduction_keeps_the_stage_two_draw(): + """SPI rows carry the QRF's CTR draw through unchanged, as before the + rules: not zeroed, not the donor's. Zeroing waits for #499.""" + from policyengine_uk_data.tests.test_frs_only_imputation import _fake_dataset + + train = _fake_dataset(person_rows=400, seed=0) + rng = np.random.default_rng(2) + train.person["council_tax_benefit_reported"] = np.where( + rng.random(400) < 0.3, 1_200.0, 0.0 + ) + target = _fake_dataset(person_rows=80, seed=1) + target.person["council_tax_benefit_reported"] = 999.0 + outputs = [c for c in FRS_ONLY_PERSON_VARIABLES if c in target.person.columns] + + # The draw alone, which is what stage two returned before the rules. + drawn = frs_only._impute_outputs(train, target.copy(), outputs).person + ruled = frs_only.impute_frs_only_variables(train, target).person + + np.testing.assert_array_equal( + ruled.council_tax_benefit_reported, drawn.council_tax_benefit_reported + ) + assert (drawn.council_tax_benefit_reported > 0).any() + assert (drawn.council_tax_benefit_reported != 999.0).any() From 04581c5ca28acc6219349f570637111567184ed6 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 7 Oct 2026 00:15:52 -0400 Subject: [PATCH 68/70] Apply #490's pension-age UC exclusion to #514's SPI-donor redraw (I1) The SPI-donor rules redraw would_claim_uc on SPI-synthetic rows, so a unit whose claimant and any partner have all reached State Pension age could get would_claim_uc there even though create_frs (#490) never gives it one. apply_spi_donor_benefit_rules now takes an optional per-benefit-unit mask, uc_pension_age_excluded, and clears would_claim_uc where it is set. Its one pipeline caller always computes the mask on the real target dataset with the same derivation as create_frs and passes it; a test checks that wiring. Integration commit for the 10/8 uk-data release (d833). Co-Authored-By: Claude Opus 5.5 --- .../datasets/imputations/frs_only.py | 50 ++++++- .../tests/test_spi_donor_benefit_rules.py | 135 +++++++++++++++++- 2 files changed, 179 insertions(+), 6 deletions(-) diff --git a/policyengine_uk_data/datasets/imputations/frs_only.py b/policyengine_uk_data/datasets/imputations/frs_only.py index 7c1d5cbea..d173612b0 100644 --- a/policyengine_uk_data/datasets/imputations/frs_only.py +++ b/policyengine_uk_data/datasets/imputations/frs_only.py @@ -35,7 +35,7 @@ import numpy as np import pandas as pd -from policyengine_uk.data import UKSingleYearDataset +from policyengine_uk.data import UKMultiYearDataset, UKSingleYearDataset from policyengine_uk_data.datasets.disability_benefits import ( add_disability_benefit_categories_from_reported_amounts, add_disability_benefit_flags_from_reported_amounts, @@ -44,8 +44,10 @@ BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS, REPORTED_TAKEUP_ANCHORS, assign_reported_takeup, + derive_all_claimants_over_state_pension_age, derive_receives_benefits_in_own_right, ) +from policyengine_uk_data.utils.benefit_units import claimant_or_partner_variable logger = logging.getLogger(__name__) @@ -168,17 +170,39 @@ # Take-up flags redrawn on SPI-donor rows. Whether a synthetic family claims # a means-tested benefit at its imputed income is unobserved, so these units -# draw at the take-up rate. The Child Benefit flag keeps the donor's value: -# the award doesn't depend on the replaced incomes, and the donor's claim is -# for the same children. +# draw at the take-up rate. As in create_frs, a unit whose claimant and any +# partner have all reached State Pension age never gets would_claim_uc. The +# Child Benefit flag keeps the donor's value: the award doesn't depend on the +# replaced incomes, and the donor's claim is for the same children. SPI_DONOR_REDRAWN_TAKEUP_FLAGS = ("would_claim_uc", "would_claim_pc") # Seed for those draws; create_frs uses 100. SPI_DONOR_TAKEUP_SEED = 101 +def _all_claimants_over_state_pension_age( + dataset: UKSingleYearDataset, year: int +) -> np.ndarray: + """``create_frs``'s pension-age Universal Credit exclusion for each of + ``dataset``'s benefit units, read through policyengine-uk the same way.""" + from policyengine_uk import Microsimulation + + # Only this dataset's year is needed. A multi-year container holding that + # one year avoids extending and uprating unrelated household inputs. + sim = Microsimulation(dataset=UKMultiYearDataset(datasets=[dataset.copy()])) + return derive_all_claimants_over_state_pension_age( + person_benunit_ids=sim.calculate("person_benunit_id", year).values, + is_claimant_or_partner=sim.calculate( + claimant_or_partner_variable(sim.tax_benefit_system.variables), year + ).values, + is_over_state_pension_age=sim.calculate("is_SP_age", year).values, + benunit_ids=dataset.benunit.benunit_id, + ) + + def apply_spi_donor_benefit_rules( dataset: UKSingleYearDataset, donor_person: pd.DataFrame | None = None, + uc_pension_age_excluded: np.ndarray | None = None, ) -> UKSingleYearDataset: """Apply the SPI-donor benefit rules above to ``dataset``. @@ -187,6 +211,13 @@ def apply_spi_donor_benefit_rules( ``receives_benefits_in_own_right`` and the redrawn take-up flags, which ``create_frs`` built from the donor's reports, are rebuilt from the rows' own reports. + + ``uc_pension_age_excluded`` is an optional boolean array with one entry + per benefit unit, in the dataset's benefit-unit order. When given, + ``would_claim_uc &= ~uc_pension_age_excluded`` is applied after the redraw; + when ``None``, no units are excluded. The pipeline caller always computes + and passes this mask with ``_all_claimants_over_state_pension_age`` on the + real target dataset, using the same computation as ``create_frs``. """ dataset = dataset.copy() person, benunit = dataset.person, dataset.benunit @@ -213,6 +244,8 @@ def apply_spi_donor_benefit_rules( report_column = REPORTED_TAKEUP_ANCHORS[flag][1] if flag in benunit.columns and report_column in person.columns: benunit[flag] = assign_reported_takeup(person, benunit, flag, year, draws) + if uc_pension_age_excluded is not None and "would_claim_uc" in benunit.columns: + benunit["would_claim_uc"] &= ~uc_pension_age_excluded return dataset @@ -323,7 +356,14 @@ def impute_frs_only_variables( "applying only the SPI-donor benefit rules." ) - target_dataset = apply_spi_donor_benefit_rules(target_dataset, donor_person) + year = int(str(target_dataset.time_period)[:4]) + target_dataset = apply_spi_donor_benefit_rules( + target_dataset, + donor_person, + uc_pension_age_excluded=_all_claimants_over_state_pension_age( + target_dataset, year + ), + ) target_dataset.person = add_disability_benefit_categories_from_reported_amounts( target_dataset.person, int(str(target_dataset.time_period)[:4]), diff --git a/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py b/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py index 1a3633fc2..e162400d7 100644 --- a/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py +++ b/policyengine_uk_data/tests/test_spi_donor_benefit_rules.py @@ -7,11 +7,15 @@ donor's value. 2. Nothing else changes except ``receives_benefits_in_own_right`` and the redrawn take-up flags, and the input is not mutated. -3. A benefit unit with a member reporting UC or Pension Credit claims it. +3. A benefit unit with a member reporting UC or Pension Credit claims it, + unless 6 applies. 4. ``receives_benefits_in_own_right`` holds exactly when the person reports one of ``BENEFITS_IN_OWN_RIGHT_REPORTED_COLUMNS``. 5. The rules are deterministic and idempotent, and no flag's draws depend on which other columns are present. +6. With the pension-age exclusion mask supplied, a benefit unit whose + claimant and any partner have all reached State Pension age never gets + ``would_claim_uc``, even if it reports UC, as in ``create_frs``. The fixtures are synthetic, not survey records. """ @@ -256,6 +260,135 @@ def rate(name, year): assert years == [2031] * len(SPI_DONOR_REDRAWN_TAKEUP_FLAGS) +def _people_dataset(people, seed=None) -> UKSingleYearDataset: + """One person per (benefit unit, age, claimant or partner) triple, every + unit reporting UC and entering with the donor's would_claim_uc. With a + ``seed``, both tables are shuffled.""" + units, ages, claimants = (np.asarray(column) for column in zip(*people)) + person = pd.DataFrame( + { + "person_id": np.arange(len(people)) * 5 + 11, + "person_benunit_id": units, + "person_household_id": units, + "age": ages, + "is_claimant_or_partner": claimants, + "universal_credit_reported": 1_000.0, + "pension_credit_reported": 0.0, + } + ) + benunit_ids = np.unique(units) + benunit = pd.DataFrame( + {"benunit_id": benunit_ids, "would_claim_uc": True, "would_claim_pc": False} + ) + if seed is not None: + rng = np.random.default_rng(seed) + person = person.iloc[rng.permutation(len(person))].reset_index(drop=True) + benunit = benunit.iloc[rng.permutation(len(benunit))].reset_index(drop=True) + household = pd.DataFrame({"household_id": benunit_ids, "household_weight": 0.0}) + return UKSingleYearDataset( + person=person, benunit=benunit, household=household, fiscal_year=YEAR + ) + + +def _everyone_takes_up(monkeypatch): + monkeypatch.setattr( + "policyengine_uk_data.datasets.frs.load_take_up_rate", lambda name, year: 1.0 + ) + + +def test_pension_age_units_never_get_would_claim_uc(monkeypatch): + """With every unit drawn to claim, exactly the units whose claimant and any + partner have all reached State Pension age lose would_claim_uc, judged by + the dataset's is_claimant_or_partner. Pension Credit is not affected.""" + _everyone_takes_up(monkeypatch) + # (benefit unit, age, claimant or partner): a pensioner couple, a mixed-age + # couple, a single pensioner, a working-age single, a pensioner living with + # a younger adult who is neither, and a pensioner with a child. + people = [ + (3, 70, True), + (3, 72, True), + (10, 70, True), + (10, 50, True), + (17, 80, True), + (24, 40, True), + (31, 75, True), + (31, 30, False), + (38, 68, True), + (38, 10, False), + ] + dataset = _people_dataset(people) + excluded = frs_only._all_claimants_over_state_pension_age(dataset, YEAR) + after = apply_spi_donor_benefit_rules( + dataset, uc_pension_age_excluded=excluded + ).benunit + assert dict(zip(after.benunit_id, after.would_claim_uc)) == { + 3: False, + 10: True, + 17: False, + 24: True, + 31: False, + 38: False, + } + assert after.would_claim_pc.all() + + +@st.composite +def units_clear_of_pension_age(draw): + """Units of one or two claimants, each clearly under (20 to 59) or over + (67 and up) State Pension age in 2024, plus up to two other members.""" + clear_age = st.one_of(st.integers(20, 59), st.integers(67, 95)) + people = [] + for unit in range(draw(st.integers(1, 8))): + for _ in range(draw(st.integers(1, 2))): + people.append((unit * 7 + 3, draw(clear_age), True)) + for _ in range(draw(st.integers(0, 2))): + people.append((unit * 7 + 3, draw(st.integers(0, 95)), False)) + return people + + +@settings( + max_examples=20, + deadline=None, + suppress_health_check=[HealthCheck.function_scoped_fixture], +) +@given(people=units_clear_of_pension_age(), seed=st.integers(0, 10**6)) +def test_uc_is_excluded_exactly_when_all_claimants_are_over_pension_age( + people, seed, monkeypatch +): + _everyone_takes_up(monkeypatch) + dataset = _people_dataset(people, seed) + excluded = frs_only._all_claimants_over_state_pension_age(dataset, YEAR) + after = apply_spi_donor_benefit_rules( + dataset, uc_pension_age_excluded=excluded + ).benunit + for unit, claims in zip(after.benunit_id, after.would_claim_uc): + ages = [age for u, age, claimant in people if u == unit and claimant] + assert claims == (min(ages) < 67), (unit, ages) + + +def test_stage_two_always_passes_the_pension_age_exclusion(monkeypatch): + """The pipeline computes the mask on its target and passes it to the rules.""" + dataset = _people_dataset([(3, 70, True), (10, 40, True)]) + expected = frs_only._all_claimants_over_state_pension_age(dataset, YEAR) + captured = [] + + def capture_rules(target, donor_person=None, *, uc_pension_age_excluded=None): + captured.append(uc_pension_age_excluded) + return target + + # Keep this a caller wiring check without fitting a QRF. + monkeypatch.setattr( + frs_only, "_impute_outputs", lambda train, target, outputs: target + ) + monkeypatch.setattr(frs_only, "apply_spi_donor_benefit_rules", capture_rules) + frs_only.impute_frs_only_variables(dataset, dataset) + + assert len(captured) == 1 + assert captured[0] is not None + np.testing.assert_array_equal(captured[0], expected) + np.testing.assert_array_equal(captured[0], [True, False]) + + def test_stage_two_applies_the_rules_and_keeps_drawn_values(monkeypatch): """Through ``impute_frs_only_variables``: zeroed, restored, kept and flags.""" from policyengine_uk_data.tests.test_frs_only_imputation import _fake_dataset From 758d8c3e2e0de1059a3b70804fcfb1b6b0d20f87 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 7 Oct 2026 00:15:52 -0400 Subject: [PATCH 69/70] Relock to policyengine-uk 2.122.2 and policyengine-core 3.32.13 (R) #525 needs policyengine-uk 2.122.0 or later (first release with PE-UK #2081). Floors become policyengine-uk>=2.122.0 and policyengine-core>=3.32.13; the dev extras keep a single hypothesis>=6.168.3. The lock changes exactly four packages: policyengine-uk 2.93.0 -> 2.122.2, policyengine-core 3.31.1 -> 3.32.13, hypothesis added (6.168.5), and the package's own entry 1.56.16 -> 1.57.4. uv lock --check passes. Relock commit for the 10/8 uk-data release (d833). Co-Authored-By: Claude Opus 5.5 --- changelog.d/uk-data-batch-relock.changed.md | 1 + pyproject.toml | 5 +- uv.lock | 89 ++++++++++++++++++--- 3 files changed, 83 insertions(+), 12 deletions(-) create mode 100644 changelog.d/uk-data-batch-relock.changed.md diff --git a/changelog.d/uk-data-batch-relock.changed.md b/changelog.d/uk-data-batch-relock.changed.md new file mode 100644 index 000000000..e9bbde552 --- /dev/null +++ b/changelog.d/uk-data-batch-relock.changed.md @@ -0,0 +1 @@ +Lock policyengine-uk 2.122.2 (from 2.93.0) and policyengine-core 3.32.13 (from 3.31.1); #525 needs policyengine-uk 2.122.0 or later. diff --git a/pyproject.toml b/pyproject.toml index f4f37b59b..453fbacf3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ authors = [ license = {file = "LICENSE"} requires-python = ">=3.13" dependencies = [ - "policyengine-core>=3.19.4", + "policyengine-core>=3.32.13", "requests", "tqdm", "tabulate", @@ -21,7 +21,7 @@ dependencies = [ "policyengine", "google-cloud-storage", "google-auth", - "policyengine-uk>=2.107.0", + "policyengine-uk>=2.122.0", "microcalibrate>=0.18.0", "microimpute>=1.0.1", "ruff>=0.9.0", @@ -38,7 +38,6 @@ dependencies = [ dev = [ "ruff>=0.9.0", "pytest", - "hypothesis", "torch", "l0-python>=0.4.0", "tables", diff --git a/uv.lock b/uv.lock index a3e9f44d9..5ae821352 100644 --- a/uv.lock +++ b/uv.lock @@ -577,6 +577,75 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/f4/124858007ddf3c61e9b144107304c9152fa80b5b6c168da07d86fe583cc1/huggingface_hub-1.1.5-py3-none-any.whl", hash = "sha256:e88ecc129011f37b868586bbcfae6c56868cae80cd56a79d61575426a3aa0d7d", size = 516000, upload-time = "2025-11-20T15:49:30.926Z" }, ] +[[package]] +name = "hypothesis" +version = "6.168.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/93/a8/bd70d7c2966e561228b9fdc075ee77c0ba577dcbbfbf921edf614db14f6a/hypothesis-6.168.5.tar.gz", hash = "sha256:76b9226962fe11d40858253a967eda95bb65811365286317e0118f4ec8f808c7", size = 511115, upload-time = "2026-10-05T23:26:35.416Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/0c/7f04c8d277dfc828ba584b7d9d10dbac5e91fce673fa5328f7bd5bf64609/hypothesis-6.168.5-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:ca43a751410a9c6685f029fd5126cc5507664cafaa76017922aa8ae2e17b6620", size = 791539, upload-time = "2026-10-05T23:24:25.544Z" }, + { url = "https://files.pythonhosted.org/packages/11/5c/660906d83db74eb86feda715d0f2df14836205b14a183332116676733e6f/hypothesis-6.168.5-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:c8b98707cbe9f430d100a945bbe17612fd3aa44eac1b0ac5299669fe3b8e4128", size = 787208, upload-time = "2026-10-05T23:25:14.028Z" }, + { url = "https://files.pythonhosted.org/packages/01/85/36e19492bc4ff354c2be9c8fa7c6ace0c65f9d2c7116656b741680c6ca55/hypothesis-6.168.5-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4dde52a0b696c642e7f988a03026c7c29f90daf21e74507b6f865c3ccc9d536e", size = 1115200, upload-time = "2026-10-05T23:25:53.064Z" }, + { url = "https://files.pythonhosted.org/packages/d4/82/3273fb0a3567c09b767bb8fe2824d65e16ae2abb92cf1f43762df723df94/hypothesis-6.168.5-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42f02e4541fe0c17a1320617effc0ab8a8aca2a9af15e3358d4150acf3bbdc00", size = 1145113, upload-time = "2026-10-05T23:25:17.502Z" }, + { url = "https://files.pythonhosted.org/packages/74/59/5c5904555a0bbd4b2898d73ea90c6d03f5be0d8ff0756ac1d519ace6ae66/hypothesis-6.168.5-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bf6dd7e537a12763c9afa017f7a6159e5cda608e98670621fa44596a1e8e9288", size = 1139564, upload-time = "2026-10-05T23:25:56.681Z" }, + { url = "https://files.pythonhosted.org/packages/cb/ce/55654ff9575587a401e304f08ad1d43b7e6318f81c66bd866fdc5ab4665b/hypothesis-6.168.5-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df2c04cd30abf42c52580184216162a75b5508b214a472b86670f6dd50659a3b", size = 1192142, upload-time = "2026-10-05T23:26:06.565Z" }, + { url = "https://files.pythonhosted.org/packages/48/91/4cc9d6e8a950473e07e3ebf00cbb8ee0d76b14d193f94c3de20f1c09e2b1/hypothesis-6.168.5-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:278662eb21aaec9eaae71ea4dabd4fe390c2af11ec58a6a0606687cf6d7689b0", size = 1157262, upload-time = "2026-10-05T23:24:59.229Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3a/4b8aa3be788ea81b9a7bc6b673ed89edd72fd0645c6aa691d4c159ff971a/hypothesis-6.168.5-cp310-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:6bcedc4ab8ab92dd0f3af0cfe24dce184d225751d7bc870a9cddb9a557de847f", size = 1113779, upload-time = "2026-10-05T23:24:12.327Z" }, + { url = "https://files.pythonhosted.org/packages/f9/98/2eb4c79d1851195e6a083568b065235680ab984e984bbd472f2a7d02ba33/hypothesis-6.168.5-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b58097cc3b98d8616f635ac73888fc9f859311875f2adc043f1544c40c3c466", size = 1152639, upload-time = "2026-10-05T23:25:43.635Z" }, + { url = "https://files.pythonhosted.org/packages/f0/9c/68f7e99b43c6f37c077669a4d3bd88f48c042444ced9e7cff0eaf44bc70a/hypothesis-6.168.5-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:f8a387d9ee7f804e830b31f2e2e339ab5731665e922cfda4f6f6fbdb05e191b4", size = 1290068, upload-time = "2026-10-05T23:25:28.45Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/d4f87164a0d028ab102cea345b601d9dafb3196358df5448caa88ac3c1e2/hypothesis-6.168.5-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:326f6383fdf2e37ac69773589a8238a3bf396ca8ac8efacb0fb9ed42dd08e426", size = 1418551, upload-time = "2026-10-05T23:24:51.25Z" }, + { url = "https://files.pythonhosted.org/packages/a8/32/6b518a25514f0e643f95610c77e279bfbf0e0b3bd423aac0187d6f039b9a/hypothesis-6.168.5-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:5d33fc74e43bbd7c3a8f6f7161a8b93b676924286e97e70e828c6e0dcee5c01f", size = 1372130, upload-time = "2026-10-05T23:25:32.359Z" }, + { url = "https://files.pythonhosted.org/packages/48/c2/32538e14e63193ca894ba584696805d1eb45cfc27e15fccd47acfb87531c/hypothesis-6.168.5-cp310-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:1994923cf5e5220ae6bf19645302504b27c0289d83e5d8690df71dcae63d8416", size = 1268950, upload-time = "2026-10-05T23:25:02.544Z" }, + { url = "https://files.pythonhosted.org/packages/86/3b/e50e7e98af9489aa05203c2ab38c95d891dd8d1ed08fad972dcdb6955332/hypothesis-6.168.5-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:501038fd24d3bc95239cfd093a23cf1151f29dd82382a3554dac5dfdab9729ae", size = 1283907, upload-time = "2026-10-05T23:24:29.909Z" }, + { url = "https://files.pythonhosted.org/packages/71/46/41c460a7d2148a04b212b2d594d39992fb52e0b844e13bf6784573fc8dea/hypothesis-6.168.5-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e2292ddc24fe6d04b7d30fa6a7e2c9e280ad5078fe671d0bf4aa6df6e143b5ac", size = 1323762, upload-time = "2026-10-05T23:24:18.984Z" }, + { url = "https://files.pythonhosted.org/packages/68/4f/37a7fc1fe445e3589e0f56ff4573c28de1d6e6a03009cba2f99f04e46ffa/hypothesis-6.168.5-cp310-abi3-win32.whl", hash = "sha256:925d67c69b719d416334aa961c0cdfc4a58a471af1ebd2d7101bd515a70f4e5f", size = 677903, upload-time = "2026-10-05T23:25:07.129Z" }, + { url = "https://files.pythonhosted.org/packages/81/e6/7b25ca7845a60522ebc5f8054f6bba68d47126fb5d940c784fc528a4be4a/hypothesis-6.168.5-cp310-abi3-win_amd64.whl", hash = "sha256:2311590eccba452de863dfe3466daa86a05c25f072ab31ed8bb4d3313ee68439", size = 684616, upload-time = "2026-10-05T23:25:04.028Z" }, + { url = "https://files.pythonhosted.org/packages/c3/00/40e7c36b46c8788eddc7a322ad324e6db53c8ab9a8b9a95d6535ee7bdaaf/hypothesis-6.168.5-cp310-abi3-win_arm64.whl", hash = "sha256:222a6d23a2a824b0f9f73761c2fb9cd2aca96cf3e5b441617625bce4f7eb4fd4", size = 683061, upload-time = "2026-10-05T23:25:19.403Z" }, + { url = "https://files.pythonhosted.org/packages/7b/b3/1f7f72cd28d02a5ca99c432fbffe4b750a375df2284af9d916943dd3aa4f/hypothesis-6.168.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:714337b25ca9137bc359c570b868269462307e120999412ca1946f997f4b9db5", size = 793075, upload-time = "2026-10-05T23:25:15.905Z" }, + { url = "https://files.pythonhosted.org/packages/8f/ba/5b0874828695c4d49e3858d0967254f783e563cd0e211a6db27d11d48a1f/hypothesis-6.168.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7f1c3617155fcf5b5259a1f2e4c775d3eec7bfa80b162b2f6f145b08f871ab08", size = 784693, upload-time = "2026-10-05T23:24:16.559Z" }, + { url = "https://files.pythonhosted.org/packages/c5/5f/ca777becba5251b0d778bb9d83d15524c559a07e4b5d4e6211473855bae2/hypothesis-6.168.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebee70b7a026210bb47c86c89e5bfb42effd5bd630080e76bc084f29c01c7f7a", size = 1113693, upload-time = "2026-10-05T23:24:44.262Z" }, + { url = "https://files.pythonhosted.org/packages/a7/e7/5a74bf329e405db3edc5639a2595eccf33ad6f5aaa191019e9f824d630f4/hypothesis-6.168.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cfb06b31cca005345b8ad63f88986d21fd359a7dc3dba2965dd3515b720e5c9", size = 1156530, upload-time = "2026-10-05T23:24:47.153Z" }, + { url = "https://files.pythonhosted.org/packages/34/7d/e79cf67f03f212a1394abac21053bd6887aa70f557be1da3f9c9c73e58ae/hypothesis-6.168.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4a4c244d7ab64963fb575f0ec2d813630e1d14cefc39e7c460d5d778e5af4118", size = 1288713, upload-time = "2026-10-05T23:25:22.763Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/df452159ac8d7b278071a3e81fafc69da833ec4302b8c85f5b6e530aea21/hypothesis-6.168.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8e59d519f6fb38b3fa4fcde046767b03a24740fe827d261ee7ff9a721c06169b", size = 1323134, upload-time = "2026-10-05T23:26:02.485Z" }, + { url = "https://files.pythonhosted.org/packages/af/fb/f07d8d09fb57eb14555cad64dfbe29bfdcecff3806f1e01268258088e741/hypothesis-6.168.5-cp313-cp313-win_amd64.whl", hash = "sha256:c103f655644afa4ef6bf7efbf86e44b78ee475fd0691da2db86e2cfe72c07234", size = 682019, upload-time = "2026-10-05T23:24:22.888Z" }, + { url = "https://files.pythonhosted.org/packages/de/e9/7c3c2262b8cfa825c4c1764d62aa15e628bae257ccfd2ee4f3ffa4f81eaa/hypothesis-6.168.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:c4dc037d8001bc6eccb8636f4a38d16ea6b250d6bf0a89075aaa5e5069f751cc", size = 793253, upload-time = "2026-10-05T23:26:14.331Z" }, + { url = "https://files.pythonhosted.org/packages/3a/a6/7909ed7d29302491e9b7bc0e7ac3287c20736c05a0cc35bae65024aeec3b/hypothesis-6.168.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c90743321f29b65491d146adfc2ece85869bacb71ce18b47674795e896c81ee3", size = 784837, upload-time = "2026-10-05T23:25:24.728Z" }, + { url = "https://files.pythonhosted.org/packages/91/8c/57742c459349052e6a3e0c011855840f8cbbbadca91079d5b591f08b25ae/hypothesis-6.168.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09debb7f7f0f229da5f7e2ad515a5be7a8dc607ec204074775f8ab6731a447f0", size = 1114268, upload-time = "2026-10-05T23:24:27.35Z" }, + { url = "https://files.pythonhosted.org/packages/55/80/07bd2449f91f9426f705fb689429bab6e26d1365f8ac4ef7d7c1cec9055e/hypothesis-6.168.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d227f8ac497eca0bde4e8562d32dd4e82fc9566526020bbd567f76b833b923b0", size = 1156838, upload-time = "2026-10-05T23:24:35.211Z" }, + { url = "https://files.pythonhosted.org/packages/fe/75/7f3dda517e5134f73e2ae41821bf40b3fd3ac6551a9a43ea9287471738a1/hypothesis-6.168.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:cc6ebd35601c72c842e5899c3f760f9ed26c69e786ee40a9a64fb5a4a3058315", size = 1288864, upload-time = "2026-10-05T23:24:42.645Z" }, + { url = "https://files.pythonhosted.org/packages/c8/cd/4b1364140642cf3f1431ca59b5841fc322872dfa7197b2facb97692da234/hypothesis-6.168.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:503e103ad49e702bad200157d82778eebbc14d3045e9700a8e8fe5db40912953", size = 1323300, upload-time = "2026-10-05T23:24:14.826Z" }, + { url = "https://files.pythonhosted.org/packages/20/e7/47d7cffcaf15318a4308516b6b3d2fd0db599f18eacc0f2dc553be2206a7/hypothesis-6.168.5-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:bc5cc310f9f86ec62f0d0dd7eea5a4788f18ec793b70ee2c7163b916768e1057", size = 624239, upload-time = "2026-10-05T23:24:48.453Z" }, + { url = "https://files.pythonhosted.org/packages/97/6e/2ca0f68150be175b7cfa7bfb6692260638d86aeb9313478ba82e198186e6/hypothesis-6.168.5-cp314-cp314-win_amd64.whl", hash = "sha256:71ce0599e806ce3a68f9f118edf450bf091e11b134f6bcc5f8dd706b42c91ebc", size = 681884, upload-time = "2026-10-05T23:25:00.757Z" }, + { url = "https://files.pythonhosted.org/packages/bd/4b/4fc2b5970df0c27668ec08abc505f1d01314a69953f89dc0edc6528ff5a0/hypothesis-6.168.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:f66b02c9e95e916a2c58f725a92377ec988146ed7b5aeccd5e78ceecac1eae6f", size = 791636, upload-time = "2026-10-05T23:26:22.365Z" }, + { url = "https://files.pythonhosted.org/packages/04/b2/03cdf5f052dcb441e045be1fd0aa531e85cde1a1cbabab60968625c570a3/hypothesis-6.168.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:bab27926e1d1575fb43b70d4aeece05b74a5e477af0509b56cb6fd778070dd93", size = 783280, upload-time = "2026-10-05T23:26:24.333Z" }, + { url = "https://files.pythonhosted.org/packages/7d/d8/615557af244e2f3ce4763029c03a62ed82dcbbd646b72a8c479ef0408b33/hypothesis-6.168.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edeb42c3009b5652dc1c44907ec91bfe9284100ad5e57993dfebabb76f2961a1", size = 1112149, upload-time = "2026-10-05T23:24:13.526Z" }, + { url = "https://files.pythonhosted.org/packages/9f/67/a6707fcd51dc5f2531bf88ac072e99f31ab9d8020488b01349a6d2981081/hypothesis-6.168.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8977456328147c521a16a089325017b2c728fddc23351693a4fd924cc7fc7001", size = 1155637, upload-time = "2026-10-05T23:24:24.047Z" }, + { url = "https://files.pythonhosted.org/packages/85/d4/ac2e852d2f163afd398854662bcbb0b849a767abbf2f95a75de6f685f821/hypothesis-6.168.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:36ecf7ac351f9c0b5489ba800884b607da754e88ef40713fbfcc170d2151e6eb", size = 1287040, upload-time = "2026-10-05T23:25:47.706Z" }, + { url = "https://files.pythonhosted.org/packages/23/07/f77b1602704bda6ff3d9d0817120bd7fb94fd792bd25508b36ce4b8bd2a2/hypothesis-6.168.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0333aa5129ba3019a83fb81a7f0fc238180e415a9edddd9a15101f8deaaa517e", size = 1322166, upload-time = "2026-10-05T23:25:45.39Z" }, + { url = "https://files.pythonhosted.org/packages/6d/2e/94138a73e0906b31cb5968d20be58688f582a09e5958f2c75d45a7049545/hypothesis-6.168.5-cp314-cp314t-win_amd64.whl", hash = "sha256:2fcb87341d76ae0183e8219c9a14d55957c50d14973879db5fea3e81da45ba1a", size = 681599, upload-time = "2026-10-05T23:24:37.827Z" }, + { url = "https://files.pythonhosted.org/packages/92/13/92cb8092b680be2b6ec5ffe83b9f1a98dbf414117566f9e3ba4e8b569214/hypothesis-6.168.5-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:453ab7d0a1fadbaa54ae8722d22463cc2046fa8ef25b9b88715d28279bf79fc1", size = 790950, upload-time = "2026-10-05T23:24:45.852Z" }, + { url = "https://files.pythonhosted.org/packages/e6/22/78aea12694e3d1177e2980d44798b6d93e191faf59155b18bf5ae315f6a2/hypothesis-6.168.5-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:bbdbc43d1f9dad595b249b7bbe8ee5102bc94a4fcb0a79ff76d20e41fcfe342a", size = 782939, upload-time = "2026-10-05T23:25:39.961Z" }, + { url = "https://files.pythonhosted.org/packages/bd/12/5ef9947b2d149f773428e555bdf66688405aa5167510bdbe97c8ec5c6090/hypothesis-6.168.5-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bc36194d7b6083591060836c7872711a6820217b325bf432dd7e10b3d4af5cb", size = 1111380, upload-time = "2026-10-05T23:24:39.087Z" }, + { url = "https://files.pythonhosted.org/packages/e1/65/7e668e203fb2659c6214dc0c24cc09b7dea8a02c7c8d0ad338f644a054c4/hypothesis-6.168.5-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:22425e2b1543a43c157a81472c713ba8f291cbaf054c70ffe128e2cacc294f65", size = 1142644, upload-time = "2026-10-05T23:26:30.697Z" }, + { url = "https://files.pythonhosted.org/packages/c0/77/b112978676e795658d58c4294bf90cdbb8cb56cb8292c8c4874650468cf9/hypothesis-6.168.5-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eea0bc513d0e38d1d5ddfb581132928871cd02dc54dfe4511a5396727c48e9d0", size = 1135966, upload-time = "2026-10-05T23:24:49.806Z" }, + { url = "https://files.pythonhosted.org/packages/e6/27/cd3bf01e8246c4318ec3df15f5eeeee3214f444df0129a6c7f9a62859ee8/hypothesis-6.168.5-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb142bc70bbf6645e15c7ca72de3f7c8dae198aa2743a609f4f3e3bb4f9c3a52", size = 1189646, upload-time = "2026-10-05T23:26:04.471Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a6/4d3e882f31c289e432dfec34dbb9029296038a8c69e8b28cebb0a5fb7ea8/hypothesis-6.168.5-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a27b758707bd37f5a1759cca6eef83fe1a212c38dc4ca0a203434004c5647d15", size = 1154770, upload-time = "2026-10-05T23:25:10.814Z" }, + { url = "https://files.pythonhosted.org/packages/7f/89/96f5455e1b3d0409cbbb1434c98e792bcceefd614a4b11e600072520b487/hypothesis-6.168.5-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:77a111cb50c330fa7098f65852fa17a01ecd781a85be3cf5e5871bdeeeb0ecbc", size = 1109925, upload-time = "2026-10-05T23:25:26.369Z" }, + { url = "https://files.pythonhosted.org/packages/3d/64/0758985d9d36f0c5ec981a1457ea1c8173f62d46a94531417aec117df4d7/hypothesis-6.168.5-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cdd0afc13e86ec76cae3d3659569c1f601f4e9ca52b5cf91c1685979eae64d7b", size = 1148476, upload-time = "2026-10-05T23:24:54.552Z" }, + { url = "https://files.pythonhosted.org/packages/43/5c/a9b8953e1d8aefcd3c22cf8d10dd8acf93e602b903278e2e51cf8544ccea/hypothesis-6.168.5-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:5fefb02035864c3d322e3b0969b296250923fdcfb574ea1ad4374f1a6333f663", size = 1285856, upload-time = "2026-10-05T23:25:38.239Z" }, + { url = "https://files.pythonhosted.org/packages/bf/37/66098444dc832523ddc4f2e05723662834e5f99bba3c759615d059f6420e/hypothesis-6.168.5-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:9db8aa1f5529e1b577ec18b775c2fb4225821712e946f7762b90c966604faf83", size = 1415500, upload-time = "2026-10-05T23:24:21.682Z" }, + { url = "https://files.pythonhosted.org/packages/0c/d3/e971b6fe20ef8d7c2019cbf24b4f6149468efc88c42a744f5bc99e6ca0ed/hypothesis-6.168.5-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:59e07d2f62b5ff573b0059959ae9cef9edfb0f5393fdb35ea81fce1ee77b27ac", size = 1368623, upload-time = "2026-10-05T23:26:11.292Z" }, + { url = "https://files.pythonhosted.org/packages/e6/ac/b279dfbd2c06cdb3030ba7eea042cb2cf0171d0013563d103d5207dde63b/hypothesis-6.168.5-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:8a03ca128bea29d6826fc545f1f6289fb1ea2e83a5bb811321761b2d515ca575", size = 1264457, upload-time = "2026-10-05T23:25:21.073Z" }, + { url = "https://files.pythonhosted.org/packages/55/57/16ac9f8ddfada1cd278bd2185234d0d36ebd304926b69ad0497c210c6fed/hypothesis-6.168.5-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:5c03f2d3f84f626f3fd07f54573ab40455e1a1996e98a4f4971caf8b7e796afe", size = 1281744, upload-time = "2026-10-05T23:24:31.263Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d1/99a44430b82998fdef0ffd7d353f64ee5f078c2805ff70f8677ee102cb6c/hypothesis-6.168.5-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:2bdf8ce9b72a620cd5ec4dd6b1c1837ff6971489a863851d11d9b0f58dd4062a", size = 1321504, upload-time = "2026-10-05T23:26:00.583Z" }, + { url = "https://files.pythonhosted.org/packages/bb/6a/58ef2564d1985a5c1a1dc57906b8363a767094abca180e80a0aca4cb635f/hypothesis-6.168.5-cp315-abi3.abi3t-win32.whl", hash = "sha256:5c3abbef7b17571fd713b0922407d9cd8cbc652254c0f462875f15199fcb29f7", size = 674959, upload-time = "2026-10-05T23:24:36.482Z" }, + { url = "https://files.pythonhosted.org/packages/a3/90/153414f55eb0c85bd9d891bd7811d746978c7ad3de81ea79eeb4e62e088b/hypothesis-6.168.5-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:38172199abab94a04bc017613e055faa796d7175fbc6221aac504d406c960b60", size = 681329, upload-time = "2026-10-05T23:26:08.897Z" }, + { url = "https://files.pythonhosted.org/packages/6d/63/117c82f08ab3ba1dcfbf6562ac43b8deb8efa8106646494fadd15122cc1b/hypothesis-6.168.5-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:0600ddc24c32dab5ca8e780630ab6e2561df6d7f594f781d0608b38e04c4da91", size = 679632, upload-time = "2026-10-05T23:24:33.753Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1322,7 +1391,7 @@ wheels = [ [[package]] name = "policyengine-core" -version = "3.31.1" +version = "3.32.13" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "dpath" }, @@ -1342,14 +1411,14 @@ dependencies = [ { name = "standard-imghdr" }, { name = "wheel" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9f/1e/cd58cb6947720a5b7850c06a988abbc0eef53e2be192ed49a17ed62d78d4/policyengine_core-3.31.1.tar.gz", hash = "sha256:3ca8f666c3e67b0c0ce992fa3dc9d1ff2c095a3860f3d719883588b2f9e44ec3", size = 500450, upload-time = "2026-08-28T05:06:43.16Z" } +sdist = { url = "https://files.pythonhosted.org/packages/40/0a/b6c27953e1083d3ab2c40330c49580130fff48a2fe9cbfc8d731e92882e6/policyengine_core-3.32.13.tar.gz", hash = "sha256:a870f7e212fdfa1b5fdad7df92aa2b325fd0280ede16a40aeeceea74d44fb864", size = 457899, upload-time = "2026-10-03T11:30:20.572Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/74/ce/995992049664b6b4cecd1e4db76b143e07aaee8239043057436f48ccbe75/policyengine_core-3.31.1-py3-none-any.whl", hash = "sha256:308200b28aa26bb79d7f0badebac391c0a81704d45ba4ef48ac79e88f0b21e6b", size = 245719, upload-time = "2026-08-28T05:06:41.769Z" }, + { url = "https://files.pythonhosted.org/packages/d8/01/00ebf4c13152347bc5396b40e80445fa92ea96712b9ec0bfdca7c5d11413/policyengine_core-3.32.13-py3-none-any.whl", hash = "sha256:262543c3ac696207f304f55664711b72e894fbad7b566407afa9d30b16086a41", size = 251251, upload-time = "2026-10-03T11:30:19.171Z" }, ] [[package]] name = "policyengine-uk" -version = "2.93.0" +version = "2.122.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "microdf-python" }, @@ -1357,14 +1426,14 @@ dependencies = [ { name = "pydantic" }, { name = "tables" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/af/04/ab8fbb526c22d5c422eed374244d977b123241baa6f96a604c600876647a/policyengine_uk-2.93.0.tar.gz", hash = "sha256:e3b8eab824e7dad3a1fd61fa8503442a8b1b2285e05fff7ab60f93b6a9b22578", size = 1246786, upload-time = "2026-08-28T14:55:16.266Z" } +sdist = { url = "https://files.pythonhosted.org/packages/07/62/4378fd8e493df42fef30c58924dbb0f7ca8111c927302f6e60be862d67d0/policyengine_uk-2.122.2.tar.gz", hash = "sha256:0083793f1d398feef28a64db5508d5a64bcd7834feeade6cde1055d419d505ed", size = 1976779, upload-time = "2026-10-06T02:10:56.786Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6f/74/5e626f9f80b9485b10bcccbef8d93a635abe309bfdfad437b5de38a80fae/policyengine_uk-2.93.0-py3-none-any.whl", hash = "sha256:4f95feffa3b27fab927f9b903f8a9f1f0d63b2fba209d6b8ac010f0f07a5ec7c", size = 2046525, upload-time = "2026-08-28T14:55:14.114Z" }, + { url = "https://files.pythonhosted.org/packages/63/11/09948c900ca6d58c1050c89b9c93d8f5884244aa6ac95661ef1a2ee9eb9a/policyengine_uk-2.122.2-py3-none-any.whl", hash = "sha256:14cefcedce43ce4a37d659a0ff17ad05695de0dc8e0c5f6e2259a69944cb5558", size = 3118697, upload-time = "2026-10-06T02:10:54.896Z" }, ] [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1392,6 +1461,7 @@ dependencies = [ dev = [ { name = "build" }, { name = "furo" }, + { name = "hypothesis" }, { name = "itables" }, { name = "l0-python" }, { name = "pytest" }, @@ -1410,6 +1480,7 @@ requires-dist = [ { name = "google-auth" }, { name = "google-cloud-storage" }, { name = "huggingface-hub" }, + { name = "hypothesis", marker = "extra == 'dev'", specifier = ">=6.168.3" }, { name = "itables", marker = "extra == 'dev'" }, { name = "l0-python", marker = "extra == 'dev'", specifier = ">=0.4.0" }, { name = "microcalibrate", specifier = ">=0.18.0" }, @@ -1418,8 +1489,8 @@ requires-dist = [ { name = "openpyxl" }, { name = "pandas" }, { name = "policyengine" }, - { name = "policyengine-core", specifier = ">=3.19.4" }, - { name = "policyengine-uk", specifier = ">=2.93.0" }, + { name = "policyengine-core", specifier = ">=3.32.13" }, + { name = "policyengine-uk", specifier = ">=2.122.0" }, { name = "pydantic", specifier = ">=2.0" }, { name = "pytest", marker = "extra == 'dev'" }, { name = "pyyaml" }, From 57ce68ac14ebe2bb6da1965b30555a5a1a919488 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Wed, 7 Oct 2026 03:10:57 -0400 Subject: [PATCH 70/70] Compare the offline OBR target set with the served set, not a fixed count (F1) test_full_target_set_available_offline (from #536) asserted at least 30 OBR targets offline. The release combines four member PRs that each replace OBR targets with better sources, which no single PR's CI saw together: #490 swaps obr/housing_benefit for DWP Housing Benefit targets, #510 swaps obr/pension_credit for DWP Pension Credit spend and caseload, #533 swaps the two OBR salary-sacrifice NI relief targets for HMRC's, and #530 merges the two OBR UC targets into obr/universal_credit. That leaves 29 OBR targets (34 on main), so release CI failed with 29 >= 30. The test now checks what it was for: offline, the committed workbooks give exactly the OBR targets that the same workbooks give when served, plus the receipts and NICs names. A broken fallback still fails it. Release-only fix for the 10/8 uk-data release (d833). Co-Authored-By: Claude Opus 5.5 --- .../tests/test_obr_efo_fallback.py | 44 ++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/policyengine_uk_data/tests/test_obr_efo_fallback.py b/policyengine_uk_data/tests/test_obr_efo_fallback.py index 07169a88a..5884642cc 100644 --- a/policyengine_uk_data/tests/test_obr_efo_fallback.py +++ b/policyengine_uk_data/tests/test_obr_efo_fallback.py @@ -157,18 +157,43 @@ def test_unknown_url_with_failed_download_still_raises(kind, error, cause): assert isinstance(raised.value.__cause__, cause) -def test_full_target_set_available_offline(): - """All 34 OBR targets must build from the committed workbooks alone.""" - - def get(*args, **kwargs): - raise requests.ConnectionError("offline") - +def _target_names(get): with ( patch.object(obr.requests, "get", side_effect=get), patch.object(obr.time, "sleep", lambda s: None), ): - targets = obr.get_targets() - names = {t.name for t in targets} + return {t.name for t in obr.get_targets()} + + +def test_full_target_set_available_offline(): + """Offline, the committed workbooks yield every OBR target that the same + workbooks yield when obr.uk serves them. + + This compares against the served set rather than a fixed count, because + other target sources replace OBR targets over time (the 10/8 release swaps + OBR's Housing Benefit, Pension Credit and salary-sacrifice NI relief + targets for DWP and HMRC ones, and merges its two UC targets into one). + """ + config = load_config()["obr"] + bodies = { + config["efo_receipts"]: ( + STORAGE_FOLDER / "obr_efo" / "efo_receipts.xlsx" + ).read_bytes(), + config["efo_expenditure"]: ( + STORAGE_FOLDER / "obr_efo" / "efo_expenditure.xlsx" + ).read_bytes(), + } + + def served(url, *args, **kwargs): + return _response(200, bodies[url]) + + def offline(*args, **kwargs): + raise requests.ConnectionError("offline") + + served_names = _target_names(served) + obr._download_workbook.cache_clear() + offline_names = _target_names(offline) + assert offline_names == served_names assert { "obr/income_tax", "obr/ni_employee", @@ -176,8 +201,7 @@ def get(*args, **kwargs): "obr/ni_self_employed", "obr/capital_gains_tax", "obr/vat", - } <= names - assert len(names) >= 30 + } <= offline_names @pytest.mark.parametrize("url_key", _EFO_URL_KEYS)

kH%zBRYR+pK1Ymt5yYLtCMGT$2 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 KktR2?S@%E5ho>e0 diff --git a/policyengine_uk_data/tests/test_claimant_or_partner.py b/policyengine_uk_data/tests/test_claimant_or_partner.py new file mode 100644 index 000000000..31edefbe7 --- /dev/null +++ b/policyengine_uk_data/tests/test_claimant_or_partner.py @@ -0,0 +1,178 @@ +"""The claimant-or-partner role: FRS derivation, stacking, and built datasets.""" + +import numpy as np +import pandas as pd +import pytest +from hypothesis import given, settings +from hypothesis import strategies as st +from policyengine_uk.data import UKSingleYearDataset + +from policyengine_uk_data.datasets.frs import ( + derive_is_claimant_or_partner_from_frs_microdata, + derive_is_parent_from_frs_microdata, +) +from policyengine_uk_data.utils.stack import stack_datasets + + +def test_grown_up_child_heads_their_own_benefit_unit(): + # Lone parent and dependent child in one benefit unit; grown-up son in his own. + result = derive_is_claimant_or_partner_from_frs_microdata( + person_ids=np.array([1_001, 1_002, 1_003]), + person_benunit_ids=np.array([101, 102, 101]), + adult_person_ids=np.array([1_001, 1_002]), + ) + assert result.tolist() == [True, True, False] + + +def test_couple_with_children(): + result = derive_is_claimant_or_partner_from_frs_microdata( + person_ids=np.array([2_003, 2_001, 2_002]), + person_benunit_ids=np.array([201, 201, 201]), + adult_person_ids=np.array([2_002, 2_001]), + ) + assert result.tolist() == [False, True, True] + + +@pytest.mark.parametrize("adults", [[], [3_001, 3_002, 3_003]]) +def test_benefit_unit_without_one_or_two_adults_is_rejected(adults): + with pytest.raises(ValueError, match="one or two adult-table records"): + derive_is_claimant_or_partner_from_frs_microdata( + person_ids=np.array([3_001, 3_002, 3_003]), + person_benunit_ids=np.array([301, 301, 301]), + adult_person_ids=np.array(adults, dtype=int), + ) + + +@st.composite +def frs_households(draw): + """FRS-shaped records: benefit units of one or two adults plus children.""" + rows = [] + for household in range(1, draw(st.integers(1, 6)) + 1): + person = 0 + for benunit in range(1, draw(st.integers(1, 3)) + 1): + n_adults = draw(st.integers(1, 2)) + n_children = draw(st.integers(0, 4)) + for index in range(n_adults + n_children): + person += 1 + rows.append( + ( + household * 1_000 + person, + household * 100 + benunit, + index < n_adults, + ) + ) + order = draw(st.permutations(range(len(rows)))) + frame = pd.DataFrame(rows, columns=["person_id", "benunit_id", "adult"]) + return frame.iloc[list(order)].reset_index(drop=True) + + +def _derive(frame, adult_mask=None): + adult = frame.adult if adult_mask is None else adult_mask + return derive_is_claimant_or_partner_from_frs_microdata( + person_ids=frame.person_id, + person_benunit_ids=frame.benunit_id, + adult_person_ids=frame.person_id[adult], + ) + + +@settings(max_examples=300, deadline=None) +@given(frs_households()) +def test_every_benefit_unit_has_a_claimant_and_at_most_one_partner(frame): + result = _derive(frame) + assert (result == frame.adult.to_numpy()).all() + counts = pd.Series(result).groupby(frame.benunit_id.to_numpy()).sum() + assert counts.between(1, 2).all() + + +@settings(max_examples=200, deadline=None) +@given(frs_households(), st.randoms(use_true_random=False)) +def test_record_order_does_not_change_anyones_role(frame, rng): + order = list(range(len(frame))) + rng.shuffle(order) + shuffled = frame.iloc[order].reset_index(drop=True) + by_person = dict(zip(frame.person_id, _derive(frame))) + assert [by_person[p] for p in shuffled.person_id] == _derive(shuffled).tolist() + + +@settings(max_examples=200, deadline=None) +@given(frs_households(), st.data()) +def test_parents_are_always_claimant_or_partner(frame, data): + benunits = np.sort(frame.benunit_id.unique()) + children = data.draw( + st.lists(st.integers(0, 4), min_size=len(benunits), max_size=len(benunits)) + ) + is_parent = derive_is_parent_from_frs_microdata( + person_ids=frame.person_id, + person_benunit_ids=frame.benunit_id, + adult_person_ids=frame.person_id[frame.adult], + benunit_ids=benunits, + dependent_children=np.array(children), + ) + assert not (is_parent & ~_derive(frame)).any() + + +@settings(max_examples=200, deadline=None) +@given(frs_households(), st.data()) +def test_a_benefit_unit_with_no_adult_or_a_third_adult_is_rejected(frame, data): + benunit = data.draw(st.sampled_from(sorted(frame.benunit_id.unique()))) + members = frame.benunit_id == benunit + if data.draw(st.booleans()): + adult = frame.adult & ~members + else: + n_extra = 3 - int(frame.adult[members].sum()) + start = frame.person_id.max() + 1 + extra = pd.DataFrame( + { + "person_id": range(start, start + n_extra), + "benunit_id": benunit, + "adult": True, + } + ) + frame = pd.concat([frame, extra], ignore_index=True) + adult = frame.adult + with pytest.raises(ValueError, match="one or two adult-table records"): + _derive(frame, adult) + + +def _tiny_dataset(roles=True): + person = pd.DataFrame( + { + "person_id": [1, 2, 3], + "person_benunit_id": [1, 1, 1], + "person_household_id": [1, 1, 1], + "age": [40, 38, 10], + } + ) + if roles: + person["is_claimant_or_partner"] = [True, True, False] + return UKSingleYearDataset( + person=person, + benunit=pd.DataFrame({"benunit_id": [1]}), + household=pd.DataFrame({"household_id": [1], "household_weight": [1.0]}), + fiscal_year=2024, + ) + + +def test_stacking_keeps_roles(): + stacked = stack_datasets(_tiny_dataset(), _tiny_dataset()) + stacked.validate() + assert stacked.person.is_claimant_or_partner.dtype == bool + assert stacked.person.is_claimant_or_partner.tolist() == [True, True, False] * 2 + + +@pytest.mark.parametrize("roles", [(True, False), (False, True)]) +def test_stacking_refuses_a_table_without_roles(roles): + with pytest.raises(ValueError, match="is_claimant_or_partner"): + stack_datasets(_tiny_dataset(roles[0]), _tiny_dataset(roles[1])) + + +@pytest.mark.parametrize("fixture", ["frs", "enhanced_frs"]) +def test_built_dataset_roles(fixture, request): + person = request.getfixturevalue(fixture).person + role = person.is_claimant_or_partner + assert role.dtype == bool + counts = role.groupby(person.person_benunit_id).sum() + assert counts.between(1, 2).all() + assert not (person.is_benunit_head & ~role).any() + assert not (person.is_parent & ~role).any() + assert (person.age[role] >= 16).all() diff --git a/policyengine_uk_data/tests/test_clone_and_assign.py b/policyengine_uk_data/tests/test_clone_and_assign.py index a6cf15637..a3c8c0e16 100644 --- a/policyengine_uk_data/tests/test_clone_and_assign.py +++ b/policyengine_uk_data/tests/test_clone_and_assign.py @@ -256,6 +256,20 @@ def test_data_preserved_across_clones(self, toy_dataset, small_crosswalk): original_regions = toy_dataset.household["region"].values np.testing.assert_array_equal(regions, original_regions) + def test_claimant_or_partner_follows_each_clone(self, toy_dataset, small_crosswalk): + roles = np.tile([True, False], len(toy_dataset.household)) + toy_dataset.person["is_claimant_or_partner"] = roles + result = clone_and_assign( + toy_dataset, + n_clones=3, + crosswalk_path=str(small_crosswalk), + ) + + assert result.person["is_claimant_or_partner"].dtype == bool + np.testing.assert_array_equal( + result.person["is_claimant_or_partner"].values, np.tile(roles, 3) + ) + def test_single_clone_is_near_identity(self, toy_dataset, small_crosswalk): """With n_clones=1, output should match input dimensions.""" result = clone_and_assign( diff --git a/policyengine_uk_data/tests/test_policybench_transfer.py b/policyengine_uk_data/tests/test_policybench_transfer.py index 900b73d1f..2f966bcc1 100644 --- a/policyengine_uk_data/tests/test_policybench_transfer.py +++ b/policyengine_uk_data/tests/test_policybench_transfer.py @@ -26,6 +26,10 @@ "pip_dl_category", "pip_m_category", } +# Benefit-unit roles the source records, which policyengine-uk infers by +# formula when a dataset leaves them out (is_claimant_or_partner from +# policyengine-uk#1896). Releases that predate a role ignore its column. +DATASET_SUPPLIED_ROLES = {"is_claimant_or_partner"} def _subset_source(tmp_path: Path, rows: int) -> Path: @@ -81,11 +85,15 @@ def test_policybench_transfer_writes_only_valid_leaf_inputs(tmp_path: Path): invalid_columns = [ column for column in frame.columns - if column not in system.variables - or system.variables[column].entity.key != entity + if (column not in system.variables and column not in DATASET_SUPPLIED_ROLES) or ( - not system.variables[column].is_input_variable() - and column not in ALLOWED_COMPATIBILITY_INPUTS + column in system.variables + and system.variables[column].entity.key != entity + ) + or ( + column in system.variables + and not system.variables[column].is_input_variable() + and column not in ALLOWED_COMPATIBILITY_INPUTS | DATASET_SUPPLIED_ROLES ) ] assert invalid_columns == [] @@ -228,6 +236,38 @@ def test_policybench_transfer_family_structure_matches_person_membership( assert observed == expected +def test_policybench_transfer_marks_head_and_joint_spouse_as_claimant_or_partner( + tmp_path: Path, +): + source_file_path = _subset_source(tmp_path, 200) + source = pd.read_csv(source_file_path) + dataset = create_enhanced_cps(source_file_path=source_file_path, calibrate=False) + person = dataset.person + + counts = person.groupby("person_benunit_id").is_claimant_or_partner.sum() + expected = np.where(source.filing_status == "joint", 2, 1) + np.testing.assert_array_equal(counts.sort_index().to_numpy(), expected) + # The head and any spouse are listed before every other member. + first = person.groupby( + "person_benunit_id" + ).cumcount() < person.person_benunit_id.map(counts) + assert (person.is_claimant_or_partner == first).all() + + +def test_checked_in_enhanced_cps_h5_roles_match_the_builder(tmp_path: Path): + checked_in = UKSingleYearDataset(file_path=str(ENHANCED_CPS_FILE)).person + built = create_enhanced_cps( + source_file_path=_subset_source(tmp_path, 500), + calibrate=False, + ).person + head = checked_in.iloc[: len(built)] + + for column in ("person_id", "person_benunit_id", "age", "is_claimant_or_partner"): + np.testing.assert_array_equal(head[column].to_numpy(), built[column].to_numpy()) + counts = checked_in.groupby("person_benunit_id").is_claimant_or_partner.sum() + assert counts.between(1, 2).all() + + def test_assign_council_tax_bands_handles_upper_percentile_edge(): households = pd.DataFrame( { diff --git a/policyengine_uk_data/tests/test_spi_build.py b/policyengine_uk_data/tests/test_spi_build.py index efb37f810..31d3c9790 100644 --- a/policyengine_uk_data/tests/test_spi_build.py +++ b/policyengine_uk_data/tests/test_spi_build.py @@ -467,3 +467,15 @@ def test_income_model_cache_accepts_current_spi_release(tmp_path, monkeypatch): ) assert income_module.create_income_model().metadata == current_metadata + + +def test_create_spi_marks_every_taxpayer_as_their_benefit_units_claimant(tmp_path): + from policyengine_uk_data.datasets.spi import create_spi + + tab = tmp_path / "spi.tab" + _write_fake_spi(tab) + + person = create_spi(tab, 2020, seed=0).person + assert person["is_claimant_or_partner"].dtype == bool + assert person["is_claimant_or_partner"].all() + assert person["person_benunit_id"].is_unique diff --git a/policyengine_uk_data/utils/stack.py b/policyengine_uk_data/utils/stack.py index 2fe9df828..d722d347e 100644 --- a/policyengine_uk_data/utils/stack.py +++ b/policyengine_uk_data/utils/stack.py @@ -1,10 +1,17 @@ from policyengine_uk.data import UKSingleYearDataset import pandas as pd +# Benefit-unit roles taken from the survey, which policyengine-uk otherwise +# infers from ages. A stacked table without them would leave missing roles. +SURVEY_ROLE_COLUMNS = ("is_claimant_or_partner",) + def stack_datasets( data_1: UKSingleYearDataset, data_2: UKSingleYearDataset ) -> UKSingleYearDataset: + for column in SURVEY_ROLE_COLUMNS: + if (column in data_1.person.columns) != (column in data_2.person.columns): + raise ValueError(f"Only one of the stacked datasets has {column}.") person_id_offset = data_1.person.person_id.max() + 1 benunit_id_offset = data_1.benunit.benunit_id.max() + 1 household_id_offset = data_1.household.household_id.max() + 1 diff --git a/pyproject.toml b/pyproject.toml index beff7f1a4..7973343cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,8 +45,9 @@ dev = [ "yaml-changelog>=0.1.7", "itables", "quantile-forest", - "build", "towncrier>=24.8.0", - + "build", + "towncrier>=24.8.0", + "hypothesis>=6.168.3", ] [tool.setuptools] diff --git a/uv.lock b/uv.lock index a3e9f44d9..672737ea1 100644 --- a/uv.lock +++ b/uv.lock @@ -577,6 +577,75 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/f4/124858007ddf3c61e9b144107304c9152fa80b5b6c168da07d86fe583cc1/huggingface_hub-1.1.5-py3-none-any.whl", hash = "sha256:e88ecc129011f37b868586bbcfae6c56868cae80cd56a79d61575426a3aa0d7d", size = 516000, upload-time = "2025-11-20T15:49:30.926Z" }, ] +[[package]] +name = "hypothesis" +version = "6.168.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/b7/13118bbc45d6d8b9d04e2de779e2a4ff23145ea39efa692b994fb874ca72/hypothesis-6.168.3.tar.gz", hash = "sha256:a43388f9067678fef6e13bdff325b6cfa6961a590498bb37f7ff31589c83bc75", size = 511022, upload-time = "2026-09-28T05:20:58.499Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/cd/746a2fc1e5e5ba34f07ea6ee1ad07525a3dde5ff4836db3a7980af49a891/hypothesis-6.168.3-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d20972ca134e652e9928ecd200966a8a2857adc2812c1d74b12a872e5cd503eb", size = 791536, upload-time = "2026-09-28T05:18:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0f/7a158e377b69556c8e12c25c8fd811d0103e54c24a12dab1f3b9819f202e/hypothesis-6.168.3-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:eafbec09d3e87d13d8242411d1f5868b5e879f1bd6d95e233e9ff80c527bea1c", size = 787313, upload-time = "2026-09-28T05:20:18.122Z" }, + { url = "https://files.pythonhosted.org/packages/45/c6/7df9104ee359e8fcd77791781c47e70794964ca69673665e0de2a6590f4c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c5627497968cc62d140e9fde1ea21e12cac7b64dc419fea8286cd34ff1ad4e", size = 1124036, upload-time = "2026-09-28T05:20:04.372Z" }, + { url = "https://files.pythonhosted.org/packages/92/0f/8a61715404a73b9a82cb1f976803428d603cdea976a9c30266c72ad6a7ce/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dc56e6dc6eeb0aeb08ac463f847279bde2336c4786faf7ee0af4b93cd031a7", size = 1147875, upload-time = "2026-09-28T05:19:15.495Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3f/2b16e95cc3b9a069afa23830a012aefe377ce4a457a227e5a5026eb827ff/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:753bb501f8560d2e321ed3b62596b4496c56f15668b0a0669231ccc3e6c4e80d", size = 1149489, upload-time = "2026-09-28T05:19:18.886Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e7/d7cf6dc068bb02732b2a6e38a35a0dcb7f2137608198fc79d740f69d197c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71ab606c472449cb872ef2a7acaec679ee4f651b7f0a477a04ebc85d8933ef8c", size = 1191992, upload-time = "2026-09-28T05:19:21.83Z" }, + { url = "https://files.pythonhosted.org/packages/5f/26/f1e5b25dec15998e8375d722825ec3dae1075cbe7cb1f74221b2312a2e33/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26928956c54748e4dfa587333741ab750246123b93484955646ff316cca27eef", size = 1169911, upload-time = "2026-09-28T05:19:27.996Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/901234a49147e6bf8a5b9e54b775706a223c2b52befea1106ea2aaf15d48/hypothesis-6.168.3-cp310-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:0bdfc53c041b61c854fa3761735736b991bc2bddafee45a361cfe4d43027c1ef", size = 1129406, upload-time = "2026-09-28T05:18:42.632Z" }, + { url = "https://files.pythonhosted.org/packages/55/c1/5fc9ff91ec9fba6bb527833386c66812524b5cc75fe7d4a4f9122ee1c420/hypothesis-6.168.3-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:650528e2b1e2a45e95c2df624d4b9364b8ac5a027ba84e1eea2bc5398dd01dcd", size = 1160399, upload-time = "2026-09-28T05:20:23.911Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d2/49ad1ef5c55547c8abfd0fc571b3493806dda530fd5cb3d8263dbad86a72/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:209dc54cdb1b4d6d7020ad8d09e44c49756361b7183adacea4d6f5705085b595", size = 1299906, upload-time = "2026-09-28T05:18:58.417Z" }, + { url = "https://files.pythonhosted.org/packages/0d/5f/f98a26094c4f462c4215807bed0f9a6b5508b27a3c329bcba1bc8adc7ac7/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:af8ca98cd11dc7f9427bb90483abcd9688d4df2e8e63893a30a2423b027ebb11", size = 1425538, upload-time = "2026-09-28T05:20:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b8/c5b4406e3a6591e51a42f85469351d1d824e0a54b84167aec9b2353759fe/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:f8122cfdd0bc0ba843063effa22ac310bdebdb3a1319bf1e63f14baa119c72ab", size = 1377084, upload-time = "2026-09-28T05:20:06.618Z" }, + { url = "https://files.pythonhosted.org/packages/e0/01/0d84a8ea469d024c15f602799c0b8410fbe03d99fdb0370449b33c3c916f/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4bedbb379eab34f792af7ee9a05aae04e9c08bbb52e0f90f5a2110d4fe4b2fbd", size = 1281162, upload-time = "2026-09-28T05:19:42.768Z" }, + { url = "https://files.pythonhosted.org/packages/22/b5/ea6435038de1a795f005cb603531e8ccc053febc50180f3ab55583c9c60e/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:5a953115b9f5c95133ab2d04efffeec96e5658c3207923dca7285f7db3e6bbef", size = 1300433, upload-time = "2026-09-28T05:18:55.634Z" }, + { url = "https://files.pythonhosted.org/packages/6c/78/fa6c77d9f64b6d592e69e582d83cbce7d7e56897faa4762885a2123b0166/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6173558e676ad25ed1e20507fa4024a0d816dd90f715f77006e5a28f19109026", size = 1336273, upload-time = "2026-09-28T05:19:08.273Z" }, + { url = "https://files.pythonhosted.org/packages/f1/56/4acd0d778bab818c9ea336fcba768bf43bc70db7f84cc373579298df4641/hypothesis-6.168.3-cp310-abi3-win32.whl", hash = "sha256:dc66390fb12d80585aa9222bf538ce8b7aa22cf5d118250647355a1c9e8f62f4", size = 678211, upload-time = "2026-09-28T05:19:23.355Z" }, + { url = "https://files.pythonhosted.org/packages/b0/db/0a02b146ad1c30f9716362f2e1a379dfd6b0f7be03ac1e22c9da24c9e2a9/hypothesis-6.168.3-cp310-abi3-win_amd64.whl", hash = "sha256:92325b276360fe86c5bf71a568c0d53a6d140b0de36dcf029f9164a17803bb24", size = 684906, upload-time = "2026-09-28T05:18:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c0/958deaf726848f96f52250740bf39f13f476b068e22f73e2b358eaa07532/hypothesis-6.168.3-cp310-abi3-win_arm64.whl", hash = "sha256:3cf6f1eeaf41cd8d60cf1f88fde905ca1dd77c906929a507d6ac7f66f2ccba2a", size = 683292, upload-time = "2026-09-28T05:19:57.404Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a2/6787da846d929e52fc3344d803299c45782dbeac287528af08380e984bf8/hypothesis-6.168.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1b230a850de63334c16654a34a2d547e0179d36b9071d4439b3e7237f6d077e7", size = 793254, upload-time = "2026-09-28T05:19:36.294Z" }, + { url = "https://files.pythonhosted.org/packages/89/ba/2893f5ca42501f4d562cba3229c8994c3a3e5fac66ef60c1e0e0b5220a5d/hypothesis-6.168.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d63b0226cd3e0d8bdd97c3384b22a21934ed4d53246c1c93575dada616672499", size = 784699, upload-time = "2026-09-28T05:18:54.194Z" }, + { url = "https://files.pythonhosted.org/packages/b7/aa/7d7349daf75b71f6f35876f8de115e974c5c04d600e86df1b2779b0883ab/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0369f5df055f96e117ab12e5f249668ff144731ab5280bc7a205fdf81f990b89", size = 1123016, upload-time = "2026-09-28T05:20:36.372Z" }, + { url = "https://files.pythonhosted.org/packages/00/f0/7774e1ea072708ea46cb25c4aeee5f9978b6c271764809069e8a6789858e/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f076bcd0f77fdcdb7797826c879099573d03a02e228ebe649ea917081b962ac0", size = 1168989, upload-time = "2026-09-28T05:20:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7d/113992abed9efbd7944e3a496a382da58152dce126fddf6419ff31a0a57d/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b823ba1fcec8da730f29316d010b06d3f7e0c3828dcf91020e24c55e7d24652a", size = 1298626, upload-time = "2026-09-28T05:19:40.986Z" }, + { url = "https://files.pythonhosted.org/packages/d5/65/3659fa5e733027e5b37a27486e57f4053535e40853d23501c422bb275043/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dd2849c269d674e4618590f3b48d443bd4c06b5aef3d8d869086c2e6d213d248", size = 1335184, upload-time = "2026-09-28T05:20:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/35aab2221b5ea65125340f236e1a765a9e9f3b28d89a389ea0033fed29f7/hypothesis-6.168.3-cp313-cp313-win_amd64.whl", hash = "sha256:3ef7d26f5789e691401d5f87eafed9bd2763f0dbe47af6d6b66012a509404766", size = 682173, upload-time = "2026-09-28T05:19:12.762Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/27b0cb56ff5d2bc92458bf6fcebdb1f0dc01f57f043a178e9f9d74498169/hypothesis-6.168.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e2d4c68729a13df9af4998d2652cfb5d541c5609b88c306880a5dfb284938ec2", size = 793287, upload-time = "2026-09-28T05:20:38.522Z" }, + { url = "https://files.pythonhosted.org/packages/e8/bd/5342f95c3bc36586777ef8cb8eba87ac7acf0184210327fb0e6d8654e295/hypothesis-6.168.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b345f818083ec99966a43ca4f7b38feb62c6920ce28572bc2bde4948a8b7eaba", size = 784857, upload-time = "2026-09-28T05:20:42.609Z" }, + { url = "https://files.pythonhosted.org/packages/4a/5f/fc774241518a0588d362680a3084275058aab86d6bc02a2c61e1073142d0/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0608c610fc002978fc5de0f471770d8817e9455cb8649a47983c9f8bccfc1897", size = 1123330, upload-time = "2026-09-28T05:19:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/131f16775a3dca5f4fe27f0d6ad9a9851600098a54a872d163f6ebf0b664/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dcf6448b1ecc37f2b23f2d1b3ddfc9ff6b6910614c15a642dc82f419b96037b", size = 1169178, upload-time = "2026-09-28T05:19:53.436Z" }, + { url = "https://files.pythonhosted.org/packages/06/61/c9f5bff8b73321c9fd12f2d69666c6e4861b97b60f5f24fdd6ac293007fd/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ae4f9f094041dcce5119ebd7bab71062743ab02b6e654d056b370beda78c19e2", size = 1299127, upload-time = "2026-09-28T05:20:14.486Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6d/d4618f8ab12dd76c4d58ea052252759aa2bf0c4e71f4b502ba5d577e0b9f/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d479985fe73af97badfb72dc6d20c6a353e486a36f6d065f600026e0cf954a86", size = 1335390, upload-time = "2026-09-28T05:20:10.326Z" }, + { url = "https://files.pythonhosted.org/packages/95/b6/727161e17cc297df1aeea945de05c532033b66751625bec192bc5b5ff707/hypothesis-6.168.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:785e2c45f8c08e274b4bf1ccae97f1a4e09407e9a68e80790cfab1d17a4a45fa", size = 624291, upload-time = "2026-09-28T05:18:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/77/23/2f9b506392a0b8712440bcb781abc5713be9ffac1303b6d10f3669050882/hypothesis-6.168.3-cp314-cp314-win_amd64.whl", hash = "sha256:320920b1e3dae8611eee8a03d063cf2187446f2a17c38cfb8a7fc1466f71eee2", size = 682064, upload-time = "2026-09-28T05:20:16.336Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/efabfd95eb2b69c0c9fa1e1c83c8290aa2715d46baeb5a7764faf09c133a/hypothesis-6.168.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:35380baa981108a7f60c4eab71e46acd8d8f58440520346a1a6aba06dca7e074", size = 791875, upload-time = "2026-09-28T05:19:37.789Z" }, + { url = "https://files.pythonhosted.org/packages/1b/fc/2a0ada1623a9a33048bbf9f00a7c92513398c6b8865cba5efb854262ce30/hypothesis-6.168.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f0aaaed00438fa6673d856aaee12a4a8afbde82a9f3c5ff487cacfb064239afe", size = 783412, upload-time = "2026-09-28T05:18:48.266Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/73c615d37eeb12da0209555612c32ced628d860267c23cfd2691c6207aea/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27e6df1576bf838e7f484d4ae5cba92114497ca30afb917056bf1ea33e95675", size = 1121662, upload-time = "2026-09-28T05:19:26.225Z" }, + { url = "https://files.pythonhosted.org/packages/92/54/1893344a3b8bbf83fa7c9bb7e96f6836580213854f46671cb749f7b4706c/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bc85014577982ec6d2e266edc5cd6e7a7d3674c648791ca983c67a52f89a0c4", size = 1167761, upload-time = "2026-09-28T05:18:49.85Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/a61d82968febd25a0f08ffbbfabfaeead66f68fc5fa73f3c9ece1c36fc8f/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ccfc29505aa1cdcc254cb9cd701fd0811fef5480addd97d4127a00df023410f7", size = 1297309, upload-time = "2026-09-28T05:19:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/01/fe8e4cf6d39d02f4efadaa351427fa13722086cfc54a2da3579741c5177a/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32d0699566aaa93f9e97a44705d7164386f1e91de78d277f53bada35e78bcc96", size = 1334260, upload-time = "2026-09-28T05:19:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/39/6a/09177ebc62f4778f94379ecade6a51299d3d8c4f4b75ba636bf3a0202364/hypothesis-6.168.3-cp314-cp314t-win_amd64.whl", hash = "sha256:28d88fa174ecbd4ecbd7bb290f06d0db084a3971c3f511ae2830b65b5e25500f", size = 681992, upload-time = "2026-09-28T05:19:48.043Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f6/890bf33d608cd63348d3146a3ca83362fbf09e589c5e5230a00c403070f4/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:61f5782d807b1e6aa5c9beef1054cb2037e7d1add48a64972cd6ee447778781f", size = 791231, upload-time = "2026-09-28T05:18:43.998Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/fc36b204f8aa7437c676576d9437f0422de46aa8a729e6cd5bbb0224e759/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:7aacf3cf40c7ce8f9e4924d5b57bc0b068beafdfed2347bcf160a28b4cfbba7b", size = 783171, upload-time = "2026-09-28T05:19:20.353Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d2/3cd087d577db67c404991d7723e64d7cd75570cdc82a0f7329aed6f2086c/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01768a03a30dc54df7fe457c0b34016c84d598fa00d5965ededab93ba4eb3408", size = 1121152, upload-time = "2026-09-28T05:18:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/42/6f/a05a68cc66e7a22701c50bf94fb9ddeb36f4f5d0de3cc130066709eda621/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1a8a4ffc6c6e6e577f2bfbcfebf7cffbb310283ba2532c729570a0a752cebaaa", size = 1144069, upload-time = "2026-09-28T05:20:44.705Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f4/fdd7a093fb2fb3a0ce24256c92ad5bf67936f4669bd06d5ceae4298150ec/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b987d73eba95183a7e59cca6d1925c588aa4307922d9852cc2b4d282a2ae4128", size = 1146692, upload-time = "2026-09-28T05:20:25.83Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/6dbd4377e935505ae4fc8ee4c7b18c69994c4bbaca015447c470218bdbee/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4569c39bd97d9573e946429ed676f3b55a7c8ed80920addd67d384a47d59b38", size = 1189480, upload-time = "2026-09-28T05:20:46.734Z" }, + { url = "https://files.pythonhosted.org/packages/ba/bf/ff288b496b690000d2686dcfa7f67855e4c5a6dddb464ed8e4880be83bb2/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6042b8707a4b25bbbfe20b110258fb7549a68951e5525608a8ce06091039e9fc", size = 1167109, upload-time = "2026-09-28T05:19:24.758Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d1/3fee2bc29fc747fabbb27e174515592e390809ca465d3bbbabbcfa3235a8/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:f413629de94d38a7a2ad259697a6752526143cb49c2e2d7bdba19381c80693f6", size = 1126823, upload-time = "2026-09-28T05:18:52.636Z" }, + { url = "https://files.pythonhosted.org/packages/58/6a/585294392fa6a6d9719446a042a777ba98ecca265d9e48cbedc10c88df0f/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f071737e4e775bebba07e319eb645a880d1e0186b4d24bad23255e849d86d483", size = 1155773, upload-time = "2026-09-28T05:20:51.268Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4d/fa283ff79996debf1ff08593e01f8b773eb8211b19b3d6d5d491317a65bf/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:f59a3912858d0609c26054aa1c474847c797937f5e0e1c77f0d3f08032e50f09", size = 1296671, upload-time = "2026-09-28T05:18:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/42/05/98f9c2f628da5afabb6c3e8df5d2d299d2d50bf306b14a6e26d3954c4951/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:f09c05a23a8025dd5cad07c2ed299a46778e72d49ff0dd5bf353bcc0f7dc1580", size = 1422001, upload-time = "2026-09-28T05:19:04.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c9/f2109ade29a7ec284d55bca328d784743e8b13e321576fd34ee7e65f99af/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:44ace770bda3a0301739fc5a413c764de790c739df1f1a7218dd049f8594d9f5", size = 1374182, upload-time = "2026-09-28T05:20:27.764Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/e05d5f72441564a3bebc71fa155deafd0fd3b015d6014ec8a00edf6e42bb/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:03b131043608f94a2578a2a896a1a72092acb7079815eef5b8513b08447e0e62", size = 1278402, upload-time = "2026-09-28T05:20:56.332Z" }, + { url = "https://files.pythonhosted.org/packages/96/d7/6988a7f1f69c5c530687dce03a32c157e2d878e3a2e32af9269ce016b78a/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:e9784aca26eddfe99b03a0292320db742cc8a74200ef864fdce949f526f973cd", size = 1297770, upload-time = "2026-09-28T05:19:11.387Z" }, + { url = "https://files.pythonhosted.org/packages/a2/28/5bb82b60b836bd2329e1fe01ad94efc2b14dfa806f8e50ed14b795d78770/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:2b52ac363096232bebc2add117e9178d91f4248f4cdb919fd1026b5f86a4bb16", size = 1333977, upload-time = "2026-09-28T05:20:02.483Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7d/d419841b8f65481ea1a50c4ba36f2670d48b8c7a51e4e8586089564cf7f6/hypothesis-6.168.3-cp315-abi3.abi3t-win32.whl", hash = "sha256:d28e3a6b511a74ce37df5274b51f36c2b274fea7365e00b16f0c81e22acd5957", size = 675394, upload-time = "2026-09-28T05:19:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d2/1de6a2ad100e44817f2e9a8e8ba3eeaf4769621f4f87f2d4966c4971fcc4/hypothesis-6.168.3-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:7b9638789548361a57d984f56619ac694a914c328181d911271618409261ff4a", size = 681699, upload-time = "2026-09-28T05:19:09.957Z" }, + { url = "https://files.pythonhosted.org/packages/c0/79/be3370fd02734d6b1d950183ae9224580d19fa8d356b95348d60f1e3eeb7/hypothesis-6.168.3-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:65d78e4357ec48ed2c67825f06740ee3599be4cfe770a6092bed07108d679ac5", size = 679849, upload-time = "2026-09-28T05:19:06.884Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1364,7 +1433,7 @@ wheels = [ [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1392,6 +1461,7 @@ dependencies = [ dev = [ { name = "build" }, { name = "furo" }, + { name = "hypothesis" }, { name = "itables" }, { name = "l0-python" }, { name = "pytest" }, @@ -1410,6 +1480,7 @@ requires-dist = [ { name = "google-auth" }, { name = "google-cloud-storage" }, { name = "huggingface-hub" }, + { name = "hypothesis", marker = "extra == 'dev'", specifier = ">=6.168.3" }, { name = "itables", marker = "extra == 'dev'" }, { name = "l0-python", marker = "extra == 'dev'", specifier = ">=0.4.0" }, { name = "microcalibrate", specifier = ">=0.18.0" }, From df530b7804326d7c8c11cc405b86c251c2bfc20f Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 03:11:56 -0400 Subject: [PATCH 14/70] Read LHA_category as an array and drop the list-of-rents test stub create_frs's smoke test stubs Microsimulation.calculate with plain arrays, so take np.asarray rather than .values, and remove the stub of the deleted lha_list_of_rents.csv.gz. Co-Authored-By: Claude Opus 5.5 --- .gitignore | 3 +++ policyengine_uk_data/datasets/frs.py | 2 +- .../tests/test_legacy_benefit_proxies.py | 10 ---------- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 9a741bc49..04d54863f 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,6 @@ **/_build !policyengine_uk_data/storage/*.csv **/version.json + +# Build outputs with household-level weights (licensed FRS derivatives); never commit. +policyengine_uk_data/storage/local_geography_weights.csv.gz diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index 4e612323c..bbe037a95 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -1410,7 +1410,7 @@ def determine_education_level(fted_val, typeed2_val, age_val): sim = Microsimulation(dataset=dataset) region = sim.populations["benunit"].household("region", dataset.time_period) - lha_category = sim.calculate("LHA_category", year).values + lha_category = np.asarray(sim.calculate("LHA_category", year)) # Draw each benefit unit's BRMA in proportion to the private-rented # households in each of its region's BRMAs with the matching number of diff --git a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py index 5f1acd85f..a2bc23dd2 100644 --- a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py +++ b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py @@ -374,17 +374,7 @@ def calculate(self, variable, year=None): def test_create_frs_smoke_includes_legacy_proxy_columns(tmp_path, monkeypatch): - original_read_csv = frs_module.pd.read_csv - - def fake_read_csv(path, *args, **kwargs): - if str(path).endswith("lha_list_of_rents.csv.gz"): - return pd.DataFrame( - {"region": ["LONDON"], "lha_category": ["A"], "brma": ["BRMA1"]} - ) - return original_read_csv(path, *args, **kwargs) - monkeypatch.setattr(policyengine_uk, "Microsimulation", FakeMicrosimulation) - monkeypatch.setattr(frs_module.pd, "read_csv", fake_read_csv) monkeypatch.setattr(frs_module, "load_take_up_rate", lambda *args, **kwargs: 0.0) monkeypatch.setattr(frs_module, "load_parameter", lambda *args, **kwargs: 0.0) monkeypatch.setattr( From 48517d2a8a0ecbc020f357cc9e4409b6f6f39f5b Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 03:16:38 -0400 Subject: [PATCH 15/70] Add the pinned pipeline that rebuilds the BRMA households table tools/brma_households downloads every census and BRMA geography input, checks each against a pinned sha256 (decoded-content hashes for the ONS custom-API batches), and rebuilds storage/brma_private_rented_households.csv byte for byte. Scotland's census ward table is the one manual download, with instructions in the manifest. Area overrides established from official lookups carry dated evidence and are asserted against the polygons so a boundary change fails loudly. Co-Authored-By: Claude Opus 5.5 --- .gitignore | 1 + tools/brma_households/README.md | 79 +++ tools/brma_households/build.py | 509 +++++++++++++ tools/brma_households/fetch.py | 126 ++++ tools/brma_households/sources.yaml | 1063 ++++++++++++++++++++++++++++ 5 files changed, 1778 insertions(+) create mode 100644 tools/brma_households/README.md create mode 100644 tools/brma_households/build.py create mode 100644 tools/brma_households/fetch.py create mode 100644 tools/brma_households/sources.yaml diff --git a/.gitignore b/.gitignore index 04d54863f..13b54d8e1 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ # Build outputs with household-level weights (licensed FRS derivatives); never commit. policyengine_uk_data/storage/local_geography_weights.csv.gz +.brma-cache/ diff --git a/tools/brma_households/README.md b/tools/brma_households/README.md new file mode 100644 index 000000000..0a2462144 --- /dev/null +++ b/tools/brma_households/README.md @@ -0,0 +1,79 @@ +# BRMA private-rented households + +`policyengine_uk_data/storage/brma_private_rented_households.csv` (the default `--output`) contains 936 rows: `region,brma,bedrooms,households`. +It counts private landlord/letting agency and other private-rented households by +Broad Rental Market Area (BRMA), retaining each area's census region. Bedrooms are +`1`, `2`, `3`, `4+`; Northern Ireland uses `all` because its census did not ask bedrooms. + +## Sources and method + +- **England, Census 2021:** ONS/Nomis TS054 LSOA private-rented totals multiplied + by each LSOA's ONS custom-API tenure5a code 3 bedroom proportions. ONS V4 + population-weighted centroids intersect VOA May 2020 BRMA polygons; regions + come from ONS OA-to-LSOA and OA-to-region lookups. GML is parsed directly to + preserve nine incorrectly declared MultiPolygons; `make_valid` repairs seven + self-intersections. Five border LSOAs use documented official VOA lookup overrides: + E01014018 → Brecon and Radnor; E01022272–E01022275 → Monmouthshire. +- **Wales, Census 2021:** the same TS054 × tenure5a method and Welsh ONS V4 + centroids, with the archived Rent Officers Wales polygons (May 2012 geometry, + September 2014 release). Invalid geometry is repaired. Cardiff Bay W01002024 + uses a fixed override established by 13 official postcode replies on 2 October 2026. + Eleven Welsh LSOAs in West Cheshire retain region `WALES`. +- **Scotland, Census 2022:** NRS ward tenure × bedrooms, allocated using OA + household-weighted centroid shares in Scottish Government BRMA polygons. + Official postcode candidates supply nine missing assignments and correct 61 + Balloch OAs; two ambiguous candidates use West Dunbartonshire council membership. + Four and five-or-more bedrooms combine into `4+`. +- **Northern Ireland, Census 2021:** NISRA Data Zone tenure codes 5 and 6, + allocated using NIHE postcode-district BRMAs and ONSPD postcode-to-zone records. + Single-BRMA zones receive share 1; mixed zones use census postcode household + counts, substituting NISRA district averages after stripping district-key whitespace. + +BRMA cells are rounded to whole households with pandas; zero rows are dropped. +No national balancing adjustment is made. Each of 89 inputs has its exact URL and cache filename in `sources.yaml`. +The 72 ONS custom-API batches pin decoded JSON bytes with `content_sha256`; +other inputs pin original bytes with `sha256`. Gzip and plain JSON are accepted +without parsing or reserialising for verification. Live reply pages and postcode +extracts used only to establish overrides are excluded, as are research checks. +All eight overrides have dated evidence comments in `build.py`; exact unresolved +area sets are asserted before assignment to guard against boundary changes. + +## Rebuild + +Run from the repository root. The sole browser/session download is Scotland's +ward export; follow its `manual: true` manifest instructions and place it in the +cache. Scripts never log in or accept terms. Both commands verify all input pins; +the builder uses only cached originals and checks the expected output digest. + +```sh +nice -n 10 uvx --with pandas --with geopandas --with shapely --with pyogrio --with openpyxl --with pyyaml python tools/brma_households/fetch.py .brma-cache +nice -n 10 uvx --with pandas --with geopandas --with shapely --with pyogrio --with openpyxl --with pyyaml python tools/brma_households/build.py .brma-cache +``` + +`fetch.py --only SOURCE_ID ...` supports selected download checks; `build.py +--output PATH` chooses the output destination. Missing files or changed hashes fail. + +## Licences and limits + +Census and most geography inputs use the Open Government Licence; retain ONS, +NRS, Scottish/Welsh Government and Ordnance Survey attributions in the manifest. +NIHE's archived page has no stated open reuse licence; live VOA replies are not inputs. +**NI postcode geography comes from ONSPD records under the LPS Northern Ireland +End User Licence; only aggregated BRMA counts are published, never raw BT records.** +Centroids and ward/postcode shares approximate household locations. England/Wales +bedroom proportions include rent-free households; census cells are perturbed. +Geography vintages differ and bedrooms describe accommodation, not LHA entitlement. +The 34 postcode records without Data Zone codes do not contribute to mixed-zone shares. + +## Verification + +On 2 October 2026, all 89 inputs copied from retained originals passed `fetch.py` +verification with no downloads, including all 72 decoded-content hashes. +Fresh `fetch.py` downloads of eight originals covered all seven publishers; +both an English and a Welsh custom-API batch passed decoded-content verification. +The corrected full rebuild was byte-identical to the updated reference, 936 rows: +`3ba714d4f5267656f19cd60785da379804420f633aa4c5745bdd0fba20473e72`. +The NI key fix changes Belfast by +1 and South East NI by −1 household. +Changed-content, missing-manual and override-set mismatch checks were rejected. +Scotland's manual export was verified from its retained original, not re-exported. +`nice -n 10` was invoked; the sandbox refused priority changes and Git index writes. diff --git a/tools/brma_households/build.py b/tools/brma_households/build.py new file mode 100644 index 000000000..b5172a61e --- /dev/null +++ b/tools/brma_households/build.py @@ -0,0 +1,509 @@ +#!/usr/bin/env python3 +"""Rebuild the BRMA private-rented household table from verified cached originals.""" + +import argparse +import csv +import hashlib +import html +import io +import json +from pathlib import Path +import re +import xml.etree.ElementTree as ET +import zipfile + +import geopandas as gpd +import pandas as pd +from shapely import make_valid +from shapely.geometry import MultiPolygon, Polygon + +from fetch import decoded_content, sources, verify_cache + + +# Overrides established on 2026-10-02; live reply pages are evidence, not inputs. +LSOA_OVERRIDES = { + "E01014018": "BRECON_AND_RADNOR", # Official VOA postcode lookup HR3 5TA, 2026-10-02. + "E01022272": "MONMOUTHSHIRE", # Official VOA postcode lookup NP16 7AG, 2026-10-02. + "E01022273": "MONMOUTHSHIRE", # Official VOA postcode lookup NP16 7RB, 2026-10-02. + "E01022274": "MONMOUTHSHIRE", # Official VOA postcode lookup NP16 7QB, 2026-10-02. + "E01022275": "MONMOUTHSHIRE", # Official VOA postcode lookup NP16 7EN, 2026-10-02. + "W01002024": "CARDIFF", # Official VOA lookup CF11 0AS (and 12 other postcodes), 2026-10-02. +} +SCOTTISH_OVERRIDES = { + "S00179382": "WEST_DUNBARTONSHIRE", # G83 8NQ; official VOA West Dunbartonshire council lookup, 2026-10-02. + "S00179383": "WEST_DUNBARTONSHIRE", # G83 8SD; official VOA West Dunbartonshire council lookup, 2026-10-02. +} + + +def read_json(path): + return json.loads(decoded_content(path)) + + +def brma_key(name): + return re.sub(r"\W+", "_", name.replace("&", "").upper()).strip("_") + + +def voa_polygons(path): + """Parse actual GML types: its XSD wrongly declares nine MultiPolygons.""" + ns = {"gml": "http://www.opengis.net/gml", "ogr": "http://ogr.maptools.org/"} + + def ring(node): + return [tuple(map(float, xy.split(","))) for xy in node.text.split()] + + def polygon(node): + shell = ring( + node.find("gml:outerBoundaryIs/gml:LinearRing/gml:coordinates", ns) + ) + holes = [ + ring(n) + for n in node.findall( + "gml:innerBoundaryIs/gml:LinearRing/gml:coordinates", ns + ) + ] + return Polygon(shell, holes) + + def parts(geom): + if geom.geom_type == "Polygon": + return [geom] + if geom.geom_type in {"MultiPolygon", "GeometryCollection"}: + return [p for child in geom.geoms for p in parts(child)] + return [] + + with zipfile.ZipFile(path) as z: + root = ET.fromstring(z.read("English BRMA(LHA) Layer.gml")) + records = [] + for feature in root.findall("gml:featureMember/ogr:English_BRMA_LHA__Layer", ns): + node = feature.find("ogr:geometryProperty", ns)[0] + assert {n.attrib["srsName"] for n in node.iter() if "srsName" in n.attrib} == { + "EPSG:27700" + } + if node.tag.endswith("}Polygon"): + geom = polygon(node) + else: + assert node.tag.endswith("}MultiPolygon") + geom = MultiPolygon( + [polygon(n) for n in node.findall("gml:polygonMember/gml:Polygon", ns)] + ) + repaired = parts(make_valid(geom)) + assert repaired + geom = repaired[0] if len(repaired) == 1 else MultiPolygon(repaired) + assert geom.is_valid and not geom.is_empty + records.append( + { + "brma": brma_key(feature.findtext("ogr:Name", namespaces=ns)), + "geometry": geom, + } + ) + assert len(records) == len({r["brma"] for r in records}) == 152 + return gpd.GeoDataFrame(records, crs=27700) + + +def lsoa_geography(cache): + regions = dict( + zip( + [f"E1200000{i}" for i in range(1, 10)], + [ + "NORTH_EAST", + "NORTH_WEST", + "YORKSHIRE", + "EAST_MIDLANDS", + "WEST_MIDLANDS", + "EAST_OF_ENGLAND", + "LONDON", + "SOUTH_EAST", + "SOUTH_WEST", + ], + ) + ) + hierarchy = pd.read_csv( + cache / "ons_geo_oa21_lsoa21.csv", usecols=["OA21CD", "LSOA21CD"], dtype=str + ) + hierarchy = hierarchy[hierarchy.LSOA21CD.str.startswith("E")] + region = pd.read_csv( + cache / "ons_geo_oa21_region.csv", usecols=["oa21cd", "rgn22cd"], dtype=str + ) + hierarchy = hierarchy.merge( + region, left_on="OA21CD", right_on="oa21cd", how="left", validate="one_to_one" + ) + assert ( + hierarchy.rgn22cd.notna().all() + and hierarchy.groupby("LSOA21CD").rgn22cd.nunique().eq(1).all() + ) + points = gpd.read_file(f"zip://{cache / 'ons_geo_lsoa21_pwc.zip'}") + points = points[points.LSOA21CD.str.startswith("E")].to_crs(27700) + assert points.LSOA21CD.is_unique and len(points) == 33755 + eng = gpd.sjoin( + points, + voa_polygons(cache / "brma_england_voa_may2020.zip"), + how="left", + predicate="intersects", + ) + assert eng.LSOA21CD.is_unique + outside = eng[eng.brma.isna()].copy() + assert set(outside.LSOA21CD) == {c for c in LSOA_OVERRIDES if c.startswith("E")}, ( + "English override set changed" + ) + outside["brma"] = outside.LSOA21CD.map(LSOA_OVERRIDES) + wal_points = gpd.read_file(cache / "geo_lsoa21_wales_pwc.geojson").to_crs(27700) + assert wal_points.LSOA21CD.is_unique and len(wal_points) == 1917 + wal_polygons = gpd.read_file( + f"zip://{cache / 'geo_brma_wales_2014.zip'}!Broad Rental Market Areas/wales_brma.shp" + ).to_crs(27700) + wal_polygons.geometry = wal_polygons.geometry.make_valid() + wal = gpd.sjoin( + wal_points, + wal_polygons[["brma_name", "geometry"]], + how="left", + predicate="intersects", + ) + assert wal.LSOA21CD.is_unique + assert set(wal.loc[wal.brma_name.isna(), "LSOA21CD"]) == { + c for c in LSOA_OVERRIDES if c.startswith("W") + }, "Welsh override set changed" + wal["brma"] = wal.brma_name.map(lambda n: brma_key(n) if pd.notna(n) else None) + wal["brma"] = wal.brma.fillna(wal.LSOA21CD.map(LSOA_OVERRIDES)) + xw = pd.concat( + [ + eng[eng.brma.notna()].sort_values("LSOA21CD"), + wal.sort_values("LSOA21CD"), + outside.sort_values("LSOA21CD"), + ], + ignore_index=True, + )[["LSOA21CD", "brma"]] + regional = ( + hierarchy[["LSOA21CD", "rgn22cd"]] + .drop_duplicates() + .set_index("LSOA21CD") + .rgn22cd.map(regions) + ) + xw["region"] = xw.LSOA21CD.map(regional) + xw.loc[xw.LSOA21CD.str.startswith("W"), "region"] = "WALES" + assert xw.region.notna().all() and xw.LSOA21CD.is_unique + return xw.rename(columns={"LSOA21CD": "area_code"}) + + +def england_and_wales(cache, entries): + with zipfile.ZipFile(cache / "census_nomis_ts054.zip") as z: + ts = pd.read_csv(io.BytesIO(z.read("census2021-ts054-lsoa.csv"))) + col = "Tenure of household: Private rented" + assert ( + ts[col] + .eq( + ts[col + ": Private landlord or letting agency"] + + ts[col + ": Other private rented"] + ) + .all() + ) + prs = ts.set_index("geography code")[col].astype(float) + rows = [] + paths = sorted( + cache / e["filename"] + for e in entries + if e["filename"].startswith( + ("census_lsoa_tenure5a_bedrooms_", "census_wales_lsoa_tenure5a_bedrooms_") + ) + ) + for path in paths: + data = read_json(path) + assert not data.get("blocked_areas"), path + for observation in data["observations"]: + area, tenure, beds = (d["option_id"] for d in observation["dimensions"]) + if tenure == "3" and beds in {"1", "2", "3", "4"}: + rows.append( + (area, "4+" if beds == "4" else beds, observation["observation"]) + ) + mix = pd.DataFrame(rows, columns=["lsoa", "bedrooms", "n"]).pivot_table( + index="lsoa", columns="bedrooms", values="n", aggfunc="sum" + ) + mix = mix.div(mix.sum(axis=1), axis=0) + xw = lsoa_geography(cache) + assert set(xw.area_code) == set(prs.index) == set(mix.index) + assert mix.notna().all().all() or prs[mix.isna().any(axis=1)].eq(0).all() + cells = mix.fillna(0).mul(prs, axis=0).stack().rename("households").reset_index() + cells.columns = ["area_code", "bedrooms", "households"] + out = xw.merge(cells, on="area_code") + return out.groupby(["region", "brma", "bedrooms"], as_index=False).households.sum() + + +def scotland(cache): + """Allocate ward tenure × bedrooms using OA household-weighted BRMA shares.""" + + def name(value): + value = re.sub(r"\s*/\s*", " AND ", value.strip()).upper().replace(" ", "_") + return "AYRSHIRES" if value == "AYRSHIRE" else value + + def postcode(value): + key = re.sub(r"\s+", "", str(value).upper()) + match = re.fullmatch(r"([A-Z]{1,2}[0-9][0-9A-Z]?[0-9][A-Z]{2})[A-Z]?", key) + if not match: + raise ValueError(f"Invalid Scottish postcode: {value!r}") + return match.group(1) + + brmas = gpd.read_file(f"zip://{cache / 'scot_brma_boundaries_2009.zip'}") + assert brmas.geometry.is_valid.all() and len(brmas) == 18 + brmas["brma"] = brmas.BRMAName.map(name) + oas = gpd.read_file( + f"zip://{cache / 'scot_oa2022_population_weighted_centroids.zip'}!OutputArea2022_PWC/OutputArea2022_PWC.shp" + ) + oas = oas.rename(columns={"code": "area_code", "HHcount": "households"}).to_crs( + brmas.crs + ) + assert len(oas) == 46363 and not oas.area_code.duplicated().any() + matches = gpd.sjoin( + oas, brmas[["brma", "geometry"]], how="left", predicate="within" + ) + missing = matches.loc[matches.brma.isna(), "area_code"] + boundary = gpd.sjoin( + oas[oas.area_code.isin(missing)], + brmas[["brma", "geometry"]], + how="left", + predicate="intersects", + ) + matches = pd.concat( + [matches[~matches.area_code.isin(missing)], boundary], ignore_index=True + ) + single = matches[ + matches.area_code.map(matches.groupby("area_code").brma.count()).eq(1) + ] + oas = oas.drop(columns="geometry").merge( + single[["area_code", "brma"]], on="area_code", how="left", validate="one_to_one" + ) + original_brma = oas.brma.copy() + official = pd.read_excel( + cache / "scot_foi_postcodes_brma_2023.xlsx", usecols=[0, 1], dtype=str + ) + official.columns = ["brma", "postcode"] + official["postcode"] = official.postcode.map(postcode) + official["brma"] = official.brma.map(name) + candidates = official.groupby("postcode").brma.agg(lambda x: set(x)) + oas["candidates"] = oas.masterpc.map(postcode).map(candidates) + unique = oas.candidates.map( + lambda x: next(iter(x)) if isinstance(x, set) and len(x) == 1 else None + ) + oas["brma"] = oas.brma.fillna(unique) + assert oas.brma.notna().all(), "OA outside polygons without unique postcode BRMA" + with zipfile.ZipFile(cache / "scot_census2022_geography_index.zip") as z: + higher = pd.read_csv( + z.open("Census_2022_Index/OA_TO_HIGHER_AREAS.csv"), + encoding="utf-8-sig", + usecols=["OA2022", "EW2022", "CA2019"], + ) + oas = oas.merge( + higher, left_on="area_code", right_on="OA2022", validate="one_to_one" + ) + conflict = pd.Series( + [ + isinstance(cs, set) and pd.notna(b) and b not in cs + for b, cs in zip(original_brma, oas.candidates) + ], + index=oas.index, + ) + oas.loc[conflict & unique.notna(), "brma"] = unique + unresolved = conflict & unique.isna() + assert set(oas.loc[unresolved, "area_code"]) == set(SCOTTISH_OVERRIDES), ( + "Scottish override set changed" + ) + assert oas.loc[unresolved, "CA2019"].eq("S12000039").all() + # Clear unresolved polygon assignments before applying the documented exceptions. + oas.loc[unresolved, "brma"] = None + assert set(oas.loc[oas.brma.isna(), "area_code"]) == set(SCOTTISH_OVERRIDES) + oas["brma"] = oas.brma.fillna(oas.area_code.map(SCOTTISH_OVERRIDES)) + assert all( + not isinstance(cs, set) or b in cs for b, cs in zip(oas.brma, oas.candidates) + ) + shares = oas.groupby(["EW2022", "brma"], as_index=False).households.sum() + shares["share"] = shares.households / shares.EW2022.map( + oas.groupby("EW2022").households.sum() + ) + shares = shares.rename(columns={"EW2022": "area_code"}) + assert shares.area_code.nunique() == 355 + assert shares.groupby("area_code").share.sum().sub(1).abs().max() < 1e-12 + + with (cache / "census_2022_ward2022_tenure_bedrooms.csv").open( + encoding="utf-8-sig", newline="" + ) as f: + rows = list(csv.reader(f)) + assert ["Counting: Households"] in rows and not any( + r and r[0].strip() == "ERROR" for r in rows + ) + tenures = { + "Private rented: Private landlord or letting agency": "private_rented_landlord_or_agent", + "Private rented: Other": "private_rented_other", + } + bands = { + "One bedroom": "1", + "Two bedrooms": "2", + "Three bedrooms": "3", + "Four bedrooms": "4+", + "Five or more bedrooms": "4+", + } + records, tenure, headers = [], None, None + for row in rows: + if not row: + continue + label = row[0].strip() + if len(row) == 1: + tenure = tenures.get(label) + elif label == "Number of bedrooms": + headers = row[1:] + elif tenure and re.fullmatch(r"S13\d{6}", label): + for bedroom, value in zip(headers, row[1:], strict=True): + if bedroom in bands: + records.append((label, bands[bedroom], tenure, int(value))) + census = pd.DataFrame( + records, columns=["area_code", "bedrooms", "tenure", "households"] + ) + census = census.groupby( + ["area_code", "bedrooms", "tenure"], as_index=False + ).households.sum() + assert len(census) == 355 * 4 * 2 and set(census.area_code) == set(shares.area_code) + joined = census.merge(shares[["area_code", "brma", "share"]], on="area_code") + joined["households"] *= joined.share + output = joined.groupby( + ["brma", "bedrooms", "tenure"], as_index=False + ).households.sum() + output = output.groupby(["brma", "bedrooms"], as_index=False).households.sum() + output["region"] = "SCOTLAND" + return output[["region", "brma", "bedrooms", "households"]] + + +def northern_ireland(cache): + """Allocate Data Zone private tenure totals by NIHE postcode-district BRMA.""" + names = { + "Belfast": "BELFAST", + "Lough Neagh Lower": "LOUGH_NEAGH_LOWER", + "Lough Neagh Upper": "LOUGH_NEAGH_UPPER", + "North": "NORTH_NI", + "North West": "NORTH_WEST_NI", + "South East": "SOUTH_EAST_NI", + "South": "SOUTH_NI", + "South West": "SOUTH_WEST_NI", + } + text = html.unescape( + re.sub( + r"<[^>]+>", " ", (cache / "nihe_current_lha_archive_2021.html").read_text() + ) + ) + choices = "|".join(sorted(names, key=len, reverse=True)) + records = re.findall(rf"({choices}) BRMA:\s*((?:BT|[\d,\s\-])+)", text) + assert len(records) == 8 + memberships = {} + for name, districts in records: + for first, last in re.findall(r"BT(\d+)(?:-BT(\d+))?", districts): + for number in range(int(first), int(last or first) + 1): + district = f"BT{number}" + assert district not in memberships + memberships[district] = names[name] + assert len(memberships) == 80 + pages = [ + json.loads((cache / f"ons_onspd_feb2026_ni_p{i}.json").read_text()) + for i in range(2) + ] + onspd = pd.DataFrame([f["attributes"] for page in pages for f in page["features"]]) + assert len(onspd) == 63179 and onspd.pcds.is_unique + onspd["district"] = onspd.pcds.str.split().str[0] + onspd["brma"] = onspd.district.map(memberships) + obsolete = onspd[onspd.brma.isna()] + assert obsolete.doterm.notna().all() and obsolete.doterm.le("202103").all() + onspd = onspd[onspd.brma.notna()].copy() + census = pd.read_excel( + cache / "nisra_census2021_postcode_households.xlsx", + sheet_name="Postcode", + header=5, + ).rename(columns={"Postcode": "pcds"}) + census = census.merge(onspd, on="pcds", how="left", validate="one_to_one") + assert census.brma.notna().all() + census["households"] = pd.to_numeric(census.Households, errors="coerce") + suppressed = census.Households.eq("*") + assert (census.households.notna() | suppressed).all() + averages = pd.read_excel( + cache / "nisra_census2021_postcode_households.xlsx", + sheet_name="Suppressed averages", + header=5, + ) + averages = averages.set_index(averages["Postcode district"].str.strip())[ + "Average households per supressed Postcode" + ] + census.loc[suppressed, "households"] = census.loc[suppressed, "district"].map( + averages + ) + assert census.households.notna().all(), ( + "Suppressed postcode missing district average" + ) + # Whole-zone assignment follows every in-scope ONSPD postcode, not just census ones. + singleton = onspd.groupby("oa21cd").brma.agg( + lambda s: s.iloc[0] if s.nunique() == 1 else None + ) + singleton = singleton.dropna().rename("brma").reset_index() + singleton["share"] = 1.0 + mixed = census[census.oa21cd.notna() & ~census.oa21cd.isin(singleton.oa21cd)] + weights = mixed.groupby(["oa21cd", "brma"]).households.sum() + shares = ( + (weights / weights.groupby(level=0).transform("sum")) + .rename("share") + .reset_index() + ) + # The lane excludes zero-weight shares on mixed zones without suppressed counts. + shares = shares[shares.share > 0] + crosswalk = pd.concat([singleton, shares], ignore_index=True).rename( + columns={"oa21cd": "area_code"} + ) + assert crosswalk.area_code.nunique() == 3780 + assert crosswalk.groupby("area_code").share.sum().sub(1).abs().max() < 1e-9 + tenure = pd.read_csv(cache / "tenure_7_data_zones.csv") + tenure.columns = [ + "area_code", + "area_name", + "tenure_code", + "tenure_label", + "households", + ] + assert len(tenure) == 3780 * 7 and tenure.area_code.nunique() == 3780 + private = ( + tenure[tenure.tenure_code.isin([5, 6])].groupby("area_code").households.sum() + ) + assert set(private.index) == set(crosswalk.area_code) + out = crosswalk.merge(private.rename("households"), on="area_code") + out["households"] *= out.share + out = out.groupby("brma", as_index=False).households.sum() + out["region"], out["bedrooms"] = "NORTHERN_IRELAND", "all" + return out[["region", "brma", "bedrooms", "households"]] + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("cache", type=Path) + parser.add_argument( + "--output", + type=Path, + default=Path("policyengine_uk_data/storage/brma_private_rented_households.csv"), + ) + args = parser.parse_args() + entries = sources() + verify_cache(args.cache, entries) + table = pd.concat( + [ + england_and_wales(args.cache, entries), + scotland(args.cache), + northern_ireland(args.cache), + ], + ignore_index=True, + ) + table = table[table.households > 0].copy() + table["households"] = table.households.round().astype(int) + table = table[table.households > 0].sort_values(["region", "brma", "bedrooms"]) + data = ( + table[["region", "brma", "bedrooms", "households"]] + .to_csv(index=False, lineterminator="\n") + .encode("utf-8") + ) + digest = hashlib.sha256(data).hexdigest() + expected = "3ba714d4f5267656f19cd60785da379804420f633aa4c5745bdd0fba20473e72" + if digest != expected: + raise ValueError(f"Rebuilt table differs: expected {expected}, got {digest}") + args.output.write_bytes(data) + print(f"Wrote {len(table)} rows to {args.output}; SHA256 {digest}") + + +if __name__ == "__main__": + main() diff --git a/tools/brma_households/fetch.py b/tools/brma_households/fetch.py new file mode 100644 index 000000000..be7fc7bfa --- /dev/null +++ b/tools/brma_households/fetch.py @@ -0,0 +1,126 @@ +#!/usr/bin/env python3 +"""Fetch pinned originals without a login, browser session or accepting terms.""" + +import argparse +import gzip +import hashlib +from pathlib import Path +import shutil +from urllib.request import Request, urlopen + +import yaml + + +def sources(): + entries = yaml.safe_load(Path(__file__).with_name("sources.yaml").read_text()) + required = { + "id", + "publisher", + "title", + "url", + "landing_page", + "licence", + "notes", + "filename", + } + ids, filenames = set(), set() + for entry in entries: + if not required <= entry.keys() or not ( + {"sha256", "content_sha256"} & entry.keys() + ): + raise ValueError(f"Incomplete source: {entry.get('id')}") + name = entry["filename"] + if entry["id"] in ids or name in filenames or Path(name).name != name: + raise ValueError(f"Duplicate source or unsafe cache filename: {name}") + ids.add(entry["id"]) + filenames.add(name) + return entries + + +def decoded_content(path): + data = path.read_bytes() + return gzip.decompress(data) if data.startswith(b"\x1f\x8b") else data + + +def verify(path, entry): + if not path.is_file(): + instructions = f"\n{entry['notes']}" if entry.get("manual") else "" + raise FileNotFoundError(f"Missing source {entry['id']}: {path}{instructions}") + if "content_sha256" in entry: + actual = hashlib.sha256(decoded_content(path)).hexdigest() + expected = entry["content_sha256"] + else: + with path.open("rb") as stream: + actual = hashlib.file_digest(stream, "sha256").hexdigest() + expected = entry["sha256"] + if actual != expected: + raise ValueError( + f"SHA256 mismatch for {entry['id']}: expected {expected}, got {actual}" + ) + + +def verify_cache(cache, entries): + """Check every original before the builder interprets any source.""" + for entry in entries: + verify(cache / entry["filename"], entry) + + +def fetch(cache, entries): + cache.mkdir(parents=True, exist_ok=True) + missing = [] + for entry in entries: + path = cache / entry["filename"] + if not path.exists() and entry.get("manual"): + print(f"Manual download required: {path}\n{entry['notes']}", flush=True) + missing.append(entry["id"]) + continue + if not path.exists(): + print(f"Downloading {entry['id']}", flush=True) + request = Request( + entry["url"], + headers={ + "User-Agent": "BRMA-household-pipeline/1.0", + "Accept-Encoding": "gzip" if path.suffix == ".gz" else "identity", + }, + ) + temporary = path.with_name(path.name + ".part") + try: + # Keep entity bytes; custom-API pins verify decoded content instead. + with ( + urlopen(request, timeout=180) as response, + temporary.open("wb") as stream, + ): + shutil.copyfileobj(response, stream) + verify(temporary, entry) + temporary.replace(path) + finally: + temporary.unlink(missing_ok=True) + verify(path, entry) + print(f"Verified {entry['id']}", flush=True) + if missing: + raise FileNotFoundError( + "Supply the manual downloads above: " + ", ".join(missing) + ) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("cache", type=Path) + parser.add_argument( + "--only", + nargs="+", + metavar="SOURCE_ID", + help="Fetch/verify selected sources (default: all)", + ) + args = parser.parse_args() + entries = sources() + if args.only: + unknown = set(args.only) - {entry["id"] for entry in entries} + if unknown: + parser.error("Unknown source IDs: " + ", ".join(sorted(unknown))) + entries = [entry for entry in entries if entry["id"] in args.only] + fetch(args.cache, entries) + + +if __name__ == "__main__": + main() diff --git a/tools/brma_households/sources.yaml b/tools/brma_households/sources.yaml new file mode 100644 index 000000000..9135569da --- /dev/null +++ b/tools/brma_households/sources.yaml @@ -0,0 +1,1063 @@ +- id: census_lsoa_tenure5a_bedrooms_001 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 001 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01000001,E01000002,E01000003,E01000005,E01000006,E01000007,E01000008,E01000009,E01000011,E01000012,E01000013,E01000014,E01000015,E01000016,E01000017,E01000018,E01000019,E01000020,E01000021,E01000022,E01000024,E01000025,E01000027,E01000028,E01000029,E01000030,E01000031,E01000032,E01000033,E01000034,E01000035,E01000036,E01000037,E01000038,E01000039,E01000040,E01000041,E01000042,E01000043,E01000044,E01000045,E01000046,E01000049,E01000050,E01000051,E01000052,E01000053,E01000054,E01000055,E01000056,E01000057,E01000058,E01000059,E01000060,E01000061,E01000062,E01000063,E01000064,E01000065,E01000066,E01000067,E01000068,E01000069,E01000070,E01000071,E01000072,E01000073,E01000074,E01000075,E01000076,E01000077,E01000078,E01000079,E01000080,E01000081,E01000082,E01000083,E01000084,E01000085,E01000086,E01000087,E01000088,E01000089,E01000090,E01000091,E01000093,E01000094,E01000095,E01000096,E01000097,E01000098,E01000099,E01000100,E01000101,E01000102,E01000103,E01000104,E01000105,E01000106,E01000107,E01000108,E01000110,E01000111,E01000112,E01000113,E01000114,E01000115,E01000116,E01000117,E01000118,E01000119,E01000120,E01000121,E01000122,E01000123,E01000124,E01000126,E01000127,E01000128,E01000129,E01000130,E01000131,E01000132,E01000133,E01000134,E01000135,E01000136,E01000137,E01000138,E01000139,E01000140,E01000141,E01000142,E01000143,E01000144,E01000145,E01000146,E01000147,E01000150,E01000151,E01000152,E01000153,E01000154,E01000156,E01000157,E01000158,E01000159,E01000160,E01000161,E01000162,E01000163,E01000164,E01000165,E01000166,E01000167,E01000168,E01000169,E01000170,E01000171,E01000172,E01000173,E01000174,E01000175,E01000176,E01000177,E01000178,E01000179,E01000180,E01000181,E01000182,E01000183,E01000184,E01000185,E01000186,E01000187,E01000188,E01000189,E01000190,E01000191,E01000192,E01000193,E01000194,E01000195,E01000196,E01000197,E01000198,E01000199,E01000200,E01000201,E01000202,E01000203,E01000204,E01000205,E01000206,E01000207,E01000208,E01000209,E01000210,E01000211,E01000212,E01000213,E01000214,E01000215,E01000216,E01000217,E01000218,E01000219,E01000220,E01000221,E01000222,E01000223,E01000224,E01000225,E01000226,E01000227,E01000228,E01000229,E01000230,E01000231,E01000232,E01000233,E01000234,E01000235,E01000236,E01000237,E01000238,E01000239,E01000240,E01000241,E01000242,E01000243,E01000244,E01000245,E01000246,E01000247,E01000248,E01000249,E01000250,E01000251,E01000252,E01000253,E01000254,E01000255,E01000256,E01000257,E01000258,E01000259,E01000260,E01000261,E01000263,E01000264,E01000265,E01000266,E01000267,E01000268,E01000269,E01000270,E01000271,E01000272,E01000273,E01000274,E01000275,E01000276,E01000277,E01000278,E01000279,E01000280,E01000281,E01000282,E01000283,E01000284,E01000285,E01000286,E01000287,E01000288,E01000289,E01000290,E01000291,E01000292,E01000293,E01000294,E01000295,E01000296,E01000297,E01000298,E01000299,E01000300,E01000301,E01000302,E01000303,E01000304,E01000305,E01000306,E01000307,E01000308,E01000309,E01000310,E01000311,E01000312,E01000313,E01000314,E01000315,E01000316,E01000317,E01000318,E01000319,E01000320,E01000321,E01000322,E01000323,E01000324,E01000325,E01000326,E01000327,E01000328,E01000329,E01000330,E01000331,E01000332,E01000333,E01000334,E01000335,E01000336,E01000337,E01000338,E01000339,E01000340,E01000341,E01000342,E01000343,E01000344,E01000345,E01000346,E01000347,E01000348,E01000349,E01000350,E01000351,E01000352,E01000353,E01000354,E01000355,E01000356,E01000357,E01000358,E01000359,E01000360,E01000361,E01000362,E01000363,E01000364,E01000365,E01000366,E01000367,E01000368,E01000369,E01000370,E01000371,E01000372,E01000373,E01000374,E01000375,E01000376,E01000377,E01000379,E01000380,E01000381,E01000382,E01000383,E01000384,E01000385,E01000386,E01000387,E01000388,E01000389,E01000390,E01000391,E01000392,E01000393,E01000394,E01000395,E01000396,E01000398,E01000399,E01000400,E01000401,E01000402,E01000403,E01000404,E01000405,E01000406,E01000407,E01000408,E01000409,E01000410,E01000411,E01000412,E01000413,E01000414,E01000415,E01000416,E01000417,E01000418,E01000419,E01000420,E01000421,E01000422,E01000423,E01000424,E01000425,E01000426,E01000427,E01000428,E01000429,E01000430,E01000431,E01000433,E01000434,E01000435,E01000436,E01000437,E01000438,E01000439,E01000440,E01000441,E01000442,E01000443,E01000444,E01000445,E01000446,E01000447,E01000448,E01000449,E01000450,E01000451,E01000452,E01000453,E01000454,E01000455,E01000456,E01000457,E01000458,E01000459,E01000460,E01000461,E01000462,E01000463,E01000464,E01000465,E01000466,E01000467,E01000468,E01000469,E01000470,E01000471,E01000472,E01000473,E01000474,E01000475,E01000476,E01000477,E01000478,E01000479,E01000480,E01000481,E01000483,E01000484,E01000485,E01000486,E01000487,E01000488,E01000489,E01000490,E01000491,E01000492,E01000493,E01000494,E01000495,E01000497,E01000498,E01000499,E01000501,E01000502,E01000503,E01000504,E01000505,E01000506,E01000507,E01000508,E01000509,E01000510,E01000511,E01000512,E01000513,E01000514,E01000515,E01000516,E01000517,E01000518,E01000519&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_001.json.gz + content_sha256: 2c0395055bd054fda769f99aaa1acb0f23317afa5408fc9a98112a9c6bb2f255 +- id: census_lsoa_tenure5a_bedrooms_002 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 002 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01000520,E01000521,E01000522,E01000523,E01000524,E01000525,E01000526,E01000527,E01000528,E01000530,E01000531,E01000532,E01000533,E01000534,E01000535,E01000536,E01000538,E01000539,E01000540,E01000541,E01000543,E01000544,E01000545,E01000546,E01000547,E01000548,E01000549,E01000550,E01000551,E01000552,E01000553,E01000554,E01000555,E01000556,E01000557,E01000558,E01000559,E01000560,E01000561,E01000562,E01000563,E01000564,E01000565,E01000566,E01000567,E01000568,E01000569,E01000570,E01000571,E01000572,E01000573,E01000574,E01000575,E01000576,E01000577,E01000578,E01000579,E01000580,E01000581,E01000582,E01000583,E01000584,E01000585,E01000586,E01000587,E01000589,E01000590,E01000591,E01000592,E01000593,E01000594,E01000595,E01000596,E01000599,E01000601,E01000602,E01000603,E01000604,E01000605,E01000606,E01000607,E01000608,E01000609,E01000610,E01000611,E01000612,E01000613,E01000615,E01000616,E01000617,E01000618,E01000619,E01000620,E01000621,E01000622,E01000623,E01000624,E01000625,E01000626,E01000627,E01000628,E01000629,E01000630,E01000631,E01000632,E01000633,E01000634,E01000636,E01000637,E01000638,E01000639,E01000640,E01000641,E01000642,E01000643,E01000644,E01000645,E01000646,E01000647,E01000648,E01000649,E01000650,E01000651,E01000652,E01000653,E01000654,E01000655,E01000656,E01000657,E01000658,E01000659,E01000661,E01000662,E01000663,E01000664,E01000665,E01000666,E01000667,E01000668,E01000669,E01000670,E01000671,E01000672,E01000673,E01000674,E01000676,E01000677,E01000678,E01000679,E01000680,E01000681,E01000682,E01000683,E01000684,E01000685,E01000686,E01000687,E01000688,E01000689,E01000690,E01000691,E01000692,E01000693,E01000694,E01000695,E01000696,E01000697,E01000698,E01000699,E01000700,E01000701,E01000702,E01000703,E01000704,E01000705,E01000706,E01000707,E01000708,E01000709,E01000710,E01000711,E01000712,E01000713,E01000714,E01000715,E01000716,E01000717,E01000718,E01000719,E01000720,E01000721,E01000722,E01000723,E01000724,E01000725,E01000726,E01000727,E01000728,E01000729,E01000730,E01000731,E01000732,E01000733,E01000734,E01000735,E01000736,E01000737,E01000738,E01000739,E01000741,E01000742,E01000743,E01000744,E01000745,E01000746,E01000747,E01000748,E01000749,E01000750,E01000751,E01000752,E01000753,E01000754,E01000755,E01000756,E01000757,E01000758,E01000759,E01000760,E01000761,E01000762,E01000763,E01000764,E01000765,E01000766,E01000767,E01000768,E01000769,E01000770,E01000771,E01000772,E01000773,E01000774,E01000775,E01000777,E01000778,E01000779,E01000780,E01000781,E01000782,E01000783,E01000784,E01000785,E01000786,E01000787,E01000788,E01000789,E01000790,E01000791,E01000792,E01000793,E01000794,E01000795,E01000796,E01000797,E01000798,E01000799,E01000800,E01000801,E01000802,E01000803,E01000804,E01000805,E01000806,E01000807,E01000808,E01000809,E01000810,E01000811,E01000812,E01000813,E01000814,E01000815,E01000816,E01000818,E01000819,E01000820,E01000822,E01000823,E01000824,E01000825,E01000826,E01000827,E01000828,E01000829,E01000830,E01000831,E01000832,E01000833,E01000834,E01000835,E01000836,E01000837,E01000838,E01000839,E01000840,E01000841,E01000842,E01000843,E01000844,E01000845,E01000846,E01000847,E01000848,E01000849,E01000850,E01000851,E01000853,E01000855,E01000856,E01000857,E01000858,E01000859,E01000860,E01000861,E01000862,E01000863,E01000866,E01000867,E01000868,E01000869,E01000870,E01000871,E01000872,E01000873,E01000874,E01000875,E01000876,E01000877,E01000878,E01000879,E01000880,E01000881,E01000882,E01000883,E01000884,E01000885,E01000886,E01000887,E01000888,E01000889,E01000890,E01000891,E01000892,E01000893,E01000894,E01000895,E01000896,E01000897,E01000898,E01000899,E01000900,E01000901,E01000902,E01000903,E01000904,E01000905,E01000906,E01000907,E01000908,E01000909,E01000910,E01000911,E01000912,E01000913,E01000914,E01000915,E01000916,E01000917,E01000918,E01000919,E01000920,E01000921,E01000922,E01000923,E01000924,E01000925,E01000926,E01000927,E01000928,E01000929,E01000930,E01000931,E01000932,E01000933,E01000934,E01000935,E01000937,E01000938,E01000939,E01000941,E01000942,E01000943,E01000944,E01000946,E01000947,E01000948,E01000949,E01000951,E01000952,E01000954,E01000955,E01000956,E01000957,E01000958,E01000959,E01000960,E01000961,E01000962,E01000963,E01000964,E01000965,E01000966,E01000967,E01000968,E01000969,E01000970,E01000971,E01000972,E01000973,E01000974,E01000975,E01000976,E01000977,E01000978,E01000979,E01000980,E01000981,E01000982,E01000983,E01000984,E01000985,E01000986,E01000987,E01000989,E01000990,E01000991,E01000992,E01000993,E01000994,E01000995,E01000996,E01000997,E01000998,E01000999,E01001000,E01001001,E01001002,E01001003,E01001004,E01001005,E01001006,E01001007,E01001008,E01001009,E01001010,E01001011,E01001012,E01001013,E01001015,E01001016,E01001017,E01001018,E01001019,E01001020,E01001021,E01001022,E01001023,E01001024,E01001025,E01001026,E01001027,E01001028,E01001029,E01001030,E01001031,E01001032,E01001033,E01001034,E01001035,E01001036,E01001037,E01001038,E01001039,E01001040,E01001041,E01001042,E01001044,E01001046,E01001047&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_002.json.gz + content_sha256: beb8c647f39d8e239002c273d03b1dcfb33cffe927892747c7f2cb4a8171d90a +- id: census_lsoa_tenure5a_bedrooms_003 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 003 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01001049,E01001050,E01001051,E01001052,E01001053,E01001054,E01001055,E01001056,E01001057,E01001058,E01001059,E01001060,E01001061,E01001062,E01001063,E01001064,E01001065,E01001066,E01001067,E01001068,E01001069,E01001070,E01001071,E01001072,E01001073,E01001074,E01001075,E01001076,E01001077,E01001078,E01001079,E01001080,E01001081,E01001082,E01001083,E01001084,E01001085,E01001086,E01001087,E01001088,E01001089,E01001090,E01001091,E01001092,E01001093,E01001094,E01001095,E01001096,E01001097,E01001098,E01001099,E01001100,E01001101,E01001102,E01001103,E01001104,E01001105,E01001106,E01001107,E01001108,E01001109,E01001110,E01001111,E01001112,E01001113,E01001114,E01001115,E01001116,E01001118,E01001119,E01001120,E01001121,E01001122,E01001123,E01001124,E01001125,E01001126,E01001127,E01001128,E01001129,E01001130,E01001131,E01001132,E01001133,E01001134,E01001135,E01001136,E01001137,E01001138,E01001139,E01001140,E01001141,E01001142,E01001143,E01001144,E01001145,E01001146,E01001147,E01001148,E01001149,E01001150,E01001151,E01001152,E01001153,E01001154,E01001155,E01001156,E01001157,E01001158,E01001159,E01001160,E01001161,E01001162,E01001163,E01001164,E01001165,E01001166,E01001167,E01001168,E01001169,E01001170,E01001171,E01001172,E01001173,E01001174,E01001175,E01001176,E01001177,E01001178,E01001179,E01001180,E01001181,E01001182,E01001183,E01001184,E01001185,E01001186,E01001187,E01001188,E01001189,E01001190,E01001191,E01001192,E01001193,E01001194,E01001195,E01001196,E01001197,E01001198,E01001199,E01001200,E01001201,E01001202,E01001203,E01001204,E01001205,E01001206,E01001207,E01001208,E01001209,E01001210,E01001211,E01001212,E01001213,E01001214,E01001215,E01001216,E01001217,E01001218,E01001219,E01001220,E01001223,E01001224,E01001225,E01001226,E01001227,E01001228,E01001229,E01001230,E01001231,E01001232,E01001233,E01001234,E01001235,E01001236,E01001237,E01001239,E01001240,E01001241,E01001242,E01001243,E01001244,E01001245,E01001246,E01001247,E01001248,E01001249,E01001250,E01001251,E01001252,E01001253,E01001254,E01001255,E01001257,E01001258,E01001259,E01001260,E01001261,E01001262,E01001263,E01001264,E01001265,E01001266,E01001267,E01001268,E01001269,E01001270,E01001271,E01001272,E01001273,E01001274,E01001275,E01001276,E01001277,E01001278,E01001279,E01001280,E01001281,E01001282,E01001283,E01001284,E01001285,E01001286,E01001287,E01001288,E01001289,E01001290,E01001291,E01001292,E01001293,E01001294,E01001295,E01001296,E01001297,E01001298,E01001299,E01001300,E01001301,E01001302,E01001303,E01001304,E01001305,E01001306,E01001307,E01001308,E01001309,E01001310,E01001311,E01001312,E01001313,E01001314,E01001315,E01001316,E01001317,E01001318,E01001319,E01001320,E01001321,E01001322,E01001323,E01001324,E01001325,E01001326,E01001327,E01001328,E01001329,E01001330,E01001331,E01001332,E01001333,E01001334,E01001335,E01001336,E01001337,E01001338,E01001339,E01001340,E01001341,E01001342,E01001343,E01001344,E01001345,E01001346,E01001347,E01001348,E01001349,E01001350,E01001351,E01001352,E01001353,E01001354,E01001355,E01001356,E01001357,E01001358,E01001359,E01001360,E01001361,E01001362,E01001363,E01001364,E01001365,E01001366,E01001367,E01001368,E01001369,E01001370,E01001371,E01001372,E01001373,E01001374,E01001375,E01001376,E01001377,E01001379,E01001380,E01001381,E01001382,E01001383,E01001384,E01001385,E01001386,E01001387,E01001388,E01001389,E01001390,E01001391,E01001392,E01001393,E01001394,E01001395,E01001396,E01001397,E01001398,E01001399,E01001400,E01001401,E01001402,E01001403,E01001404,E01001405,E01001406,E01001407,E01001408,E01001409,E01001410,E01001411,E01001412,E01001413,E01001414,E01001415,E01001416,E01001417,E01001418,E01001419,E01001420,E01001421,E01001422,E01001423,E01001424,E01001425,E01001426,E01001427,E01001428,E01001429,E01001430,E01001431,E01001432,E01001433,E01001434,E01001435,E01001436,E01001437,E01001438,E01001439,E01001440,E01001441,E01001442,E01001444,E01001445,E01001446,E01001447,E01001448,E01001449,E01001450,E01001451,E01001452,E01001453,E01001454,E01001455,E01001456,E01001457,E01001458,E01001459,E01001460,E01001461,E01001462,E01001463,E01001464,E01001465,E01001466,E01001467,E01001468,E01001469,E01001470,E01001471,E01001472,E01001473,E01001474,E01001475,E01001476,E01001477,E01001478,E01001479,E01001480,E01001481,E01001482,E01001483,E01001484,E01001485,E01001486,E01001487,E01001488,E01001489,E01001491,E01001492,E01001493,E01001494,E01001495,E01001496,E01001497,E01001498,E01001499,E01001500,E01001501,E01001502,E01001503,E01001504,E01001505,E01001507,E01001508,E01001509,E01001511,E01001512,E01001513,E01001514,E01001515,E01001516,E01001517,E01001518,E01001520,E01001521,E01001522,E01001523,E01001524,E01001525,E01001526,E01001527,E01001528,E01001529,E01001530,E01001531,E01001532,E01001533,E01001534,E01001535,E01001536,E01001537,E01001538,E01001539,E01001540,E01001541,E01001542,E01001543,E01001544,E01001545,E01001546,E01001547,E01001548,E01001549,E01001550,E01001551,E01001552,E01001553,E01001554,E01001555,E01001556,E01001557,E01001558,E01001559&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_003.json.gz + content_sha256: b79c9c84f0e058c95fd6ef1639579eba119195328859ed83d699fc292c2d78ad +- id: census_lsoa_tenure5a_bedrooms_004 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 004 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01001560,E01001562,E01001563,E01001564,E01001565,E01001566,E01001567,E01001568,E01001569,E01001570,E01001571,E01001572,E01001573,E01001574,E01001575,E01001576,E01001577,E01001578,E01001579,E01001580,E01001581,E01001582,E01001583,E01001584,E01001585,E01001586,E01001587,E01001588,E01001589,E01001590,E01001591,E01001592,E01001593,E01001594,E01001595,E01001596,E01001597,E01001598,E01001599,E01001600,E01001601,E01001602,E01001603,E01001604,E01001605,E01001606,E01001607,E01001608,E01001609,E01001610,E01001611,E01001613,E01001614,E01001615,E01001617,E01001618,E01001619,E01001620,E01001621,E01001623,E01001624,E01001625,E01001629,E01001631,E01001632,E01001633,E01001634,E01001635,E01001636,E01001637,E01001638,E01001641,E01001642,E01001644,E01001645,E01001646,E01001647,E01001648,E01001649,E01001650,E01001651,E01001652,E01001653,E01001654,E01001655,E01001656,E01001657,E01001658,E01001659,E01001660,E01001661,E01001664,E01001665,E01001666,E01001669,E01001671,E01001672,E01001673,E01001674,E01001675,E01001676,E01001677,E01001678,E01001679,E01001680,E01001681,E01001682,E01001683,E01001684,E01001685,E01001686,E01001687,E01001688,E01001690,E01001692,E01001693,E01001694,E01001695,E01001696,E01001697,E01001698,E01001699,E01001700,E01001701,E01001702,E01001703,E01001704,E01001705,E01001708,E01001710,E01001712,E01001714,E01001715,E01001716,E01001717,E01001718,E01001719,E01001720,E01001722,E01001723,E01001724,E01001725,E01001726,E01001727,E01001728,E01001729,E01001730,E01001731,E01001732,E01001733,E01001734,E01001735,E01001736,E01001737,E01001738,E01001739,E01001740,E01001741,E01001742,E01001744,E01001745,E01001746,E01001747,E01001749,E01001750,E01001751,E01001753,E01001755,E01001756,E01001757,E01001758,E01001759,E01001760,E01001761,E01001762,E01001763,E01001764,E01001765,E01001767,E01001768,E01001769,E01001770,E01001772,E01001773,E01001774,E01001775,E01001776,E01001777,E01001780,E01001781,E01001783,E01001784,E01001785,E01001786,E01001787,E01001788,E01001789,E01001790,E01001791,E01001792,E01001793,E01001794,E01001795,E01001796,E01001798,E01001799,E01001800,E01001801,E01001802,E01001803,E01001804,E01001805,E01001806,E01001807,E01001808,E01001809,E01001811,E01001812,E01001813,E01001814,E01001815,E01001816,E01001819,E01001820,E01001821,E01001822,E01001823,E01001824,E01001825,E01001826,E01001827,E01001828,E01001829,E01001830,E01001831,E01001832,E01001833,E01001834,E01001835,E01001836,E01001837,E01001838,E01001839,E01001840,E01001841,E01001842,E01001843,E01001844,E01001845,E01001846,E01001847,E01001848,E01001849,E01001850,E01001851,E01001852,E01001853,E01001854,E01001855,E01001856,E01001857,E01001858,E01001859,E01001860,E01001861,E01001862,E01001863,E01001864,E01001865,E01001866,E01001867,E01001868,E01001869,E01001870,E01001871,E01001872,E01001873,E01001875,E01001876,E01001877,E01001878,E01001879,E01001880,E01001881,E01001882,E01001883,E01001884,E01001885,E01001886,E01001887,E01001888,E01001889,E01001890,E01001891,E01001892,E01001893,E01001894,E01001895,E01001896,E01001897,E01001898,E01001899,E01001900,E01001901,E01001902,E01001903,E01001904,E01001905,E01001906,E01001907,E01001908,E01001909,E01001910,E01001911,E01001912,E01001913,E01001914,E01001915,E01001916,E01001917,E01001918,E01001919,E01001920,E01001921,E01001922,E01001923,E01001924,E01001925,E01001926,E01001927,E01001928,E01001929,E01001930,E01001931,E01001932,E01001933,E01001934,E01001935,E01001937,E01001938,E01001940,E01001941,E01001942,E01001943,E01001944,E01001945,E01001946,E01001947,E01001948,E01001949,E01001950,E01001951,E01001952,E01001953,E01001954,E01001955,E01001956,E01001957,E01001958,E01001959,E01001960,E01001961,E01001962,E01001963,E01001964,E01001965,E01001966,E01001967,E01001968,E01001969,E01001970,E01001971,E01001972,E01001973,E01001974,E01001975,E01001976,E01001977,E01001978,E01001979,E01001980,E01001981,E01001982,E01001983,E01001984,E01001985,E01001986,E01001987,E01001988,E01001989,E01001990,E01001991,E01001992,E01001993,E01001994,E01001995,E01001996,E01001997,E01001998,E01001999,E01002000,E01002001,E01002002,E01002003,E01002004,E01002005,E01002006,E01002007,E01002008,E01002009,E01002010,E01002011,E01002013,E01002014,E01002015,E01002016,E01002017,E01002018,E01002019,E01002020,E01002021,E01002022,E01002023,E01002024,E01002025,E01002026,E01002027,E01002028,E01002029,E01002030,E01002031,E01002032,E01002033,E01002034,E01002036,E01002037,E01002038,E01002039,E01002040,E01002041,E01002042,E01002043,E01002044,E01002045,E01002046,E01002047,E01002048,E01002049,E01002050,E01002051,E01002052,E01002053,E01002054,E01002055,E01002056,E01002057,E01002058,E01002059,E01002060,E01002061,E01002062,E01002063,E01002064,E01002065,E01002066,E01002067,E01002068,E01002069,E01002070,E01002071,E01002072,E01002073,E01002074,E01002075,E01002076,E01002077,E01002078,E01002079,E01002081,E01002082,E01002083,E01002084,E01002085,E01002086,E01002087,E01002088,E01002089,E01002090,E01002091,E01002092,E01002093,E01002094,E01002095,E01002096,E01002097,E01002098,E01002099,E01002100,E01002101,E01002102&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_004.json.gz + content_sha256: 0e425fc25ba556b447c0d91ea280d55ae563ab5ed21b8710e7466a01d2885b14 +- id: census_lsoa_tenure5a_bedrooms_005 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 005 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01002103,E01002104,E01002105,E01002106,E01002107,E01002108,E01002109,E01002110,E01002111,E01002112,E01002113,E01002114,E01002115,E01002116,E01002118,E01002119,E01002120,E01002121,E01002122,E01002123,E01002124,E01002125,E01002127,E01002128,E01002129,E01002130,E01002131,E01002132,E01002133,E01002134,E01002135,E01002136,E01002137,E01002138,E01002139,E01002140,E01002141,E01002142,E01002143,E01002144,E01002145,E01002146,E01002147,E01002148,E01002149,E01002150,E01002151,E01002152,E01002153,E01002155,E01002156,E01002157,E01002158,E01002159,E01002160,E01002161,E01002162,E01002163,E01002164,E01002165,E01002166,E01002167,E01002168,E01002169,E01002170,E01002171,E01002172,E01002173,E01002174,E01002175,E01002176,E01002177,E01002178,E01002179,E01002181,E01002182,E01002183,E01002184,E01002185,E01002186,E01002187,E01002188,E01002189,E01002190,E01002191,E01002192,E01002193,E01002194,E01002195,E01002196,E01002197,E01002198,E01002199,E01002200,E01002201,E01002202,E01002203,E01002204,E01002206,E01002207,E01002208,E01002209,E01002210,E01002211,E01002212,E01002214,E01002215,E01002216,E01002217,E01002218,E01002219,E01002220,E01002221,E01002222,E01002223,E01002224,E01002225,E01002226,E01002227,E01002228,E01002229,E01002230,E01002231,E01002232,E01002233,E01002234,E01002235,E01002236,E01002237,E01002238,E01002239,E01002240,E01002241,E01002242,E01002243,E01002244,E01002245,E01002246,E01002247,E01002248,E01002250,E01002251,E01002252,E01002253,E01002254,E01002255,E01002256,E01002257,E01002258,E01002259,E01002260,E01002261,E01002262,E01002263,E01002264,E01002265,E01002266,E01002267,E01002268,E01002269,E01002270,E01002271,E01002272,E01002273,E01002274,E01002275,E01002276,E01002277,E01002278,E01002279,E01002280,E01002281,E01002282,E01002283,E01002284,E01002285,E01002286,E01002287,E01002288,E01002289,E01002290,E01002291,E01002292,E01002294,E01002295,E01002296,E01002297,E01002298,E01002299,E01002300,E01002301,E01002302,E01002303,E01002304,E01002305,E01002306,E01002307,E01002308,E01002309,E01002310,E01002311,E01002312,E01002313,E01002314,E01002315,E01002316,E01002317,E01002318,E01002319,E01002320,E01002321,E01002322,E01002323,E01002324,E01002325,E01002326,E01002327,E01002328,E01002329,E01002330,E01002331,E01002332,E01002333,E01002334,E01002335,E01002336,E01002337,E01002338,E01002339,E01002340,E01002341,E01002342,E01002343,E01002344,E01002345,E01002346,E01002347,E01002348,E01002349,E01002350,E01002351,E01002352,E01002353,E01002354,E01002355,E01002356,E01002358,E01002359,E01002360,E01002361,E01002362,E01002363,E01002364,E01002365,E01002366,E01002367,E01002368,E01002369,E01002370,E01002371,E01002372,E01002373,E01002374,E01002375,E01002376,E01002377,E01002378,E01002379,E01002380,E01002381,E01002382,E01002383,E01002384,E01002385,E01002386,E01002387,E01002388,E01002389,E01002390,E01002391,E01002392,E01002393,E01002394,E01002395,E01002396,E01002397,E01002398,E01002399,E01002400,E01002401,E01002402,E01002403,E01002404,E01002405,E01002408,E01002409,E01002410,E01002411,E01002412,E01002413,E01002414,E01002415,E01002416,E01002417,E01002418,E01002419,E01002420,E01002421,E01002422,E01002423,E01002424,E01002425,E01002426,E01002427,E01002428,E01002429,E01002430,E01002431,E01002432,E01002433,E01002434,E01002435,E01002436,E01002437,E01002438,E01002439,E01002440,E01002441,E01002442,E01002443,E01002444,E01002445,E01002446,E01002447,E01002448,E01002449,E01002450,E01002451,E01002452,E01002453,E01002454,E01002455,E01002456,E01002457,E01002458,E01002459,E01002460,E01002461,E01002462,E01002463,E01002464,E01002465,E01002466,E01002467,E01002468,E01002469,E01002470,E01002471,E01002472,E01002473,E01002474,E01002475,E01002476,E01002477,E01002478,E01002479,E01002480,E01002481,E01002482,E01002483,E01002484,E01002485,E01002486,E01002487,E01002488,E01002489,E01002490,E01002491,E01002492,E01002493,E01002494,E01002495,E01002496,E01002497,E01002498,E01002499,E01002501,E01002502,E01002503,E01002505,E01002506,E01002507,E01002508,E01002509,E01002511,E01002512,E01002513,E01002514,E01002516,E01002518,E01002519,E01002520,E01002521,E01002523,E01002525,E01002526,E01002527,E01002528,E01002529,E01002530,E01002531,E01002533,E01002534,E01002535,E01002536,E01002537,E01002538,E01002539,E01002540,E01002541,E01002542,E01002543,E01002544,E01002545,E01002546,E01002547,E01002548,E01002549,E01002550,E01002551,E01002552,E01002553,E01002555,E01002556,E01002557,E01002558,E01002559,E01002560,E01002561,E01002562,E01002563,E01002564,E01002565,E01002567,E01002569,E01002570,E01002571,E01002572,E01002573,E01002574,E01002575,E01002576,E01002577,E01002578,E01002579,E01002580,E01002581,E01002582,E01002583,E01002584,E01002585,E01002586,E01002587,E01002588,E01002589,E01002590,E01002591,E01002592,E01002593,E01002594,E01002595,E01002596,E01002598,E01002599,E01002600,E01002601,E01002602,E01002603,E01002604,E01002605,E01002606,E01002607,E01002608,E01002609,E01002610,E01002611,E01002612,E01002613,E01002614,E01002615,E01002616,E01002617,E01002618,E01002619,E01002620,E01002621,E01002622,E01002623,E01002624,E01002625&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_005.json.gz + content_sha256: 58f73b7f289066ee70cc2b92d1f84df3195210d45d98e5661fed265683405862 +- id: census_lsoa_tenure5a_bedrooms_006 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 006 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01002626,E01002627,E01002628,E01002629,E01002630,E01002631,E01002632,E01002633,E01002634,E01002635,E01002636,E01002637,E01002638,E01002639,E01002640,E01002641,E01002643,E01002645,E01002646,E01002647,E01002649,E01002650,E01002651,E01002652,E01002653,E01002654,E01002655,E01002656,E01002657,E01002658,E01002659,E01002660,E01002661,E01002662,E01002663,E01002665,E01002666,E01002667,E01002668,E01002669,E01002670,E01002671,E01002672,E01002673,E01002674,E01002675,E01002676,E01002677,E01002678,E01002679,E01002680,E01002681,E01002682,E01002686,E01002687,E01002689,E01002690,E01002691,E01002692,E01002693,E01002694,E01002695,E01002696,E01002697,E01002698,E01002699,E01002700,E01002701,E01002702,E01002703,E01002704,E01002706,E01002707,E01002708,E01002709,E01002710,E01002711,E01002712,E01002713,E01002714,E01002715,E01002716,E01002717,E01002718,E01002719,E01002720,E01002721,E01002722,E01002723,E01002724,E01002725,E01002726,E01002727,E01002728,E01002729,E01002730,E01002732,E01002733,E01002734,E01002735,E01002736,E01002737,E01002738,E01002739,E01002740,E01002741,E01002742,E01002743,E01002744,E01002745,E01002747,E01002748,E01002749,E01002751,E01002752,E01002753,E01002754,E01002755,E01002756,E01002757,E01002758,E01002759,E01002760,E01002762,E01002763,E01002764,E01002765,E01002766,E01002767,E01002768,E01002769,E01002770,E01002771,E01002772,E01002773,E01002774,E01002775,E01002776,E01002777,E01002778,E01002779,E01002780,E01002781,E01002782,E01002783,E01002784,E01002785,E01002786,E01002787,E01002788,E01002789,E01002790,E01002791,E01002792,E01002793,E01002794,E01002795,E01002796,E01002797,E01002798,E01002799,E01002800,E01002801,E01002802,E01002804,E01002805,E01002806,E01002807,E01002808,E01002809,E01002810,E01002811,E01002812,E01002813,E01002814,E01002815,E01002816,E01002817,E01002818,E01002819,E01002821,E01002823,E01002824,E01002825,E01002826,E01002827,E01002828,E01002829,E01002830,E01002831,E01002832,E01002833,E01002834,E01002835,E01002836,E01002837,E01002839,E01002840,E01002841,E01002842,E01002843,E01002844,E01002845,E01002846,E01002847,E01002848,E01002849,E01002850,E01002851,E01002852,E01002853,E01002854,E01002855,E01002856,E01002857,E01002858,E01002859,E01002860,E01002861,E01002862,E01002863,E01002864,E01002865,E01002866,E01002867,E01002868,E01002869,E01002870,E01002871,E01002872,E01002873,E01002874,E01002875,E01002876,E01002877,E01002878,E01002879,E01002880,E01002881,E01002882,E01002883,E01002884,E01002885,E01002886,E01002887,E01002888,E01002889,E01002890,E01002891,E01002892,E01002893,E01002894,E01002896,E01002897,E01002898,E01002899,E01002900,E01002901,E01002902,E01002903,E01002904,E01002905,E01002906,E01002907,E01002908,E01002909,E01002910,E01002911,E01002912,E01002913,E01002914,E01002915,E01002916,E01002917,E01002918,E01002919,E01002920,E01002921,E01002922,E01002923,E01002924,E01002925,E01002926,E01002927,E01002928,E01002929,E01002930,E01002931,E01002932,E01002933,E01002934,E01002935,E01002937,E01002938,E01002939,E01002940,E01002941,E01002942,E01002943,E01002944,E01002945,E01002946,E01002947,E01002948,E01002949,E01002950,E01002951,E01002952,E01002953,E01002954,E01002955,E01002956,E01002957,E01002958,E01002959,E01002960,E01002961,E01002962,E01002963,E01002964,E01002965,E01002966,E01002967,E01002968,E01002969,E01002970,E01002971,E01002972,E01002973,E01002974,E01002975,E01002976,E01002977,E01002978,E01002979,E01002980,E01002981,E01002982,E01002983,E01002984,E01002985,E01002986,E01002987,E01002988,E01002989,E01002990,E01002991,E01002992,E01002993,E01002994,E01002995,E01002996,E01002997,E01002998,E01002999,E01003000,E01003001,E01003002,E01003003,E01003004,E01003005,E01003006,E01003007,E01003008,E01003009,E01003010,E01003011,E01003013,E01003014,E01003015,E01003016,E01003017,E01003018,E01003019,E01003020,E01003021,E01003022,E01003023,E01003024,E01003025,E01003026,E01003027,E01003028,E01003029,E01003030,E01003031,E01003032,E01003033,E01003034,E01003035,E01003036,E01003037,E01003038,E01003039,E01003040,E01003041,E01003042,E01003043,E01003044,E01003045,E01003046,E01003047,E01003048,E01003049,E01003050,E01003051,E01003052,E01003053,E01003054,E01003055,E01003056,E01003057,E01003058,E01003059,E01003060,E01003061,E01003062,E01003063,E01003064,E01003065,E01003066,E01003067,E01003068,E01003069,E01003070,E01003071,E01003072,E01003073,E01003074,E01003075,E01003076,E01003077,E01003078,E01003079,E01003080,E01003081,E01003082,E01003083,E01003084,E01003085,E01003086,E01003087,E01003088,E01003089,E01003090,E01003091,E01003092,E01003093,E01003094,E01003095,E01003096,E01003097,E01003098,E01003099,E01003100,E01003101,E01003102,E01003104,E01003105,E01003106,E01003107,E01003108,E01003110,E01003111,E01003112,E01003113,E01003114,E01003115,E01003116,E01003117,E01003118,E01003119,E01003120,E01003121,E01003122,E01003123,E01003124,E01003125,E01003126,E01003127,E01003128,E01003129,E01003130,E01003131,E01003132,E01003133,E01003134,E01003135,E01003136,E01003137,E01003138,E01003139,E01003140,E01003141,E01003142,E01003143,E01003144,E01003145,E01003146,E01003147&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_006.json.gz + content_sha256: d359a4cc9fd12dc44ffb14c375438e6e950315c64950b40bb9ff2671f4c2f609 +- id: census_lsoa_tenure5a_bedrooms_007 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 007 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01003148,E01003149,E01003150,E01003151,E01003152,E01003153,E01003154,E01003155,E01003156,E01003157,E01003158,E01003159,E01003160,E01003161,E01003162,E01003163,E01003164,E01003165,E01003166,E01003167,E01003168,E01003169,E01003170,E01003171,E01003172,E01003173,E01003174,E01003175,E01003176,E01003177,E01003178,E01003179,E01003180,E01003181,E01003182,E01003183,E01003184,E01003185,E01003186,E01003187,E01003188,E01003189,E01003190,E01003191,E01003192,E01003193,E01003194,E01003195,E01003196,E01003197,E01003198,E01003199,E01003200,E01003201,E01003202,E01003203,E01003204,E01003205,E01003206,E01003207,E01003209,E01003210,E01003211,E01003212,E01003213,E01003214,E01003215,E01003216,E01003217,E01003218,E01003219,E01003220,E01003221,E01003222,E01003223,E01003224,E01003225,E01003226,E01003227,E01003228,E01003229,E01003230,E01003231,E01003232,E01003233,E01003235,E01003236,E01003237,E01003238,E01003239,E01003240,E01003241,E01003243,E01003244,E01003245,E01003246,E01003247,E01003248,E01003249,E01003251,E01003252,E01003253,E01003254,E01003255,E01003256,E01003257,E01003258,E01003259,E01003260,E01003261,E01003262,E01003263,E01003264,E01003265,E01003266,E01003267,E01003268,E01003269,E01003270,E01003271,E01003272,E01003273,E01003274,E01003275,E01003276,E01003277,E01003278,E01003279,E01003280,E01003281,E01003282,E01003283,E01003284,E01003285,E01003286,E01003287,E01003288,E01003290,E01003291,E01003292,E01003293,E01003295,E01003297,E01003298,E01003299,E01003300,E01003301,E01003302,E01003303,E01003304,E01003305,E01003307,E01003308,E01003309,E01003310,E01003311,E01003312,E01003313,E01003314,E01003315,E01003316,E01003318,E01003319,E01003320,E01003321,E01003322,E01003323,E01003324,E01003325,E01003326,E01003327,E01003328,E01003329,E01003330,E01003331,E01003332,E01003333,E01003334,E01003335,E01003336,E01003337,E01003338,E01003339,E01003340,E01003341,E01003342,E01003343,E01003344,E01003345,E01003346,E01003347,E01003348,E01003349,E01003350,E01003351,E01003352,E01003353,E01003354,E01003355,E01003356,E01003357,E01003358,E01003359,E01003360,E01003361,E01003362,E01003363,E01003364,E01003365,E01003366,E01003368,E01003369,E01003370,E01003371,E01003372,E01003373,E01003374,E01003375,E01003376,E01003377,E01003378,E01003379,E01003380,E01003381,E01003382,E01003383,E01003384,E01003385,E01003386,E01003387,E01003388,E01003389,E01003390,E01003391,E01003392,E01003393,E01003394,E01003395,E01003396,E01003397,E01003398,E01003399,E01003400,E01003401,E01003402,E01003403,E01003404,E01003405,E01003406,E01003407,E01003408,E01003409,E01003410,E01003411,E01003412,E01003413,E01003414,E01003415,E01003416,E01003417,E01003418,E01003419,E01003420,E01003421,E01003422,E01003423,E01003424,E01003425,E01003426,E01003427,E01003428,E01003429,E01003430,E01003431,E01003432,E01003433,E01003434,E01003435,E01003436,E01003437,E01003438,E01003439,E01003440,E01003441,E01003442,E01003443,E01003444,E01003445,E01003446,E01003447,E01003448,E01003449,E01003450,E01003451,E01003452,E01003453,E01003454,E01003455,E01003456,E01003457,E01003458,E01003459,E01003460,E01003461,E01003462,E01003463,E01003464,E01003465,E01003466,E01003467,E01003468,E01003469,E01003470,E01003471,E01003472,E01003473,E01003474,E01003476,E01003477,E01003478,E01003479,E01003480,E01003481,E01003483,E01003484,E01003485,E01003486,E01003487,E01003488,E01003489,E01003490,E01003491,E01003492,E01003494,E01003495,E01003496,E01003497,E01003498,E01003499,E01003500,E01003501,E01003502,E01003503,E01003506,E01003507,E01003508,E01003509,E01003511,E01003512,E01003513,E01003514,E01003515,E01003516,E01003517,E01003518,E01003519,E01003520,E01003521,E01003522,E01003523,E01003524,E01003525,E01003526,E01003527,E01003528,E01003529,E01003530,E01003531,E01003532,E01003533,E01003534,E01003535,E01003536,E01003537,E01003538,E01003539,E01003540,E01003541,E01003542,E01003543,E01003544,E01003545,E01003546,E01003547,E01003548,E01003549,E01003550,E01003551,E01003552,E01003553,E01003554,E01003555,E01003556,E01003557,E01003558,E01003559,E01003560,E01003561,E01003562,E01003563,E01003564,E01003565,E01003566,E01003567,E01003568,E01003569,E01003570,E01003571,E01003572,E01003573,E01003574,E01003575,E01003576,E01003577,E01003578,E01003579,E01003580,E01003581,E01003582,E01003583,E01003584,E01003585,E01003586,E01003587,E01003588,E01003589,E01003590,E01003591,E01003592,E01003593,E01003594,E01003595,E01003596,E01003597,E01003598,E01003599,E01003600,E01003601,E01003602,E01003603,E01003604,E01003605,E01003607,E01003608,E01003611,E01003615,E01003616,E01003618,E01003619,E01003621,E01003622,E01003623,E01003624,E01003625,E01003626,E01003627,E01003628,E01003629,E01003630,E01003631,E01003632,E01003633,E01003634,E01003635,E01003636,E01003637,E01003638,E01003639,E01003640,E01003641,E01003642,E01003643,E01003644,E01003645,E01003646,E01003647,E01003648,E01003649,E01003650,E01003651,E01003652,E01003653,E01003654,E01003655,E01003656,E01003657,E01003658,E01003659,E01003660,E01003661,E01003662,E01003663,E01003664,E01003665,E01003666,E01003668,E01003669,E01003670,E01003671,E01003672&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_007.json.gz + content_sha256: 225ceac0a244949186db90b49a1f0706c2190bef9497b1527b67f35db2440f9b +- id: census_lsoa_tenure5a_bedrooms_008 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 008 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01003673,E01003674,E01003675,E01003676,E01003677,E01003678,E01003679,E01003680,E01003681,E01003682,E01003683,E01003684,E01003685,E01003686,E01003688,E01003689,E01003690,E01003691,E01003692,E01003693,E01003694,E01003695,E01003696,E01003697,E01003698,E01003699,E01003700,E01003701,E01003702,E01003703,E01003704,E01003705,E01003706,E01003707,E01003708,E01003709,E01003710,E01003711,E01003712,E01003713,E01003714,E01003715,E01003716,E01003718,E01003719,E01003720,E01003721,E01003722,E01003723,E01003724,E01003725,E01003726,E01003727,E01003729,E01003730,E01003731,E01003732,E01003733,E01003734,E01003735,E01003736,E01003737,E01003738,E01003739,E01003740,E01003741,E01003742,E01003743,E01003744,E01003745,E01003746,E01003747,E01003748,E01003749,E01003750,E01003751,E01003752,E01003753,E01003754,E01003755,E01003756,E01003757,E01003759,E01003760,E01003761,E01003762,E01003763,E01003764,E01003765,E01003766,E01003767,E01003768,E01003769,E01003770,E01003771,E01003772,E01003773,E01003774,E01003775,E01003776,E01003777,E01003778,E01003779,E01003780,E01003781,E01003782,E01003783,E01003784,E01003785,E01003786,E01003787,E01003788,E01003789,E01003790,E01003791,E01003792,E01003793,E01003794,E01003795,E01003796,E01003797,E01003798,E01003799,E01003800,E01003801,E01003802,E01003803,E01003804,E01003805,E01003806,E01003807,E01003808,E01003809,E01003810,E01003811,E01003812,E01003813,E01003814,E01003815,E01003816,E01003817,E01003818,E01003819,E01003820,E01003821,E01003822,E01003823,E01003824,E01003825,E01003826,E01003827,E01003828,E01003829,E01003830,E01003831,E01003832,E01003833,E01003834,E01003835,E01003836,E01003837,E01003838,E01003839,E01003840,E01003841,E01003842,E01003843,E01003844,E01003845,E01003846,E01003847,E01003848,E01003849,E01003851,E01003852,E01003853,E01003854,E01003855,E01003856,E01003857,E01003858,E01003859,E01003860,E01003861,E01003862,E01003863,E01003864,E01003865,E01003866,E01003867,E01003868,E01003869,E01003870,E01003871,E01003872,E01003873,E01003874,E01003875,E01003876,E01003877,E01003878,E01003879,E01003880,E01003881,E01003882,E01003883,E01003884,E01003885,E01003886,E01003887,E01003888,E01003889,E01003890,E01003891,E01003892,E01003893,E01003894,E01003895,E01003896,E01003897,E01003898,E01003899,E01003900,E01003901,E01003902,E01003903,E01003904,E01003905,E01003906,E01003907,E01003908,E01003909,E01003910,E01003911,E01003912,E01003913,E01003914,E01003915,E01003916,E01003917,E01003918,E01003919,E01003920,E01003921,E01003922,E01003923,E01003924,E01003925,E01003926,E01003929,E01003930,E01003932,E01003933,E01003934,E01003935,E01003936,E01003937,E01003938,E01003939,E01003940,E01003941,E01003942,E01003943,E01003945,E01003946,E01003947,E01003948,E01003949,E01003950,E01003951,E01003952,E01003953,E01003954,E01003955,E01003956,E01003957,E01003958,E01003960,E01003961,E01003963,E01003966,E01003969,E01003971,E01003972,E01003973,E01003975,E01003976,E01003977,E01003979,E01003980,E01003981,E01003983,E01003984,E01003986,E01003987,E01003988,E01003989,E01003990,E01003991,E01003992,E01003993,E01003994,E01003995,E01003997,E01003998,E01003999,E01004000,E01004001,E01004002,E01004003,E01004004,E01004005,E01004006,E01004007,E01004008,E01004010,E01004011,E01004012,E01004013,E01004014,E01004015,E01004016,E01004017,E01004018,E01004019,E01004020,E01004021,E01004023,E01004024,E01004028,E01004029,E01004030,E01004031,E01004032,E01004033,E01004034,E01004035,E01004036,E01004037,E01004038,E01004039,E01004040,E01004041,E01004042,E01004043,E01004044,E01004045,E01004046,E01004047,E01004048,E01004049,E01004050,E01004051,E01004052,E01004053,E01004054,E01004055,E01004056,E01004057,E01004058,E01004059,E01004060,E01004061,E01004062,E01004063,E01004064,E01004065,E01004066,E01004067,E01004068,E01004069,E01004070,E01004071,E01004072,E01004073,E01004074,E01004075,E01004076,E01004077,E01004078,E01004079,E01004080,E01004081,E01004082,E01004083,E01004084,E01004085,E01004086,E01004087,E01004088,E01004089,E01004090,E01004091,E01004092,E01004093,E01004094,E01004095,E01004096,E01004097,E01004098,E01004099,E01004100,E01004101,E01004102,E01004103,E01004104,E01004105,E01004106,E01004107,E01004108,E01004109,E01004110,E01004111,E01004112,E01004114,E01004115,E01004116,E01004117,E01004118,E01004119,E01004120,E01004121,E01004122,E01004123,E01004124,E01004125,E01004126,E01004127,E01004128,E01004129,E01004130,E01004131,E01004132,E01004133,E01004134,E01004135,E01004136,E01004137,E01004138,E01004139,E01004140,E01004141,E01004143,E01004144,E01004145,E01004146,E01004147,E01004148,E01004149,E01004150,E01004151,E01004152,E01004153,E01004154,E01004155,E01004156,E01004157,E01004158,E01004159,E01004160,E01004161,E01004162,E01004163,E01004164,E01004165,E01004166,E01004167,E01004168,E01004169,E01004170,E01004171,E01004172,E01004173,E01004174,E01004175,E01004176,E01004177,E01004178,E01004179,E01004180,E01004181,E01004182,E01004183,E01004184,E01004185,E01004186,E01004187,E01004189,E01004190,E01004191,E01004192,E01004193,E01004194,E01004195,E01004196,E01004198,E01004199,E01004200,E01004201,E01004202&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_008.json.gz + content_sha256: a88693ef4a27708857fad2ed9812ef3495d2d4f10c46baa569aee1cb753743e9 +- id: census_lsoa_tenure5a_bedrooms_009 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 009 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01004203,E01004204,E01004205,E01004206,E01004207,E01004208,E01004209,E01004211,E01004212,E01004214,E01004216,E01004217,E01004218,E01004219,E01004221,E01004222,E01004223,E01004226,E01004228,E01004229,E01004230,E01004231,E01004232,E01004233,E01004234,E01004235,E01004236,E01004237,E01004239,E01004240,E01004241,E01004243,E01004244,E01004245,E01004247,E01004248,E01004249,E01004251,E01004255,E01004256,E01004257,E01004258,E01004259,E01004260,E01004263,E01004264,E01004266,E01004267,E01004268,E01004270,E01004271,E01004272,E01004274,E01004275,E01004276,E01004277,E01004280,E01004281,E01004283,E01004286,E01004287,E01004288,E01004289,E01004290,E01004291,E01004292,E01004293,E01004295,E01004296,E01004297,E01004298,E01004300,E01004301,E01004302,E01004303,E01004304,E01004305,E01004306,E01004307,E01004308,E01004309,E01004310,E01004311,E01004312,E01004313,E01004315,E01004316,E01004319,E01004321,E01004322,E01004323,E01004324,E01004326,E01004327,E01004328,E01004329,E01004330,E01004331,E01004332,E01004333,E01004334,E01004335,E01004336,E01004337,E01004338,E01004339,E01004340,E01004341,E01004342,E01004343,E01004344,E01004345,E01004346,E01004347,E01004348,E01004349,E01004350,E01004351,E01004352,E01004353,E01004354,E01004355,E01004356,E01004357,E01004358,E01004359,E01004360,E01004361,E01004362,E01004363,E01004364,E01004365,E01004366,E01004367,E01004368,E01004369,E01004370,E01004371,E01004372,E01004373,E01004374,E01004375,E01004376,E01004377,E01004378,E01004379,E01004380,E01004381,E01004382,E01004383,E01004384,E01004385,E01004386,E01004387,E01004388,E01004389,E01004390,E01004391,E01004392,E01004393,E01004394,E01004395,E01004396,E01004397,E01004398,E01004399,E01004400,E01004401,E01004402,E01004403,E01004404,E01004405,E01004406,E01004407,E01004408,E01004409,E01004410,E01004411,E01004412,E01004413,E01004414,E01004415,E01004416,E01004417,E01004418,E01004419,E01004420,E01004421,E01004422,E01004423,E01004424,E01004425,E01004426,E01004427,E01004428,E01004429,E01004430,E01004432,E01004434,E01004435,E01004436,E01004437,E01004438,E01004439,E01004440,E01004441,E01004442,E01004443,E01004444,E01004445,E01004446,E01004447,E01004448,E01004449,E01004450,E01004451,E01004452,E01004453,E01004454,E01004455,E01004456,E01004457,E01004458,E01004459,E01004460,E01004462,E01004463,E01004464,E01004465,E01004466,E01004467,E01004468,E01004469,E01004470,E01004471,E01004472,E01004473,E01004474,E01004475,E01004476,E01004477,E01004478,E01004479,E01004480,E01004481,E01004482,E01004483,E01004484,E01004485,E01004486,E01004487,E01004488,E01004489,E01004490,E01004491,E01004492,E01004493,E01004494,E01004495,E01004496,E01004497,E01004498,E01004499,E01004500,E01004501,E01004502,E01004503,E01004504,E01004505,E01004506,E01004507,E01004508,E01004510,E01004511,E01004512,E01004513,E01004514,E01004515,E01004516,E01004517,E01004518,E01004519,E01004520,E01004521,E01004522,E01004523,E01004524,E01004525,E01004526,E01004527,E01004528,E01004529,E01004530,E01004531,E01004532,E01004533,E01004534,E01004535,E01004536,E01004537,E01004538,E01004539,E01004540,E01004541,E01004542,E01004543,E01004544,E01004545,E01004546,E01004547,E01004548,E01004549,E01004550,E01004551,E01004552,E01004553,E01004554,E01004555,E01004556,E01004557,E01004558,E01004559,E01004560,E01004563,E01004564,E01004565,E01004566,E01004567,E01004568,E01004569,E01004570,E01004571,E01004572,E01004573,E01004574,E01004575,E01004576,E01004577,E01004579,E01004580,E01004581,E01004582,E01004583,E01004584,E01004585,E01004586,E01004587,E01004588,E01004589,E01004590,E01004591,E01004592,E01004593,E01004594,E01004595,E01004596,E01004597,E01004598,E01004599,E01004601,E01004602,E01004604,E01004605,E01004606,E01004607,E01004608,E01004609,E01004610,E01004611,E01004612,E01004613,E01004614,E01004615,E01004616,E01004617,E01004618,E01004619,E01004620,E01004621,E01004622,E01004623,E01004624,E01004625,E01004626,E01004627,E01004628,E01004629,E01004630,E01004631,E01004632,E01004633,E01004634,E01004635,E01004636,E01004637,E01004638,E01004639,E01004640,E01004641,E01004642,E01004643,E01004644,E01004645,E01004646,E01004647,E01004648,E01004649,E01004650,E01004651,E01004652,E01004653,E01004654,E01004656,E01004657,E01004658,E01004659,E01004660,E01004661,E01004662,E01004663,E01004665,E01004668,E01004669,E01004670,E01004674,E01004675,E01004676,E01004677,E01004678,E01004679,E01004680,E01004681,E01004682,E01004683,E01004684,E01004686,E01004687,E01004690,E01004691,E01004692,E01004693,E01004694,E01004695,E01004696,E01004697,E01004698,E01004699,E01004700,E01004701,E01004702,E01004703,E01004705,E01004706,E01004707,E01004708,E01004709,E01004710,E01004711,E01004712,E01004713,E01004714,E01004715,E01004716,E01004717,E01004718,E01004719,E01004720,E01004721,E01004722,E01004723,E01004724,E01004725,E01004726,E01004727,E01004728,E01004729,E01004730,E01004731,E01004732,E01004733,E01004734,E01004735,E01004736,E01004737,E01004740,E01004741,E01004742,E01004743,E01004744,E01004746,E01004747,E01004748,E01004749,E01004750,E01004751,E01004752,E01004753,E01004754,E01004755,E01004756&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_009.json.gz + content_sha256: 1c39708ece58bc09201f490d8bf2c4a8e697ea7a675026cc168e38da5cb8c484 +- id: census_lsoa_tenure5a_bedrooms_010 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 010 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01004757,E01004760,E01004761,E01004762,E01004763,E01004765,E01004766,E01004767,E01004768,E01004769,E01004770,E01004771,E01004772,E01004773,E01004774,E01004775,E01004776,E01004777,E01004778,E01004779,E01004780,E01004781,E01004782,E01004783,E01004784,E01004785,E01004786,E01004787,E01004788,E01004789,E01004790,E01004791,E01004792,E01004793,E01004794,E01004795,E01004796,E01004797,E01004798,E01004799,E01004800,E01004801,E01004802,E01004803,E01004804,E01004805,E01004806,E01004807,E01004808,E01004809,E01004810,E01004811,E01004812,E01004813,E01004814,E01004815,E01004816,E01004817,E01004818,E01004819,E01004820,E01004822,E01004823,E01004824,E01004825,E01004826,E01004827,E01004828,E01004829,E01004830,E01004831,E01004832,E01004833,E01004834,E01004835,E01004836,E01004837,E01004838,E01004839,E01004840,E01004841,E01004842,E01004843,E01004844,E01004845,E01004846,E01004847,E01004848,E01004849,E01004850,E01004851,E01004852,E01004853,E01004854,E01004855,E01004856,E01004857,E01004858,E01004859,E01004860,E01004861,E01004862,E01004863,E01004864,E01004865,E01004866,E01004867,E01004868,E01004869,E01004870,E01004871,E01004872,E01004873,E01004874,E01004875,E01004876,E01004877,E01004878,E01004879,E01004880,E01004881,E01004882,E01004883,E01004884,E01004885,E01004886,E01004887,E01004888,E01004889,E01004890,E01004891,E01004892,E01004893,E01004894,E01004895,E01004896,E01004897,E01004899,E01004900,E01004901,E01004902,E01004903,E01004904,E01004905,E01004906,E01004907,E01004908,E01004909,E01004910,E01004911,E01004912,E01004913,E01004914,E01004915,E01004916,E01004917,E01004918,E01004919,E01004920,E01004921,E01004922,E01004923,E01004924,E01004925,E01004926,E01004927,E01004928,E01004929,E01004930,E01004931,E01004932,E01004933,E01004934,E01004935,E01004936,E01004937,E01004938,E01004939,E01004940,E01004941,E01004942,E01004943,E01004944,E01004945,E01004946,E01004947,E01004948,E01004949,E01004950,E01004951,E01004952,E01004953,E01004954,E01004955,E01004956,E01004957,E01004958,E01004959,E01004960,E01004961,E01004962,E01004963,E01004964,E01004965,E01004966,E01004967,E01004968,E01004969,E01004970,E01004971,E01004972,E01004973,E01004974,E01004975,E01004976,E01004977,E01004978,E01004979,E01004980,E01004981,E01004982,E01004983,E01004984,E01004985,E01004986,E01004987,E01004988,E01004989,E01004990,E01004991,E01004992,E01004993,E01004994,E01004995,E01004996,E01004997,E01004998,E01004999,E01005000,E01005001,E01005002,E01005003,E01005004,E01005005,E01005006,E01005007,E01005008,E01005009,E01005010,E01005011,E01005012,E01005013,E01005014,E01005015,E01005016,E01005017,E01005018,E01005019,E01005020,E01005021,E01005022,E01005023,E01005024,E01005025,E01005026,E01005027,E01005028,E01005029,E01005030,E01005031,E01005032,E01005033,E01005034,E01005035,E01005036,E01005037,E01005038,E01005039,E01005040,E01005041,E01005042,E01005043,E01005044,E01005045,E01005046,E01005047,E01005048,E01005049,E01005050,E01005051,E01005052,E01005053,E01005054,E01005055,E01005056,E01005057,E01005058,E01005059,E01005060,E01005061,E01005063,E01005065,E01005066,E01005067,E01005068,E01005069,E01005070,E01005071,E01005072,E01005073,E01005074,E01005075,E01005076,E01005077,E01005078,E01005079,E01005081,E01005082,E01005083,E01005084,E01005085,E01005086,E01005087,E01005088,E01005089,E01005090,E01005091,E01005092,E01005093,E01005094,E01005097,E01005098,E01005099,E01005100,E01005101,E01005102,E01005103,E01005104,E01005105,E01005106,E01005107,E01005111,E01005112,E01005113,E01005114,E01005115,E01005116,E01005117,E01005118,E01005119,E01005120,E01005121,E01005122,E01005123,E01005124,E01005125,E01005126,E01005128,E01005129,E01005130,E01005132,E01005135,E01005136,E01005138,E01005139,E01005141,E01005142,E01005143,E01005145,E01005147,E01005149,E01005150,E01005151,E01005152,E01005153,E01005154,E01005155,E01005156,E01005157,E01005158,E01005159,E01005160,E01005161,E01005162,E01005163,E01005164,E01005165,E01005166,E01005167,E01005168,E01005169,E01005170,E01005171,E01005172,E01005173,E01005174,E01005175,E01005176,E01005177,E01005178,E01005179,E01005180,E01005181,E01005182,E01005183,E01005184,E01005185,E01005186,E01005187,E01005188,E01005189,E01005190,E01005191,E01005192,E01005193,E01005195,E01005197,E01005198,E01005199,E01005200,E01005201,E01005202,E01005203,E01005205,E01005206,E01005207,E01005208,E01005210,E01005212,E01005213,E01005214,E01005215,E01005216,E01005217,E01005218,E01005219,E01005220,E01005221,E01005222,E01005223,E01005224,E01005225,E01005226,E01005227,E01005228,E01005229,E01005230,E01005231,E01005232,E01005233,E01005234,E01005235,E01005236,E01005237,E01005238,E01005239,E01005243,E01005244,E01005245,E01005246,E01005247,E01005248,E01005249,E01005250,E01005251,E01005252,E01005253,E01005254,E01005255,E01005256,E01005257,E01005258,E01005259,E01005260,E01005261,E01005262,E01005263,E01005264,E01005265,E01005266,E01005267,E01005268,E01005269,E01005270,E01005271,E01005272,E01005273,E01005274,E01005275,E01005276,E01005277,E01005278,E01005279,E01005280,E01005281,E01005284,E01005285,E01005286,E01005287,E01005288&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_010.json.gz + content_sha256: ba48282eb8ac7649cb0c8d20a7c1c9d4c0238defa6d62c2f55b584fb5b95c590 +- id: census_lsoa_tenure5a_bedrooms_011 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 011 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01005289,E01005290,E01005291,E01005292,E01005293,E01005294,E01005295,E01005296,E01005297,E01005298,E01005299,E01005300,E01005301,E01005302,E01005304,E01005305,E01005306,E01005307,E01005308,E01005309,E01005310,E01005311,E01005312,E01005313,E01005314,E01005315,E01005316,E01005317,E01005318,E01005319,E01005320,E01005321,E01005322,E01005323,E01005324,E01005325,E01005326,E01005327,E01005328,E01005329,E01005330,E01005331,E01005332,E01005333,E01005334,E01005335,E01005336,E01005337,E01005338,E01005339,E01005340,E01005341,E01005342,E01005343,E01005344,E01005345,E01005346,E01005347,E01005348,E01005349,E01005350,E01005351,E01005352,E01005353,E01005354,E01005355,E01005356,E01005357,E01005358,E01005359,E01005360,E01005361,E01005362,E01005363,E01005364,E01005365,E01005366,E01005367,E01005368,E01005369,E01005370,E01005371,E01005372,E01005373,E01005374,E01005375,E01005376,E01005377,E01005378,E01005379,E01005380,E01005381,E01005382,E01005383,E01005386,E01005387,E01005388,E01005389,E01005390,E01005391,E01005392,E01005393,E01005394,E01005395,E01005396,E01005397,E01005398,E01005399,E01005400,E01005401,E01005402,E01005403,E01005406,E01005407,E01005408,E01005409,E01005410,E01005411,E01005412,E01005413,E01005414,E01005415,E01005416,E01005417,E01005418,E01005419,E01005420,E01005421,E01005422,E01005427,E01005428,E01005429,E01005430,E01005431,E01005432,E01005433,E01005434,E01005435,E01005436,E01005437,E01005438,E01005439,E01005440,E01005441,E01005442,E01005443,E01005444,E01005445,E01005446,E01005447,E01005448,E01005449,E01005450,E01005451,E01005452,E01005453,E01005454,E01005455,E01005456,E01005459,E01005460,E01005461,E01005462,E01005463,E01005464,E01005465,E01005466,E01005467,E01005468,E01005469,E01005470,E01005471,E01005472,E01005473,E01005474,E01005475,E01005476,E01005477,E01005478,E01005479,E01005480,E01005481,E01005482,E01005483,E01005484,E01005485,E01005486,E01005487,E01005488,E01005489,E01005490,E01005491,E01005492,E01005493,E01005494,E01005495,E01005496,E01005497,E01005498,E01005499,E01005500,E01005501,E01005502,E01005503,E01005504,E01005505,E01005506,E01005507,E01005508,E01005509,E01005510,E01005511,E01005512,E01005513,E01005514,E01005515,E01005516,E01005517,E01005518,E01005519,E01005520,E01005521,E01005522,E01005523,E01005524,E01005525,E01005526,E01005527,E01005528,E01005529,E01005530,E01005531,E01005532,E01005533,E01005534,E01005535,E01005536,E01005537,E01005538,E01005539,E01005540,E01005541,E01005542,E01005543,E01005544,E01005545,E01005546,E01005547,E01005548,E01005549,E01005550,E01005551,E01005552,E01005553,E01005554,E01005555,E01005556,E01005557,E01005558,E01005559,E01005560,E01005561,E01005562,E01005563,E01005564,E01005565,E01005566,E01005567,E01005568,E01005569,E01005570,E01005571,E01005572,E01005573,E01005574,E01005575,E01005576,E01005577,E01005578,E01005579,E01005580,E01005581,E01005583,E01005585,E01005586,E01005587,E01005588,E01005589,E01005590,E01005591,E01005592,E01005593,E01005594,E01005595,E01005596,E01005597,E01005598,E01005599,E01005600,E01005601,E01005602,E01005603,E01005604,E01005605,E01005610,E01005611,E01005612,E01005613,E01005614,E01005615,E01005616,E01005617,E01005618,E01005619,E01005620,E01005621,E01005622,E01005623,E01005624,E01005625,E01005626,E01005627,E01005628,E01005629,E01005630,E01005631,E01005632,E01005633,E01005634,E01005635,E01005636,E01005637,E01005638,E01005639,E01005640,E01005641,E01005642,E01005643,E01005644,E01005645,E01005646,E01005647,E01005648,E01005649,E01005650,E01005651,E01005652,E01005653,E01005654,E01005656,E01005657,E01005659,E01005660,E01005661,E01005662,E01005663,E01005664,E01005665,E01005667,E01005670,E01005671,E01005672,E01005673,E01005674,E01005676,E01005677,E01005678,E01005679,E01005680,E01005681,E01005682,E01005683,E01005686,E01005687,E01005688,E01005689,E01005690,E01005691,E01005692,E01005693,E01005694,E01005695,E01005696,E01005697,E01005698,E01005699,E01005700,E01005701,E01005702,E01005703,E01005704,E01005706,E01005707,E01005708,E01005709,E01005710,E01005711,E01005712,E01005713,E01005714,E01005715,E01005716,E01005717,E01005718,E01005719,E01005721,E01005722,E01005723,E01005724,E01005725,E01005726,E01005727,E01005728,E01005729,E01005730,E01005731,E01005732,E01005733,E01005734,E01005735,E01005736,E01005737,E01005738,E01005739,E01005740,E01005741,E01005742,E01005743,E01005744,E01005745,E01005746,E01005747,E01005748,E01005749,E01005750,E01005751,E01005752,E01005753,E01005754,E01005755,E01005756,E01005757,E01005759,E01005760,E01005761,E01005762,E01005763,E01005764,E01005765,E01005766,E01005767,E01005768,E01005769,E01005770,E01005771,E01005772,E01005773,E01005774,E01005775,E01005776,E01005777,E01005778,E01005779,E01005780,E01005781,E01005782,E01005783,E01005784,E01005785,E01005786,E01005787,E01005788,E01005789,E01005790,E01005791,E01005792,E01005793,E01005794,E01005795,E01005796,E01005797,E01005798,E01005799,E01005800,E01005801,E01005802,E01005803,E01005804,E01005805,E01005806,E01005807,E01005808,E01005809,E01005810,E01005811,E01005812,E01005813,E01005814,E01005815,E01005816&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_011.json.gz + content_sha256: 9543fc7aabcaff820d0c6eeb943204daa12e28d8594d8016cb20e64baa971d8a +- id: census_lsoa_tenure5a_bedrooms_012 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 012 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01005817,E01005818,E01005819,E01005820,E01005821,E01005822,E01005823,E01005824,E01005825,E01005826,E01005827,E01005828,E01005829,E01005830,E01005831,E01005832,E01005833,E01005834,E01005835,E01005836,E01005837,E01005838,E01005839,E01005840,E01005841,E01005842,E01005843,E01005844,E01005845,E01005846,E01005847,E01005848,E01005849,E01005850,E01005851,E01005852,E01005853,E01005854,E01005855,E01005856,E01005857,E01005858,E01005859,E01005860,E01005861,E01005862,E01005863,E01005864,E01005865,E01005866,E01005867,E01005868,E01005869,E01005870,E01005871,E01005872,E01005873,E01005874,E01005875,E01005876,E01005877,E01005878,E01005879,E01005880,E01005881,E01005882,E01005883,E01005884,E01005885,E01005886,E01005887,E01005888,E01005889,E01005890,E01005891,E01005892,E01005893,E01005894,E01005895,E01005896,E01005897,E01005898,E01005899,E01005900,E01005901,E01005902,E01005903,E01005904,E01005905,E01005906,E01005907,E01005908,E01005909,E01005910,E01005911,E01005912,E01005913,E01005914,E01005915,E01005916,E01005917,E01005918,E01005919,E01005920,E01005921,E01005922,E01005923,E01005924,E01005925,E01005926,E01005927,E01005928,E01005929,E01005930,E01005931,E01005932,E01005933,E01005934,E01005935,E01005936,E01005937,E01005938,E01005939,E01005940,E01005941,E01005942,E01005943,E01005944,E01005945,E01005946,E01005947,E01005948,E01005949,E01005950,E01005951,E01005953,E01005954,E01005955,E01005956,E01005957,E01005958,E01005959,E01005960,E01005961,E01005962,E01005963,E01005964,E01005965,E01005966,E01005967,E01005968,E01005969,E01005970,E01005971,E01005972,E01005973,E01005974,E01005975,E01005976,E01005977,E01005978,E01005979,E01005980,E01005981,E01005982,E01005983,E01005984,E01005985,E01005986,E01005987,E01005988,E01005989,E01005990,E01005991,E01005992,E01005993,E01005994,E01005995,E01005996,E01005997,E01005998,E01005999,E01006000,E01006001,E01006002,E01006003,E01006004,E01006005,E01006006,E01006007,E01006008,E01006009,E01006010,E01006011,E01006012,E01006013,E01006014,E01006015,E01006016,E01006017,E01006018,E01006019,E01006020,E01006021,E01006022,E01006023,E01006024,E01006025,E01006026,E01006027,E01006028,E01006029,E01006030,E01006031,E01006032,E01006033,E01006034,E01006035,E01006036,E01006037,E01006038,E01006039,E01006040,E01006041,E01006042,E01006043,E01006044,E01006045,E01006046,E01006047,E01006048,E01006049,E01006050,E01006051,E01006052,E01006053,E01006054,E01006055,E01006056,E01006057,E01006058,E01006059,E01006060,E01006061,E01006062,E01006063,E01006064,E01006065,E01006066,E01006067,E01006068,E01006069,E01006070,E01006071,E01006072,E01006073,E01006074,E01006075,E01006076,E01006077,E01006078,E01006079,E01006080,E01006081,E01006082,E01006083,E01006084,E01006085,E01006086,E01006087,E01006088,E01006089,E01006090,E01006091,E01006092,E01006093,E01006094,E01006095,E01006096,E01006097,E01006098,E01006099,E01006100,E01006101,E01006102,E01006103,E01006104,E01006105,E01006106,E01006107,E01006108,E01006109,E01006110,E01006111,E01006112,E01006113,E01006114,E01006115,E01006116,E01006117,E01006118,E01006119,E01006120,E01006121,E01006122,E01006123,E01006124,E01006125,E01006126,E01006127,E01006128,E01006129,E01006130,E01006131,E01006132,E01006133,E01006134,E01006135,E01006136,E01006137,E01006138,E01006139,E01006140,E01006141,E01006142,E01006143,E01006144,E01006145,E01006146,E01006147,E01006148,E01006149,E01006150,E01006151,E01006152,E01006153,E01006154,E01006155,E01006156,E01006157,E01006158,E01006159,E01006160,E01006161,E01006162,E01006163,E01006164,E01006165,E01006166,E01006167,E01006168,E01006169,E01006170,E01006171,E01006172,E01006173,E01006174,E01006175,E01006176,E01006177,E01006178,E01006179,E01006180,E01006181,E01006182,E01006183,E01006184,E01006186,E01006187,E01006188,E01006189,E01006190,E01006191,E01006192,E01006193,E01006194,E01006195,E01006196,E01006197,E01006198,E01006199,E01006200,E01006201,E01006202,E01006203,E01006204,E01006205,E01006206,E01006207,E01006208,E01006209,E01006210,E01006211,E01006212,E01006213,E01006214,E01006215,E01006216,E01006217,E01006218,E01006219,E01006220,E01006221,E01006222,E01006223,E01006224,E01006225,E01006226,E01006227,E01006228,E01006229,E01006230,E01006231,E01006232,E01006233,E01006234,E01006235,E01006236,E01006237,E01006238,E01006239,E01006240,E01006241,E01006242,E01006243,E01006244,E01006245,E01006246,E01006247,E01006248,E01006249,E01006250,E01006251,E01006252,E01006253,E01006254,E01006255,E01006256,E01006257,E01006258,E01006259,E01006260,E01006261,E01006262,E01006263,E01006264,E01006265,E01006266,E01006267,E01006268,E01006269,E01006270,E01006271,E01006272,E01006273,E01006274,E01006275,E01006276,E01006277,E01006278,E01006279,E01006280,E01006281,E01006282,E01006283,E01006284,E01006285,E01006286,E01006287,E01006288,E01006289,E01006290,E01006291,E01006292,E01006293,E01006294,E01006295,E01006296,E01006297,E01006298,E01006299,E01006300,E01006301,E01006302,E01006303,E01006304,E01006305,E01006306,E01006307,E01006308,E01006309,E01006310,E01006311,E01006312,E01006313,E01006314,E01006315,E01006316,E01006317,E01006318&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_012.json.gz + content_sha256: d3821236bbdb8bfd3a97c066f949ff0f9b7e3a82bd0d462228f51518f57609f3 +- id: census_lsoa_tenure5a_bedrooms_013 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 013 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01006319,E01006320,E01006321,E01006322,E01006323,E01006324,E01006325,E01006326,E01006327,E01006328,E01006329,E01006330,E01006331,E01006332,E01006333,E01006334,E01006335,E01006336,E01006337,E01006338,E01006339,E01006340,E01006341,E01006342,E01006343,E01006344,E01006345,E01006346,E01006347,E01006348,E01006349,E01006350,E01006351,E01006352,E01006353,E01006354,E01006355,E01006356,E01006357,E01006358,E01006359,E01006360,E01006361,E01006362,E01006363,E01006364,E01006365,E01006366,E01006367,E01006368,E01006369,E01006370,E01006371,E01006372,E01006373,E01006374,E01006375,E01006376,E01006377,E01006378,E01006379,E01006380,E01006381,E01006382,E01006383,E01006384,E01006385,E01006386,E01006387,E01006388,E01006389,E01006390,E01006391,E01006392,E01006393,E01006394,E01006395,E01006396,E01006397,E01006398,E01006399,E01006400,E01006401,E01006402,E01006403,E01006404,E01006405,E01006406,E01006407,E01006408,E01006409,E01006410,E01006411,E01006412,E01006413,E01006414,E01006415,E01006416,E01006417,E01006418,E01006419,E01006420,E01006421,E01006422,E01006423,E01006424,E01006425,E01006426,E01006427,E01006428,E01006429,E01006430,E01006431,E01006432,E01006433,E01006434,E01006435,E01006436,E01006437,E01006438,E01006439,E01006440,E01006442,E01006443,E01006444,E01006445,E01006446,E01006447,E01006448,E01006449,E01006450,E01006451,E01006452,E01006453,E01006454,E01006455,E01006456,E01006457,E01006458,E01006459,E01006460,E01006461,E01006462,E01006464,E01006465,E01006466,E01006467,E01006470,E01006471,E01006472,E01006473,E01006474,E01006475,E01006476,E01006477,E01006478,E01006479,E01006480,E01006481,E01006482,E01006483,E01006484,E01006485,E01006486,E01006487,E01006488,E01006489,E01006490,E01006491,E01006492,E01006493,E01006494,E01006495,E01006496,E01006497,E01006498,E01006499,E01006500,E01006501,E01006502,E01006503,E01006504,E01006505,E01006506,E01006507,E01006508,E01006509,E01006510,E01006512,E01006514,E01006518,E01006519,E01006520,E01006521,E01006522,E01006523,E01006524,E01006525,E01006526,E01006527,E01006528,E01006529,E01006530,E01006531,E01006532,E01006533,E01006534,E01006535,E01006536,E01006537,E01006538,E01006539,E01006540,E01006541,E01006542,E01006543,E01006544,E01006545,E01006546,E01006547,E01006548,E01006549,E01006550,E01006551,E01006552,E01006553,E01006554,E01006556,E01006557,E01006558,E01006560,E01006562,E01006563,E01006564,E01006565,E01006566,E01006567,E01006568,E01006569,E01006570,E01006571,E01006572,E01006573,E01006574,E01006575,E01006576,E01006577,E01006578,E01006579,E01006580,E01006581,E01006582,E01006583,E01006584,E01006585,E01006586,E01006587,E01006588,E01006589,E01006590,E01006591,E01006592,E01006593,E01006594,E01006595,E01006596,E01006597,E01006598,E01006599,E01006600,E01006603,E01006604,E01006605,E01006606,E01006607,E01006608,E01006609,E01006610,E01006611,E01006612,E01006613,E01006614,E01006615,E01006616,E01006617,E01006618,E01006619,E01006620,E01006621,E01006622,E01006623,E01006624,E01006625,E01006626,E01006627,E01006628,E01006629,E01006630,E01006632,E01006633,E01006637,E01006638,E01006639,E01006640,E01006641,E01006642,E01006643,E01006644,E01006645,E01006646,E01006647,E01006648,E01006651,E01006652,E01006653,E01006654,E01006655,E01006656,E01006657,E01006658,E01006659,E01006660,E01006661,E01006662,E01006663,E01006664,E01006665,E01006666,E01006667,E01006668,E01006669,E01006670,E01006671,E01006672,E01006673,E01006674,E01006675,E01006676,E01006677,E01006678,E01006679,E01006680,E01006681,E01006682,E01006683,E01006684,E01006685,E01006686,E01006687,E01006688,E01006689,E01006690,E01006691,E01006692,E01006693,E01006694,E01006695,E01006696,E01006697,E01006698,E01006699,E01006700,E01006701,E01006702,E01006703,E01006705,E01006706,E01006707,E01006708,E01006709,E01006710,E01006711,E01006712,E01006713,E01006716,E01006717,E01006718,E01006719,E01006721,E01006722,E01006723,E01006724,E01006725,E01006726,E01006727,E01006728,E01006729,E01006730,E01006731,E01006732,E01006734,E01006735,E01006736,E01006737,E01006738,E01006739,E01006740,E01006741,E01006742,E01006743,E01006744,E01006745,E01006746,E01006747,E01006748,E01006751,E01006753,E01006754,E01006755,E01006756,E01006757,E01006758,E01006759,E01006760,E01006761,E01006762,E01006763,E01006764,E01006765,E01006766,E01006767,E01006768,E01006769,E01006770,E01006771,E01006772,E01006773,E01006774,E01006775,E01006776,E01006778,E01006779,E01006780,E01006781,E01006782,E01006783,E01006784,E01006785,E01006786,E01006787,E01006788,E01006790,E01006791,E01006792,E01006793,E01006794,E01006795,E01006796,E01006797,E01006798,E01006799,E01006800,E01006801,E01006802,E01006803,E01006804,E01006805,E01006806,E01006807,E01006808,E01006809,E01006810,E01006811,E01006812,E01006813,E01006814,E01006815,E01006816,E01006817,E01006818,E01006819,E01006820,E01006821,E01006822,E01006823,E01006824,E01006825,E01006826,E01006827,E01006828,E01006829,E01006830,E01006831,E01006832,E01006833,E01006834,E01006835,E01006836,E01006837,E01006838,E01006839,E01006840,E01006841,E01006842,E01006843,E01006844,E01006845,E01006846,E01006847,E01006848&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_013.json.gz + content_sha256: 9d09995d95ebde885e26ff7771c14d466e8b50785ea764cdd4b4fe4ccdb33d69 +- id: census_lsoa_tenure5a_bedrooms_014 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 014 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01006849,E01006850,E01006851,E01006852,E01006853,E01006854,E01006855,E01006856,E01006857,E01006858,E01006859,E01006860,E01006861,E01006862,E01006863,E01006864,E01006866,E01006867,E01006868,E01006869,E01006870,E01006871,E01006872,E01006873,E01006874,E01006875,E01006876,E01006877,E01006878,E01006879,E01006880,E01006881,E01006882,E01006883,E01006884,E01006885,E01006886,E01006887,E01006888,E01006889,E01006890,E01006891,E01006892,E01006893,E01006894,E01006895,E01006896,E01006897,E01006898,E01006899,E01006901,E01006903,E01006904,E01006905,E01006906,E01006907,E01006908,E01006909,E01006910,E01006911,E01006912,E01006913,E01006914,E01006915,E01006916,E01006917,E01006918,E01006919,E01006920,E01006921,E01006922,E01006923,E01006924,E01006925,E01006926,E01006927,E01006928,E01006929,E01006930,E01006931,E01006932,E01006933,E01006934,E01006935,E01006936,E01006937,E01006938,E01006939,E01006940,E01006941,E01006942,E01006943,E01006944,E01006945,E01006946,E01006947,E01006948,E01006949,E01006950,E01006951,E01006952,E01006953,E01006954,E01006955,E01006956,E01006957,E01006958,E01006959,E01006960,E01006961,E01006962,E01006963,E01006964,E01006965,E01006966,E01006967,E01006969,E01006970,E01006971,E01006972,E01006973,E01006974,E01006976,E01006977,E01006978,E01006979,E01006980,E01006981,E01006982,E01006983,E01006984,E01006985,E01006986,E01006987,E01006988,E01006989,E01006990,E01006991,E01006992,E01006993,E01006994,E01006995,E01006996,E01006997,E01006998,E01006999,E01007000,E01007001,E01007002,E01007003,E01007004,E01007005,E01007006,E01007007,E01007008,E01007009,E01007010,E01007011,E01007012,E01007013,E01007014,E01007016,E01007017,E01007019,E01007020,E01007021,E01007022,E01007023,E01007024,E01007025,E01007026,E01007027,E01007028,E01007029,E01007030,E01007031,E01007032,E01007033,E01007034,E01007035,E01007036,E01007037,E01007038,E01007039,E01007040,E01007041,E01007042,E01007043,E01007044,E01007045,E01007046,E01007047,E01007048,E01007049,E01007050,E01007051,E01007052,E01007053,E01007054,E01007055,E01007056,E01007057,E01007058,E01007059,E01007060,E01007061,E01007062,E01007063,E01007064,E01007065,E01007066,E01007067,E01007068,E01007069,E01007070,E01007071,E01007072,E01007073,E01007074,E01007075,E01007076,E01007077,E01007078,E01007079,E01007080,E01007081,E01007082,E01007083,E01007084,E01007085,E01007086,E01007087,E01007088,E01007089,E01007090,E01007091,E01007092,E01007095,E01007096,E01007097,E01007098,E01007099,E01007100,E01007101,E01007102,E01007103,E01007104,E01007105,E01007106,E01007107,E01007108,E01007109,E01007110,E01007111,E01007112,E01007113,E01007114,E01007115,E01007116,E01007117,E01007118,E01007119,E01007120,E01007121,E01007122,E01007123,E01007124,E01007125,E01007127,E01007128,E01007129,E01007130,E01007131,E01007133,E01007135,E01007136,E01007137,E01007138,E01007139,E01007141,E01007142,E01007143,E01007144,E01007145,E01007146,E01007147,E01007148,E01007149,E01007150,E01007151,E01007152,E01007153,E01007154,E01007155,E01007156,E01007157,E01007158,E01007159,E01007160,E01007161,E01007162,E01007163,E01007164,E01007165,E01007166,E01007167,E01007168,E01007169,E01007170,E01007171,E01007172,E01007173,E01007174,E01007175,E01007176,E01007177,E01007178,E01007179,E01007180,E01007181,E01007182,E01007183,E01007184,E01007185,E01007186,E01007187,E01007188,E01007189,E01007190,E01007191,E01007192,E01007193,E01007194,E01007195,E01007196,E01007197,E01007198,E01007199,E01007200,E01007201,E01007202,E01007203,E01007204,E01007205,E01007206,E01007207,E01007208,E01007209,E01007210,E01007211,E01007212,E01007213,E01007214,E01007215,E01007216,E01007217,E01007218,E01007219,E01007220,E01007221,E01007222,E01007223,E01007224,E01007225,E01007226,E01007227,E01007228,E01007229,E01007230,E01007231,E01007232,E01007233,E01007234,E01007235,E01007236,E01007237,E01007238,E01007239,E01007240,E01007241,E01007242,E01007243,E01007244,E01007245,E01007246,E01007247,E01007248,E01007249,E01007250,E01007251,E01007252,E01007253,E01007254,E01007255,E01007256,E01007257,E01007258,E01007259,E01007260,E01007261,E01007262,E01007263,E01007264,E01007265,E01007266,E01007267,E01007268,E01007269,E01007270,E01007271,E01007272,E01007273,E01007274,E01007275,E01007276,E01007277,E01007278,E01007279,E01007280,E01007281,E01007282,E01007283,E01007284,E01007285,E01007286,E01007287,E01007288,E01007289,E01007290,E01007291,E01007292,E01007293,E01007294,E01007295,E01007296,E01007297,E01007298,E01007299,E01007300,E01007301,E01007302,E01007303,E01007304,E01007305,E01007306,E01007307,E01007308,E01007309,E01007310,E01007311,E01007312,E01007313,E01007314,E01007315,E01007316,E01007317,E01007318,E01007319,E01007320,E01007321,E01007322,E01007323,E01007324,E01007325,E01007326,E01007327,E01007328,E01007329,E01007330,E01007331,E01007332,E01007333,E01007334,E01007335,E01007336,E01007337,E01007338,E01007339,E01007340,E01007341,E01007342,E01007343,E01007344,E01007345,E01007346,E01007347,E01007348,E01007349,E01007350,E01007351,E01007352,E01007353,E01007354,E01007355,E01007356,E01007357,E01007358,E01007359,E01007360,E01007361&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_014.json.gz + content_sha256: a2c2b270bb056313d216efe12af93fde3ba5c7fd547ebce7d31ced4cd45cca18 +- id: census_lsoa_tenure5a_bedrooms_015 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 015 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01007362,E01007363,E01007364,E01007365,E01007366,E01007367,E01007368,E01007369,E01007370,E01007371,E01007372,E01007373,E01007374,E01007375,E01007376,E01007377,E01007378,E01007379,E01007380,E01007381,E01007382,E01007383,E01007384,E01007385,E01007386,E01007387,E01007388,E01007389,E01007390,E01007391,E01007392,E01007393,E01007394,E01007395,E01007396,E01007397,E01007398,E01007399,E01007400,E01007402,E01007403,E01007404,E01007405,E01007406,E01007408,E01007409,E01007410,E01007411,E01007413,E01007414,E01007415,E01007416,E01007417,E01007418,E01007419,E01007420,E01007421,E01007422,E01007423,E01007424,E01007425,E01007426,E01007427,E01007428,E01007429,E01007430,E01007431,E01007432,E01007433,E01007434,E01007435,E01007436,E01007437,E01007438,E01007439,E01007440,E01007441,E01007442,E01007443,E01007444,E01007445,E01007446,E01007447,E01007448,E01007449,E01007450,E01007451,E01007452,E01007453,E01007455,E01007456,E01007457,E01007458,E01007459,E01007460,E01007461,E01007462,E01007463,E01007464,E01007465,E01007466,E01007467,E01007468,E01007469,E01007470,E01007471,E01007472,E01007473,E01007474,E01007475,E01007476,E01007477,E01007478,E01007479,E01007480,E01007482,E01007483,E01007484,E01007485,E01007486,E01007487,E01007488,E01007489,E01007490,E01007491,E01007492,E01007493,E01007494,E01007495,E01007496,E01007497,E01007498,E01007499,E01007500,E01007501,E01007503,E01007504,E01007505,E01007506,E01007507,E01007508,E01007509,E01007510,E01007511,E01007512,E01007513,E01007514,E01007515,E01007516,E01007517,E01007518,E01007519,E01007520,E01007521,E01007522,E01007523,E01007524,E01007525,E01007526,E01007528,E01007529,E01007530,E01007531,E01007532,E01007533,E01007534,E01007535,E01007536,E01007537,E01007538,E01007539,E01007540,E01007541,E01007542,E01007543,E01007544,E01007545,E01007546,E01007547,E01007548,E01007549,E01007550,E01007551,E01007552,E01007553,E01007554,E01007555,E01007556,E01007557,E01007558,E01007559,E01007560,E01007561,E01007562,E01007563,E01007564,E01007565,E01007566,E01007567,E01007568,E01007569,E01007570,E01007571,E01007572,E01007573,E01007574,E01007575,E01007576,E01007577,E01007578,E01007579,E01007580,E01007581,E01007582,E01007583,E01007584,E01007585,E01007586,E01007587,E01007588,E01007589,E01007590,E01007591,E01007592,E01007593,E01007594,E01007595,E01007596,E01007597,E01007598,E01007599,E01007600,E01007601,E01007602,E01007603,E01007604,E01007605,E01007606,E01007607,E01007609,E01007610,E01007611,E01007612,E01007613,E01007614,E01007615,E01007616,E01007617,E01007618,E01007619,E01007620,E01007621,E01007622,E01007623,E01007624,E01007625,E01007626,E01007627,E01007628,E01007629,E01007630,E01007631,E01007632,E01007633,E01007634,E01007635,E01007636,E01007637,E01007638,E01007639,E01007640,E01007641,E01007642,E01007643,E01007644,E01007646,E01007647,E01007649,E01007650,E01007651,E01007652,E01007653,E01007654,E01007655,E01007656,E01007657,E01007658,E01007659,E01007660,E01007661,E01007662,E01007663,E01007664,E01007666,E01007667,E01007668,E01007669,E01007670,E01007671,E01007672,E01007673,E01007674,E01007675,E01007676,E01007677,E01007678,E01007679,E01007680,E01007681,E01007682,E01007683,E01007684,E01007685,E01007686,E01007687,E01007688,E01007689,E01007690,E01007691,E01007692,E01007694,E01007695,E01007696,E01007697,E01007698,E01007699,E01007700,E01007701,E01007702,E01007703,E01007704,E01007705,E01007706,E01007707,E01007708,E01007709,E01007710,E01007711,E01007712,E01007713,E01007714,E01007715,E01007716,E01007717,E01007718,E01007719,E01007720,E01007721,E01007723,E01007724,E01007725,E01007726,E01007727,E01007728,E01007729,E01007730,E01007731,E01007732,E01007733,E01007734,E01007735,E01007736,E01007737,E01007738,E01007739,E01007740,E01007741,E01007742,E01007743,E01007744,E01007745,E01007746,E01007747,E01007748,E01007749,E01007750,E01007751,E01007752,E01007753,E01007754,E01007755,E01007756,E01007757,E01007758,E01007759,E01007760,E01007761,E01007762,E01007763,E01007764,E01007765,E01007766,E01007767,E01007768,E01007769,E01007770,E01007771,E01007772,E01007773,E01007774,E01007775,E01007776,E01007777,E01007778,E01007779,E01007780,E01007781,E01007782,E01007783,E01007784,E01007785,E01007786,E01007788,E01007789,E01007790,E01007791,E01007792,E01007793,E01007794,E01007795,E01007796,E01007797,E01007798,E01007799,E01007800,E01007801,E01007802,E01007803,E01007804,E01007805,E01007806,E01007807,E01007808,E01007809,E01007810,E01007811,E01007812,E01007815,E01007816,E01007817,E01007818,E01007819,E01007820,E01007821,E01007822,E01007823,E01007824,E01007825,E01007826,E01007827,E01007828,E01007829,E01007830,E01007831,E01007832,E01007833,E01007834,E01007835,E01007836,E01007838,E01007839,E01007841,E01007842,E01007843,E01007846,E01007847,E01007848,E01007849,E01007850,E01007851,E01007852,E01007853,E01007854,E01007855,E01007856,E01007857,E01007858,E01007861,E01007862,E01007863,E01007864,E01007865,E01007866,E01007867,E01007868,E01007869,E01007870,E01007871,E01007872,E01007873,E01007874,E01007875,E01007878,E01007879,E01007881,E01007882,E01007883,E01007885,E01007886,E01007887&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_015.json.gz + content_sha256: ff8597c95828e7376ef99d0726a528ccec1463ad5640314841c72f8f08a5ea0f +- id: census_lsoa_tenure5a_bedrooms_016 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 016 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01007888,E01007889,E01007890,E01007891,E01007892,E01007893,E01007894,E01007895,E01007896,E01007897,E01007898,E01007899,E01007900,E01007901,E01007902,E01007903,E01007904,E01007905,E01007906,E01007907,E01007908,E01007909,E01007910,E01007911,E01007912,E01007913,E01007914,E01007915,E01007916,E01007917,E01007918,E01007919,E01007920,E01007921,E01007922,E01007923,E01007924,E01007925,E01007926,E01007927,E01007928,E01007929,E01007930,E01007931,E01007932,E01007933,E01007934,E01007935,E01007936,E01007937,E01007938,E01007939,E01007940,E01007941,E01007942,E01007943,E01007945,E01007946,E01007947,E01007948,E01007949,E01007950,E01007951,E01007952,E01007953,E01007954,E01007955,E01007956,E01007957,E01007958,E01007959,E01007960,E01007961,E01007962,E01007963,E01007964,E01007965,E01007966,E01007967,E01007968,E01007969,E01007970,E01007971,E01007972,E01007973,E01007974,E01007975,E01007976,E01007977,E01007978,E01007979,E01007980,E01007981,E01007982,E01007983,E01007984,E01007985,E01007986,E01007987,E01007988,E01007989,E01007990,E01007991,E01007992,E01007993,E01007994,E01007995,E01007996,E01007997,E01007998,E01007999,E01008000,E01008001,E01008002,E01008003,E01008004,E01008005,E01008006,E01008007,E01008008,E01008009,E01008010,E01008011,E01008012,E01008013,E01008014,E01008015,E01008016,E01008017,E01008018,E01008019,E01008020,E01008021,E01008022,E01008023,E01008024,E01008025,E01008027,E01008028,E01008029,E01008030,E01008031,E01008032,E01008033,E01008034,E01008035,E01008036,E01008037,E01008038,E01008039,E01008040,E01008041,E01008042,E01008043,E01008044,E01008045,E01008046,E01008047,E01008048,E01008049,E01008050,E01008051,E01008052,E01008053,E01008054,E01008055,E01008056,E01008057,E01008058,E01008059,E01008060,E01008061,E01008062,E01008063,E01008064,E01008065,E01008066,E01008067,E01008068,E01008069,E01008072,E01008073,E01008074,E01008075,E01008076,E01008077,E01008078,E01008079,E01008080,E01008081,E01008082,E01008083,E01008084,E01008085,E01008086,E01008087,E01008088,E01008089,E01008090,E01008091,E01008092,E01008093,E01008094,E01008095,E01008096,E01008097,E01008098,E01008099,E01008100,E01008101,E01008102,E01008103,E01008104,E01008105,E01008107,E01008108,E01008109,E01008111,E01008112,E01008113,E01008114,E01008115,E01008116,E01008117,E01008118,E01008119,E01008122,E01008123,E01008124,E01008125,E01008126,E01008128,E01008129,E01008130,E01008131,E01008132,E01008133,E01008134,E01008135,E01008136,E01008137,E01008138,E01008139,E01008140,E01008141,E01008142,E01008143,E01008144,E01008145,E01008146,E01008147,E01008148,E01008149,E01008150,E01008151,E01008152,E01008153,E01008154,E01008155,E01008156,E01008157,E01008158,E01008159,E01008160,E01008161,E01008162,E01008163,E01008164,E01008165,E01008166,E01008167,E01008170,E01008172,E01008173,E01008174,E01008175,E01008176,E01008177,E01008178,E01008179,E01008180,E01008181,E01008182,E01008183,E01008184,E01008185,E01008186,E01008188,E01008189,E01008190,E01008191,E01008192,E01008193,E01008194,E01008195,E01008196,E01008197,E01008198,E01008199,E01008200,E01008201,E01008202,E01008203,E01008204,E01008205,E01008206,E01008207,E01008208,E01008209,E01008210,E01008211,E01008212,E01008213,E01008214,E01008215,E01008216,E01008217,E01008218,E01008219,E01008220,E01008221,E01008222,E01008223,E01008224,E01008225,E01008226,E01008227,E01008228,E01008229,E01008230,E01008231,E01008232,E01008233,E01008234,E01008235,E01008236,E01008237,E01008238,E01008239,E01008240,E01008241,E01008242,E01008243,E01008244,E01008245,E01008246,E01008247,E01008248,E01008249,E01008250,E01008251,E01008252,E01008253,E01008254,E01008255,E01008256,E01008257,E01008258,E01008259,E01008260,E01008261,E01008262,E01008263,E01008264,E01008265,E01008266,E01008267,E01008268,E01008269,E01008270,E01008271,E01008272,E01008273,E01008274,E01008275,E01008276,E01008277,E01008278,E01008279,E01008280,E01008281,E01008282,E01008283,E01008284,E01008285,E01008286,E01008287,E01008288,E01008289,E01008290,E01008291,E01008292,E01008293,E01008294,E01008295,E01008296,E01008297,E01008298,E01008299,E01008300,E01008301,E01008302,E01008303,E01008305,E01008306,E01008307,E01008309,E01008311,E01008312,E01008313,E01008314,E01008315,E01008316,E01008317,E01008318,E01008319,E01008320,E01008321,E01008322,E01008323,E01008324,E01008325,E01008326,E01008327,E01008328,E01008329,E01008330,E01008331,E01008333,E01008334,E01008335,E01008336,E01008337,E01008338,E01008339,E01008340,E01008341,E01008342,E01008343,E01008344,E01008345,E01008346,E01008347,E01008348,E01008349,E01008350,E01008351,E01008352,E01008353,E01008354,E01008355,E01008356,E01008357,E01008358,E01008359,E01008360,E01008361,E01008362,E01008363,E01008364,E01008365,E01008366,E01008367,E01008368,E01008369,E01008370,E01008371,E01008372,E01008373,E01008374,E01008375,E01008376,E01008377,E01008378,E01008379,E01008380,E01008381,E01008382,E01008383,E01008384,E01008385,E01008386,E01008387,E01008388,E01008389,E01008390,E01008391,E01008392,E01008396,E01008397,E01008398,E01008399,E01008400,E01008401,E01008402,E01008403,E01008404,E01008405,E01008406,E01008407&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_016.json.gz + content_sha256: 3593580efd7daa4b0443eaf636a9561a7cf930836b9649a086bc167ae3dd8359 +- id: census_lsoa_tenure5a_bedrooms_017 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 017 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01008409,E01008410,E01008411,E01008412,E01008413,E01008415,E01008416,E01008418,E01008419,E01008420,E01008421,E01008422,E01008423,E01008424,E01008425,E01008426,E01008427,E01008428,E01008429,E01008430,E01008431,E01008432,E01008433,E01008434,E01008435,E01008436,E01008437,E01008438,E01008439,E01008441,E01008442,E01008443,E01008444,E01008445,E01008446,E01008447,E01008448,E01008449,E01008450,E01008451,E01008452,E01008453,E01008455,E01008456,E01008457,E01008458,E01008459,E01008460,E01008461,E01008462,E01008463,E01008464,E01008465,E01008466,E01008467,E01008468,E01008469,E01008470,E01008471,E01008472,E01008473,E01008474,E01008475,E01008476,E01008477,E01008478,E01008479,E01008480,E01008481,E01008482,E01008483,E01008484,E01008485,E01008486,E01008487,E01008488,E01008489,E01008490,E01008491,E01008492,E01008493,E01008494,E01008495,E01008496,E01008497,E01008498,E01008499,E01008500,E01008502,E01008503,E01008504,E01008505,E01008506,E01008507,E01008508,E01008509,E01008510,E01008511,E01008512,E01008513,E01008514,E01008516,E01008517,E01008518,E01008519,E01008520,E01008521,E01008522,E01008523,E01008524,E01008525,E01008526,E01008527,E01008528,E01008529,E01008530,E01008531,E01008532,E01008533,E01008534,E01008535,E01008536,E01008537,E01008538,E01008539,E01008540,E01008541,E01008542,E01008543,E01008544,E01008545,E01008546,E01008547,E01008548,E01008549,E01008550,E01008551,E01008552,E01008553,E01008554,E01008555,E01008556,E01008557,E01008558,E01008559,E01008560,E01008561,E01008562,E01008563,E01008564,E01008567,E01008568,E01008569,E01008570,E01008571,E01008572,E01008573,E01008574,E01008575,E01008576,E01008577,E01008578,E01008579,E01008580,E01008581,E01008582,E01008583,E01008584,E01008585,E01008586,E01008587,E01008588,E01008589,E01008590,E01008591,E01008592,E01008593,E01008594,E01008595,E01008596,E01008597,E01008598,E01008599,E01008600,E01008601,E01008602,E01008603,E01008604,E01008605,E01008606,E01008607,E01008608,E01008609,E01008610,E01008611,E01008612,E01008613,E01008614,E01008615,E01008616,E01008617,E01008618,E01008619,E01008620,E01008621,E01008622,E01008624,E01008625,E01008627,E01008628,E01008629,E01008630,E01008631,E01008632,E01008633,E01008634,E01008635,E01008636,E01008637,E01008638,E01008639,E01008640,E01008641,E01008642,E01008643,E01008644,E01008645,E01008646,E01008647,E01008648,E01008649,E01008650,E01008651,E01008652,E01008653,E01008654,E01008655,E01008656,E01008657,E01008658,E01008659,E01008660,E01008661,E01008662,E01008663,E01008664,E01008665,E01008666,E01008667,E01008668,E01008669,E01008670,E01008671,E01008672,E01008673,E01008674,E01008675,E01008676,E01008677,E01008678,E01008679,E01008680,E01008681,E01008682,E01008683,E01008684,E01008685,E01008686,E01008687,E01008688,E01008689,E01008690,E01008691,E01008692,E01008693,E01008694,E01008695,E01008696,E01008697,E01008698,E01008699,E01008700,E01008701,E01008702,E01008703,E01008704,E01008705,E01008706,E01008707,E01008708,E01008709,E01008711,E01008712,E01008713,E01008714,E01008715,E01008716,E01008717,E01008718,E01008719,E01008720,E01008721,E01008722,E01008723,E01008724,E01008725,E01008726,E01008727,E01008728,E01008730,E01008732,E01008733,E01008734,E01008735,E01008736,E01008737,E01008738,E01008739,E01008740,E01008741,E01008742,E01008743,E01008744,E01008745,E01008746,E01008747,E01008748,E01008749,E01008750,E01008751,E01008752,E01008753,E01008754,E01008755,E01008756,E01008757,E01008758,E01008759,E01008760,E01008761,E01008762,E01008763,E01008764,E01008765,E01008766,E01008767,E01008768,E01008769,E01008770,E01008771,E01008772,E01008773,E01008774,E01008775,E01008776,E01008777,E01008778,E01008779,E01008780,E01008781,E01008782,E01008783,E01008784,E01008785,E01008786,E01008787,E01008788,E01008789,E01008790,E01008791,E01008792,E01008793,E01008795,E01008796,E01008799,E01008800,E01008801,E01008802,E01008803,E01008804,E01008805,E01008808,E01008809,E01008810,E01008811,E01008812,E01008813,E01008814,E01008817,E01008819,E01008821,E01008822,E01008823,E01008824,E01008825,E01008826,E01008827,E01008828,E01008829,E01008830,E01008831,E01008832,E01008833,E01008834,E01008835,E01008836,E01008837,E01008838,E01008839,E01008840,E01008841,E01008842,E01008843,E01008844,E01008845,E01008846,E01008847,E01008848,E01008849,E01008851,E01008852,E01008853,E01008854,E01008855,E01008856,E01008857,E01008858,E01008859,E01008860,E01008861,E01008862,E01008863,E01008864,E01008865,E01008866,E01008867,E01008868,E01008869,E01008870,E01008871,E01008872,E01008873,E01008874,E01008875,E01008876,E01008877,E01008878,E01008879,E01008880,E01008881,E01008882,E01008883,E01008884,E01008885,E01008886,E01008887,E01008888,E01008889,E01008890,E01008891,E01008892,E01008893,E01008894,E01008895,E01008896,E01008897,E01008898,E01008899,E01008901,E01008905,E01008906,E01008907,E01008909,E01008910,E01008911,E01008913,E01008915,E01008916,E01008917,E01008918,E01008919,E01008920,E01008921,E01008923,E01008924,E01008925,E01008927,E01008928,E01008929,E01008930,E01008931,E01008932,E01008933,E01008934,E01008935,E01008936,E01008937,E01008938,E01008939,E01008940&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_017.json.gz + content_sha256: 2735279c62a9cbaacd0fa27b5de7dbd010881e5e985f00689aadd05842c9e897 +- id: census_lsoa_tenure5a_bedrooms_018 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 018 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01008941,E01008942,E01008943,E01008944,E01008945,E01008946,E01008947,E01008948,E01008949,E01008950,E01008951,E01008952,E01008953,E01008954,E01008955,E01008956,E01008957,E01008958,E01008959,E01008960,E01008961,E01008962,E01008963,E01008964,E01008965,E01008966,E01008967,E01008968,E01008969,E01008970,E01008971,E01008972,E01008973,E01008974,E01008975,E01008976,E01008977,E01008978,E01008979,E01008980,E01008981,E01008982,E01008984,E01008986,E01008987,E01008988,E01008989,E01008990,E01008991,E01008992,E01008994,E01008995,E01008996,E01008997,E01008998,E01008999,E01009000,E01009001,E01009002,E01009003,E01009005,E01009006,E01009007,E01009008,E01009009,E01009011,E01009012,E01009013,E01009014,E01009015,E01009016,E01009017,E01009018,E01009019,E01009020,E01009021,E01009022,E01009023,E01009024,E01009025,E01009026,E01009028,E01009029,E01009030,E01009031,E01009032,E01009033,E01009034,E01009035,E01009036,E01009037,E01009039,E01009040,E01009041,E01009042,E01009043,E01009044,E01009045,E01009046,E01009047,E01009048,E01009049,E01009050,E01009051,E01009053,E01009054,E01009056,E01009057,E01009058,E01009059,E01009060,E01009061,E01009062,E01009064,E01009065,E01009066,E01009067,E01009068,E01009069,E01009070,E01009071,E01009072,E01009073,E01009074,E01009075,E01009077,E01009078,E01009079,E01009080,E01009081,E01009082,E01009083,E01009084,E01009085,E01009086,E01009087,E01009088,E01009089,E01009090,E01009091,E01009092,E01009093,E01009094,E01009095,E01009096,E01009097,E01009098,E01009099,E01009100,E01009101,E01009102,E01009103,E01009104,E01009105,E01009106,E01009107,E01009108,E01009109,E01009110,E01009111,E01009112,E01009113,E01009114,E01009115,E01009116,E01009117,E01009118,E01009119,E01009120,E01009122,E01009123,E01009124,E01009125,E01009126,E01009127,E01009128,E01009129,E01009130,E01009131,E01009132,E01009133,E01009134,E01009135,E01009136,E01009137,E01009138,E01009139,E01009140,E01009141,E01009143,E01009145,E01009146,E01009147,E01009151,E01009152,E01009153,E01009155,E01009157,E01009158,E01009159,E01009160,E01009161,E01009162,E01009164,E01009165,E01009166,E01009167,E01009168,E01009169,E01009170,E01009171,E01009172,E01009173,E01009174,E01009175,E01009176,E01009177,E01009178,E01009179,E01009182,E01009183,E01009184,E01009185,E01009186,E01009187,E01009188,E01009189,E01009192,E01009195,E01009197,E01009199,E01009200,E01009201,E01009202,E01009204,E01009205,E01009206,E01009207,E01009208,E01009209,E01009210,E01009211,E01009212,E01009213,E01009214,E01009215,E01009216,E01009217,E01009218,E01009219,E01009220,E01009221,E01009222,E01009223,E01009224,E01009225,E01009226,E01009227,E01009228,E01009229,E01009230,E01009231,E01009232,E01009233,E01009234,E01009235,E01009236,E01009237,E01009238,E01009239,E01009240,E01009241,E01009242,E01009243,E01009244,E01009245,E01009246,E01009247,E01009248,E01009249,E01009250,E01009251,E01009252,E01009253,E01009254,E01009255,E01009256,E01009257,E01009258,E01009259,E01009260,E01009261,E01009262,E01009263,E01009264,E01009265,E01009266,E01009267,E01009268,E01009269,E01009270,E01009271,E01009272,E01009273,E01009274,E01009275,E01009276,E01009278,E01009279,E01009280,E01009281,E01009282,E01009283,E01009284,E01009286,E01009288,E01009289,E01009290,E01009291,E01009292,E01009293,E01009294,E01009295,E01009296,E01009297,E01009298,E01009299,E01009300,E01009301,E01009302,E01009303,E01009304,E01009305,E01009306,E01009307,E01009308,E01009309,E01009310,E01009311,E01009312,E01009313,E01009314,E01009315,E01009316,E01009317,E01009318,E01009319,E01009320,E01009321,E01009322,E01009323,E01009324,E01009325,E01009326,E01009327,E01009328,E01009329,E01009331,E01009332,E01009333,E01009334,E01009335,E01009337,E01009338,E01009339,E01009341,E01009342,E01009343,E01009344,E01009345,E01009346,E01009347,E01009348,E01009349,E01009350,E01009351,E01009352,E01009353,E01009354,E01009355,E01009358,E01009359,E01009360,E01009361,E01009362,E01009363,E01009364,E01009365,E01009366,E01009367,E01009368,E01009371,E01009372,E01009373,E01009374,E01009375,E01009376,E01009377,E01009379,E01009380,E01009382,E01009383,E01009384,E01009385,E01009389,E01009390,E01009391,E01009392,E01009393,E01009394,E01009395,E01009396,E01009397,E01009399,E01009400,E01009401,E01009403,E01009404,E01009405,E01009406,E01009407,E01009408,E01009409,E01009410,E01009411,E01009412,E01009413,E01009414,E01009415,E01009416,E01009417,E01009418,E01009419,E01009420,E01009421,E01009422,E01009423,E01009424,E01009425,E01009426,E01009427,E01009428,E01009429,E01009430,E01009431,E01009432,E01009433,E01009434,E01009435,E01009436,E01009437,E01009438,E01009439,E01009440,E01009441,E01009442,E01009443,E01009444,E01009445,E01009446,E01009447,E01009448,E01009449,E01009450,E01009451,E01009452,E01009453,E01009454,E01009455,E01009456,E01009457,E01009458,E01009459,E01009460,E01009461,E01009462,E01009463,E01009464,E01009465,E01009466,E01009467,E01009468,E01009469,E01009470,E01009471,E01009472,E01009473,E01009474,E01009475,E01009476,E01009477,E01009478,E01009479,E01009480,E01009481,E01009482,E01009483,E01009484,E01009485,E01009486&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_018.json.gz + content_sha256: 6ab662cda6344f8b67014580148f51e5eb3e3c1b7638b9a2a8a0314940d3526d +- id: census_lsoa_tenure5a_bedrooms_019 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 019 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01009487,E01009488,E01009489,E01009490,E01009491,E01009492,E01009493,E01009494,E01009495,E01009496,E01009497,E01009498,E01009499,E01009500,E01009501,E01009502,E01009503,E01009504,E01009505,E01009506,E01009507,E01009508,E01009509,E01009510,E01009511,E01009512,E01009513,E01009514,E01009515,E01009516,E01009517,E01009518,E01009519,E01009520,E01009521,E01009522,E01009523,E01009524,E01009525,E01009526,E01009527,E01009528,E01009529,E01009530,E01009531,E01009532,E01009535,E01009536,E01009537,E01009538,E01009539,E01009540,E01009541,E01009542,E01009543,E01009544,E01009548,E01009549,E01009550,E01009552,E01009553,E01009554,E01009555,E01009556,E01009557,E01009558,E01009559,E01009560,E01009561,E01009562,E01009563,E01009564,E01009565,E01009566,E01009567,E01009568,E01009569,E01009570,E01009571,E01009573,E01009574,E01009575,E01009576,E01009577,E01009578,E01009579,E01009580,E01009581,E01009582,E01009583,E01009584,E01009585,E01009586,E01009587,E01009588,E01009589,E01009590,E01009591,E01009592,E01009593,E01009594,E01009596,E01009597,E01009598,E01009599,E01009604,E01009605,E01009606,E01009607,E01009608,E01009609,E01009610,E01009612,E01009613,E01009614,E01009615,E01009616,E01009617,E01009618,E01009620,E01009621,E01009622,E01009623,E01009624,E01009625,E01009626,E01009627,E01009628,E01009630,E01009631,E01009632,E01009633,E01009634,E01009636,E01009637,E01009638,E01009639,E01009640,E01009641,E01009643,E01009644,E01009645,E01009646,E01009647,E01009648,E01009649,E01009650,E01009651,E01009652,E01009653,E01009654,E01009655,E01009656,E01009657,E01009658,E01009659,E01009660,E01009661,E01009662,E01009663,E01009664,E01009665,E01009666,E01009667,E01009668,E01009669,E01009670,E01009671,E01009672,E01009674,E01009676,E01009679,E01009681,E01009682,E01009683,E01009684,E01009685,E01009686,E01009687,E01009688,E01009689,E01009690,E01009691,E01009692,E01009693,E01009694,E01009695,E01009696,E01009697,E01009698,E01009699,E01009700,E01009701,E01009702,E01009704,E01009705,E01009706,E01009707,E01009708,E01009709,E01009710,E01009711,E01009712,E01009713,E01009714,E01009715,E01009716,E01009717,E01009718,E01009719,E01009720,E01009721,E01009722,E01009723,E01009724,E01009725,E01009726,E01009727,E01009728,E01009729,E01009730,E01009731,E01009732,E01009733,E01009734,E01009735,E01009736,E01009737,E01009738,E01009739,E01009740,E01009741,E01009742,E01009743,E01009744,E01009745,E01009746,E01009747,E01009748,E01009749,E01009750,E01009751,E01009752,E01009753,E01009754,E01009756,E01009757,E01009758,E01009759,E01009760,E01009762,E01009763,E01009764,E01009765,E01009766,E01009767,E01009768,E01009769,E01009770,E01009771,E01009772,E01009773,E01009774,E01009775,E01009776,E01009777,E01009778,E01009779,E01009780,E01009781,E01009782,E01009783,E01009784,E01009785,E01009786,E01009787,E01009788,E01009789,E01009790,E01009791,E01009792,E01009793,E01009794,E01009795,E01009796,E01009797,E01009798,E01009799,E01009800,E01009801,E01009802,E01009803,E01009804,E01009805,E01009806,E01009807,E01009808,E01009809,E01009810,E01009811,E01009812,E01009813,E01009814,E01009815,E01009816,E01009817,E01009818,E01009819,E01009820,E01009821,E01009822,E01009823,E01009824,E01009825,E01009826,E01009827,E01009828,E01009829,E01009830,E01009831,E01009832,E01009833,E01009834,E01009835,E01009836,E01009837,E01009838,E01009839,E01009840,E01009841,E01009842,E01009843,E01009844,E01009845,E01009846,E01009847,E01009848,E01009849,E01009850,E01009851,E01009852,E01009853,E01009854,E01009855,E01009856,E01009857,E01009858,E01009859,E01009860,E01009861,E01009862,E01009863,E01009864,E01009865,E01009866,E01009867,E01009868,E01009869,E01009870,E01009871,E01009872,E01009873,E01009874,E01009875,E01009876,E01009877,E01009878,E01009879,E01009880,E01009882,E01009883,E01009884,E01009885,E01009886,E01009887,E01009888,E01009889,E01009890,E01009891,E01009892,E01009893,E01009894,E01009895,E01009896,E01009897,E01009898,E01009899,E01009900,E01009901,E01009902,E01009903,E01009904,E01009905,E01009906,E01009907,E01009908,E01009909,E01009910,E01009911,E01009912,E01009913,E01009914,E01009915,E01009916,E01009917,E01009918,E01009919,E01009920,E01009921,E01009922,E01009923,E01009924,E01009925,E01009926,E01009927,E01009928,E01009929,E01009930,E01009931,E01009932,E01009933,E01009934,E01009935,E01009936,E01009937,E01009938,E01009939,E01009940,E01009941,E01009942,E01009943,E01009944,E01009946,E01009947,E01009948,E01009949,E01009950,E01009951,E01009952,E01009953,E01009954,E01009955,E01009956,E01009957,E01009958,E01009959,E01009960,E01009961,E01009962,E01009963,E01009964,E01009965,E01009966,E01009967,E01009968,E01009969,E01009970,E01009971,E01009972,E01009973,E01009974,E01009975,E01009976,E01009977,E01009978,E01009979,E01009980,E01009981,E01009982,E01009983,E01009985,E01009986,E01009987,E01009988,E01009989,E01009991,E01009992,E01009993,E01009994,E01009995,E01009996,E01009997,E01009998,E01009999,E01010000,E01010001,E01010002,E01010003,E01010004,E01010005,E01010006,E01010007,E01010008,E01010009,E01010010,E01010011,E01010012,E01010013,E01010014,E01010015&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_019.json.gz + content_sha256: 991bfb82cfec76af908a8d96b87346722b5f82856a9bd9118a2fd9c03eacfe2d +- id: census_lsoa_tenure5a_bedrooms_020 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 020 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01010016,E01010017,E01010018,E01010019,E01010020,E01010021,E01010022,E01010023,E01010024,E01010025,E01010026,E01010027,E01010028,E01010029,E01010030,E01010031,E01010032,E01010033,E01010034,E01010035,E01010036,E01010037,E01010038,E01010039,E01010040,E01010041,E01010042,E01010043,E01010044,E01010045,E01010046,E01010047,E01010048,E01010049,E01010050,E01010051,E01010052,E01010053,E01010054,E01010055,E01010056,E01010057,E01010058,E01010059,E01010060,E01010061,E01010062,E01010064,E01010066,E01010067,E01010068,E01010069,E01010070,E01010071,E01010072,E01010073,E01010075,E01010076,E01010077,E01010078,E01010079,E01010080,E01010081,E01010082,E01010083,E01010084,E01010085,E01010086,E01010087,E01010088,E01010089,E01010090,E01010091,E01010092,E01010093,E01010094,E01010095,E01010096,E01010097,E01010098,E01010099,E01010100,E01010101,E01010102,E01010103,E01010104,E01010105,E01010106,E01010107,E01010108,E01010109,E01010110,E01010111,E01010112,E01010113,E01010114,E01010115,E01010116,E01010117,E01010118,E01010119,E01010120,E01010121,E01010122,E01010123,E01010124,E01010125,E01010126,E01010127,E01010128,E01010129,E01010130,E01010131,E01010132,E01010133,E01010134,E01010135,E01010136,E01010137,E01010138,E01010139,E01010140,E01010141,E01010142,E01010143,E01010144,E01010145,E01010146,E01010147,E01010148,E01010149,E01010150,E01010151,E01010152,E01010153,E01010154,E01010155,E01010156,E01010157,E01010158,E01010159,E01010160,E01010161,E01010162,E01010163,E01010164,E01010165,E01010166,E01010167,E01010168,E01010169,E01010170,E01010171,E01010172,E01010173,E01010174,E01010175,E01010176,E01010177,E01010178,E01010179,E01010180,E01010181,E01010183,E01010184,E01010185,E01010186,E01010187,E01010188,E01010189,E01010190,E01010191,E01010192,E01010193,E01010194,E01010195,E01010196,E01010197,E01010198,E01010199,E01010200,E01010201,E01010202,E01010203,E01010204,E01010205,E01010206,E01010207,E01010208,E01010209,E01010210,E01010211,E01010212,E01010213,E01010214,E01010215,E01010216,E01010217,E01010218,E01010219,E01010220,E01010221,E01010222,E01010223,E01010225,E01010226,E01010227,E01010228,E01010229,E01010230,E01010231,E01010232,E01010233,E01010234,E01010235,E01010236,E01010237,E01010238,E01010239,E01010240,E01010241,E01010242,E01010243,E01010244,E01010245,E01010246,E01010247,E01010248,E01010249,E01010250,E01010251,E01010252,E01010253,E01010254,E01010255,E01010256,E01010257,E01010258,E01010259,E01010260,E01010261,E01010262,E01010263,E01010264,E01010265,E01010266,E01010267,E01010268,E01010269,E01010270,E01010271,E01010272,E01010273,E01010274,E01010275,E01010277,E01010279,E01010282,E01010283,E01010284,E01010285,E01010286,E01010287,E01010288,E01010289,E01010290,E01010291,E01010292,E01010293,E01010294,E01010295,E01010296,E01010297,E01010298,E01010299,E01010300,E01010301,E01010302,E01010303,E01010304,E01010305,E01010306,E01010307,E01010308,E01010309,E01010310,E01010311,E01010312,E01010313,E01010314,E01010315,E01010316,E01010317,E01010318,E01010319,E01010320,E01010321,E01010322,E01010323,E01010324,E01010325,E01010326,E01010327,E01010328,E01010329,E01010330,E01010331,E01010332,E01010333,E01010334,E01010335,E01010336,E01010337,E01010338,E01010339,E01010340,E01010341,E01010342,E01010343,E01010344,E01010345,E01010346,E01010347,E01010348,E01010349,E01010350,E01010351,E01010352,E01010353,E01010354,E01010355,E01010356,E01010357,E01010358,E01010359,E01010360,E01010361,E01010362,E01010363,E01010364,E01010365,E01010366,E01010367,E01010368,E01010369,E01010370,E01010372,E01010373,E01010374,E01010375,E01010376,E01010377,E01010378,E01010379,E01010380,E01010381,E01010382,E01010383,E01010384,E01010385,E01010386,E01010387,E01010388,E01010389,E01010390,E01010391,E01010392,E01010393,E01010394,E01010395,E01010396,E01010397,E01010398,E01010399,E01010400,E01010401,E01010402,E01010403,E01010404,E01010405,E01010406,E01010407,E01010408,E01010409,E01010410,E01010411,E01010412,E01010413,E01010414,E01010415,E01010416,E01010417,E01010418,E01010419,E01010420,E01010421,E01010422,E01010423,E01010424,E01010425,E01010426,E01010427,E01010428,E01010429,E01010430,E01010431,E01010432,E01010433,E01010434,E01010436,E01010437,E01010438,E01010439,E01010440,E01010441,E01010442,E01010443,E01010444,E01010445,E01010446,E01010447,E01010448,E01010449,E01010450,E01010451,E01010452,E01010454,E01010455,E01010456,E01010457,E01010458,E01010459,E01010460,E01010461,E01010462,E01010463,E01010464,E01010465,E01010466,E01010467,E01010468,E01010469,E01010470,E01010471,E01010472,E01010473,E01010474,E01010475,E01010476,E01010477,E01010478,E01010479,E01010480,E01010481,E01010482,E01010483,E01010484,E01010485,E01010486,E01010487,E01010488,E01010489,E01010490,E01010491,E01010492,E01010493,E01010494,E01010495,E01010496,E01010497,E01010498,E01010499,E01010500,E01010501,E01010502,E01010503,E01010504,E01010505,E01010506,E01010507,E01010508,E01010509,E01010510,E01010511,E01010512,E01010513,E01010514,E01010515,E01010516,E01010517,E01010518,E01010519,E01010520,E01010522,E01010523,E01010524,E01010525,E01010526,E01010527,E01010528&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_020.json.gz + content_sha256: b387b523cd9cc997de28791e403126500c110014b46efc3b1fc2a75aaedff642 +- id: census_lsoa_tenure5a_bedrooms_021 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 021 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01010529,E01010530,E01010531,E01010532,E01010533,E01010534,E01010535,E01010536,E01010537,E01010538,E01010539,E01010540,E01010541,E01010542,E01010543,E01010544,E01010545,E01010546,E01010547,E01010548,E01010549,E01010550,E01010551,E01010552,E01010553,E01010554,E01010555,E01010556,E01010557,E01010558,E01010559,E01010560,E01010561,E01010562,E01010563,E01010564,E01010565,E01010566,E01010567,E01010568,E01010569,E01010570,E01010571,E01010572,E01010573,E01010574,E01010575,E01010576,E01010577,E01010578,E01010579,E01010580,E01010581,E01010582,E01010583,E01010584,E01010585,E01010586,E01010587,E01010588,E01010589,E01010590,E01010591,E01010592,E01010593,E01010594,E01010595,E01010596,E01010597,E01010598,E01010599,E01010600,E01010601,E01010602,E01010603,E01010604,E01010605,E01010606,E01010607,E01010608,E01010609,E01010610,E01010611,E01010612,E01010613,E01010614,E01010615,E01010616,E01010617,E01010618,E01010619,E01010620,E01010621,E01010622,E01010623,E01010624,E01010625,E01010626,E01010627,E01010628,E01010629,E01010630,E01010631,E01010632,E01010633,E01010634,E01010635,E01010636,E01010637,E01010638,E01010639,E01010640,E01010641,E01010642,E01010643,E01010644,E01010645,E01010646,E01010647,E01010648,E01010649,E01010650,E01010651,E01010652,E01010653,E01010654,E01010655,E01010656,E01010657,E01010658,E01010659,E01010662,E01010663,E01010664,E01010665,E01010666,E01010667,E01010668,E01010669,E01010670,E01010671,E01010672,E01010673,E01010674,E01010675,E01010676,E01010678,E01010679,E01010680,E01010681,E01010682,E01010683,E01010684,E01010685,E01010686,E01010687,E01010688,E01010689,E01010690,E01010691,E01010692,E01010693,E01010694,E01010695,E01010696,E01010697,E01010698,E01010699,E01010700,E01010701,E01010702,E01010703,E01010704,E01010705,E01010706,E01010707,E01010708,E01010709,E01010710,E01010711,E01010712,E01010713,E01010714,E01010715,E01010716,E01010717,E01010718,E01010719,E01010720,E01010721,E01010722,E01010723,E01010724,E01010725,E01010726,E01010727,E01010728,E01010729,E01010730,E01010731,E01010732,E01010733,E01010734,E01010735,E01010736,E01010737,E01010738,E01010739,E01010740,E01010741,E01010742,E01010743,E01010744,E01010745,E01010746,E01010747,E01010748,E01010749,E01010750,E01010751,E01010752,E01010753,E01010754,E01010755,E01010756,E01010758,E01010759,E01010760,E01010761,E01010762,E01010763,E01010764,E01010765,E01010766,E01010767,E01010768,E01010769,E01010770,E01010771,E01010772,E01010773,E01010774,E01010775,E01010776,E01010777,E01010778,E01010779,E01010781,E01010782,E01010783,E01010784,E01010785,E01010786,E01010787,E01010788,E01010789,E01010790,E01010791,E01010792,E01010793,E01010794,E01010795,E01010796,E01010797,E01010798,E01010799,E01010800,E01010801,E01010802,E01010803,E01010804,E01010805,E01010806,E01010807,E01010808,E01010809,E01010810,E01010811,E01010812,E01010813,E01010814,E01010815,E01010816,E01010817,E01010818,E01010819,E01010820,E01010821,E01010822,E01010824,E01010825,E01010826,E01010827,E01010828,E01010829,E01010830,E01010831,E01010832,E01010833,E01010834,E01010836,E01010837,E01010838,E01010839,E01010840,E01010841,E01010842,E01010843,E01010845,E01010846,E01010847,E01010848,E01010849,E01010850,E01010851,E01010852,E01010853,E01010854,E01010855,E01010856,E01010857,E01010858,E01010859,E01010860,E01010861,E01010862,E01010863,E01010864,E01010865,E01010866,E01010867,E01010868,E01010869,E01010870,E01010871,E01010872,E01010873,E01010874,E01010875,E01010876,E01010877,E01010878,E01010879,E01010880,E01010881,E01010882,E01010883,E01010884,E01010885,E01010886,E01010887,E01010888,E01010889,E01010890,E01010891,E01010892,E01010893,E01010894,E01010895,E01010896,E01010897,E01010898,E01010899,E01010900,E01010901,E01010902,E01010903,E01010904,E01010905,E01010906,E01010907,E01010908,E01010909,E01010910,E01010911,E01010912,E01010913,E01010914,E01010915,E01010916,E01010917,E01010918,E01010919,E01010920,E01010921,E01010922,E01010923,E01010924,E01010925,E01010926,E01010927,E01010928,E01010929,E01010930,E01010931,E01010932,E01010933,E01010934,E01010935,E01010936,E01010937,E01010938,E01010939,E01010940,E01010941,E01010942,E01010943,E01010944,E01010945,E01010946,E01010947,E01010948,E01010949,E01010950,E01010951,E01010952,E01010953,E01010954,E01010955,E01010956,E01010957,E01010958,E01010959,E01010960,E01010961,E01010964,E01010965,E01010966,E01010967,E01010968,E01010969,E01010970,E01010971,E01010972,E01010973,E01010974,E01010975,E01010976,E01010977,E01010978,E01010979,E01010980,E01010981,E01010982,E01010983,E01010984,E01010985,E01010986,E01010987,E01010988,E01010989,E01010990,E01010991,E01010992,E01010993,E01010995,E01010996,E01010997,E01010998,E01010999,E01011000,E01011001,E01011002,E01011003,E01011004,E01011005,E01011006,E01011007,E01011008,E01011009,E01011010,E01011011,E01011012,E01011013,E01011014,E01011015,E01011016,E01011017,E01011018,E01011019,E01011020,E01011021,E01011022,E01011023,E01011024,E01011025,E01011026,E01011027,E01011028,E01011029,E01011030,E01011031,E01011032,E01011033,E01011034,E01011035,E01011036,E01011037,E01011038,E01011039&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_021.json.gz + content_sha256: 3637e46ec114e299a839f91b0862f412e352fcf6e80e3f7fb2e57462be3e0310 +- id: census_lsoa_tenure5a_bedrooms_022 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 022 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01011040,E01011041,E01011042,E01011043,E01011044,E01011045,E01011046,E01011047,E01011048,E01011049,E01011050,E01011051,E01011052,E01011053,E01011054,E01011055,E01011056,E01011057,E01011058,E01011059,E01011060,E01011061,E01011062,E01011063,E01011064,E01011065,E01011066,E01011067,E01011068,E01011069,E01011070,E01011071,E01011072,E01011073,E01011074,E01011075,E01011076,E01011077,E01011078,E01011079,E01011080,E01011081,E01011082,E01011083,E01011084,E01011085,E01011086,E01011087,E01011088,E01011089,E01011090,E01011091,E01011092,E01011093,E01011094,E01011095,E01011096,E01011097,E01011098,E01011099,E01011100,E01011101,E01011102,E01011103,E01011104,E01011105,E01011106,E01011107,E01011108,E01011109,E01011110,E01011111,E01011112,E01011113,E01011114,E01011115,E01011116,E01011117,E01011118,E01011119,E01011120,E01011121,E01011122,E01011123,E01011124,E01011125,E01011126,E01011127,E01011128,E01011129,E01011130,E01011132,E01011133,E01011134,E01011136,E01011137,E01011138,E01011139,E01011140,E01011141,E01011142,E01011143,E01011144,E01011145,E01011146,E01011147,E01011148,E01011149,E01011150,E01011151,E01011152,E01011153,E01011154,E01011155,E01011156,E01011157,E01011158,E01011159,E01011160,E01011161,E01011162,E01011163,E01011164,E01011165,E01011166,E01011167,E01011168,E01011169,E01011170,E01011173,E01011174,E01011175,E01011176,E01011177,E01011178,E01011179,E01011180,E01011181,E01011182,E01011183,E01011184,E01011185,E01011186,E01011187,E01011188,E01011189,E01011190,E01011191,E01011192,E01011193,E01011194,E01011195,E01011196,E01011197,E01011198,E01011199,E01011200,E01011201,E01011202,E01011203,E01011204,E01011205,E01011206,E01011207,E01011208,E01011210,E01011211,E01011212,E01011213,E01011214,E01011215,E01011216,E01011217,E01011218,E01011219,E01011220,E01011221,E01011222,E01011223,E01011224,E01011225,E01011226,E01011227,E01011228,E01011229,E01011230,E01011231,E01011232,E01011233,E01011234,E01011235,E01011236,E01011237,E01011238,E01011239,E01011240,E01011241,E01011242,E01011243,E01011244,E01011245,E01011246,E01011247,E01011248,E01011249,E01011250,E01011251,E01011252,E01011253,E01011254,E01011255,E01011256,E01011257,E01011258,E01011259,E01011260,E01011261,E01011262,E01011263,E01011264,E01011265,E01011266,E01011267,E01011268,E01011269,E01011270,E01011271,E01011272,E01011273,E01011274,E01011275,E01011276,E01011277,E01011278,E01011279,E01011280,E01011281,E01011282,E01011283,E01011284,E01011286,E01011287,E01011292,E01011293,E01011294,E01011295,E01011296,E01011297,E01011298,E01011299,E01011300,E01011301,E01011302,E01011303,E01011304,E01011305,E01011306,E01011307,E01011308,E01011309,E01011310,E01011311,E01011312,E01011313,E01011314,E01011315,E01011316,E01011317,E01011318,E01011319,E01011320,E01011321,E01011322,E01011323,E01011324,E01011325,E01011326,E01011327,E01011328,E01011329,E01011330,E01011331,E01011332,E01011333,E01011334,E01011335,E01011336,E01011337,E01011338,E01011339,E01011340,E01011341,E01011342,E01011343,E01011344,E01011345,E01011346,E01011347,E01011348,E01011349,E01011350,E01011351,E01011352,E01011353,E01011354,E01011355,E01011356,E01011357,E01011358,E01011359,E01011360,E01011361,E01011362,E01011363,E01011364,E01011366,E01011368,E01011369,E01011370,E01011371,E01011372,E01011373,E01011374,E01011375,E01011376,E01011377,E01011378,E01011379,E01011380,E01011381,E01011382,E01011383,E01011384,E01011385,E01011386,E01011388,E01011390,E01011391,E01011392,E01011393,E01011394,E01011395,E01011396,E01011397,E01011398,E01011399,E01011400,E01011401,E01011402,E01011403,E01011404,E01011405,E01011406,E01011407,E01011408,E01011409,E01011410,E01011411,E01011412,E01011413,E01011414,E01011415,E01011416,E01011417,E01011418,E01011419,E01011420,E01011421,E01011422,E01011423,E01011424,E01011425,E01011426,E01011427,E01011428,E01011429,E01011430,E01011431,E01011432,E01011433,E01011434,E01011435,E01011440,E01011441,E01011442,E01011443,E01011444,E01011445,E01011446,E01011447,E01011448,E01011449,E01011450,E01011451,E01011452,E01011453,E01011454,E01011455,E01011456,E01011457,E01011458,E01011459,E01011460,E01011461,E01011462,E01011463,E01011464,E01011465,E01011466,E01011467,E01011468,E01011469,E01011470,E01011471,E01011472,E01011473,E01011474,E01011475,E01011476,E01011477,E01011478,E01011479,E01011480,E01011481,E01011482,E01011483,E01011484,E01011485,E01011488,E01011489,E01011491,E01011492,E01011493,E01011494,E01011496,E01011497,E01011500,E01011502,E01011504,E01011505,E01011506,E01011507,E01011508,E01011509,E01011510,E01011511,E01011512,E01011513,E01011514,E01011515,E01011516,E01011517,E01011518,E01011519,E01011520,E01011521,E01011522,E01011523,E01011524,E01011525,E01011526,E01011527,E01011528,E01011529,E01011530,E01011531,E01011532,E01011533,E01011534,E01011535,E01011536,E01011537,E01011538,E01011540,E01011541,E01011545,E01011546,E01011547,E01011548,E01011549,E01011550,E01011551,E01011552,E01011553,E01011554,E01011555,E01011556,E01011557,E01011558,E01011559,E01011560,E01011561,E01011562,E01011563,E01011564,E01011565,E01011566,E01011567,E01011568,E01011569&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_022.json.gz + content_sha256: 8fc48dd1a975c7afdc6c0136da9be4ce29438d6fcabe9e845d120841126630b8 +- id: census_lsoa_tenure5a_bedrooms_023 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 023 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01011570,E01011571,E01011572,E01011573,E01011574,E01011576,E01011578,E01011579,E01011580,E01011581,E01011582,E01011583,E01011584,E01011585,E01011586,E01011587,E01011588,E01011589,E01011590,E01011591,E01011592,E01011593,E01011594,E01011595,E01011596,E01011597,E01011598,E01011599,E01011600,E01011601,E01011602,E01011603,E01011604,E01011605,E01011606,E01011607,E01011608,E01011609,E01011610,E01011611,E01011612,E01011613,E01011614,E01011615,E01011616,E01011617,E01011618,E01011620,E01011621,E01011622,E01011623,E01011624,E01011625,E01011626,E01011627,E01011628,E01011629,E01011630,E01011632,E01011633,E01011634,E01011635,E01011636,E01011637,E01011638,E01011639,E01011641,E01011642,E01011643,E01011644,E01011645,E01011646,E01011647,E01011648,E01011649,E01011650,E01011651,E01011652,E01011653,E01011654,E01011655,E01011656,E01011657,E01011658,E01011659,E01011660,E01011661,E01011662,E01011663,E01011664,E01011665,E01011666,E01011667,E01011668,E01011669,E01011670,E01011671,E01011673,E01011677,E01011678,E01011681,E01011684,E01011685,E01011686,E01011687,E01011688,E01011689,E01011690,E01011691,E01011692,E01011693,E01011694,E01011695,E01011696,E01011697,E01011698,E01011699,E01011700,E01011701,E01011702,E01011703,E01011704,E01011705,E01011706,E01011707,E01011708,E01011709,E01011710,E01011711,E01011712,E01011713,E01011714,E01011715,E01011716,E01011717,E01011718,E01011719,E01011720,E01011721,E01011722,E01011723,E01011724,E01011725,E01011726,E01011727,E01011728,E01011729,E01011730,E01011731,E01011732,E01011733,E01011734,E01011735,E01011736,E01011737,E01011738,E01011739,E01011740,E01011741,E01011742,E01011743,E01011744,E01011745,E01011746,E01011747,E01011748,E01011750,E01011751,E01011752,E01011753,E01011754,E01011755,E01011756,E01011757,E01011758,E01011759,E01011761,E01011762,E01011763,E01011764,E01011765,E01011766,E01011767,E01011768,E01011770,E01011771,E01011772,E01011773,E01011774,E01011776,E01011777,E01011778,E01011779,E01011780,E01011781,E01011782,E01011783,E01011784,E01011785,E01011786,E01011787,E01011788,E01011789,E01011790,E01011791,E01011792,E01011793,E01011794,E01011795,E01011796,E01011797,E01011798,E01011799,E01011800,E01011801,E01011802,E01011803,E01011804,E01011805,E01011806,E01011807,E01011808,E01011809,E01011810,E01011811,E01011812,E01011813,E01011814,E01011815,E01011816,E01011817,E01011818,E01011819,E01011820,E01011821,E01011822,E01011823,E01011824,E01011825,E01011826,E01011827,E01011828,E01011829,E01011830,E01011831,E01011832,E01011833,E01011834,E01011835,E01011836,E01011837,E01011838,E01011839,E01011840,E01011841,E01011842,E01011843,E01011844,E01011845,E01011846,E01011847,E01011848,E01011849,E01011850,E01011851,E01011852,E01011853,E01011854,E01011855,E01011856,E01011857,E01011858,E01011859,E01011860,E01011861,E01011862,E01011863,E01011864,E01011865,E01011866,E01011867,E01011868,E01011869,E01011870,E01011871,E01011872,E01011873,E01011874,E01011875,E01011876,E01011877,E01011878,E01011879,E01011880,E01011881,E01011882,E01011883,E01011884,E01011885,E01011886,E01011887,E01011888,E01011889,E01011890,E01011891,E01011892,E01011893,E01011894,E01011895,E01011896,E01011897,E01011898,E01011899,E01011900,E01011901,E01011902,E01011903,E01011904,E01011905,E01011906,E01011907,E01011908,E01011909,E01011910,E01011911,E01011912,E01011913,E01011914,E01011915,E01011917,E01011918,E01011919,E01011920,E01011921,E01011922,E01011923,E01011924,E01011925,E01011926,E01011927,E01011928,E01011929,E01011930,E01011931,E01011932,E01011933,E01011934,E01011935,E01011936,E01011937,E01011938,E01011939,E01011940,E01011941,E01011942,E01011943,E01011944,E01011945,E01011946,E01011947,E01011948,E01011949,E01011950,E01011951,E01011952,E01011953,E01011954,E01011955,E01011957,E01011959,E01011960,E01011961,E01011962,E01011963,E01011964,E01011965,E01011966,E01011967,E01011968,E01011969,E01011970,E01011971,E01011974,E01011975,E01011977,E01011978,E01011979,E01011980,E01011981,E01011982,E01011983,E01011984,E01011985,E01011986,E01011987,E01011988,E01011989,E01011990,E01011991,E01011992,E01011993,E01011994,E01011995,E01011996,E01011997,E01011998,E01011999,E01012000,E01012001,E01012002,E01012003,E01012005,E01012007,E01012008,E01012009,E01012010,E01012011,E01012012,E01012013,E01012014,E01012015,E01012016,E01012017,E01012018,E01012019,E01012020,E01012021,E01012022,E01012023,E01012024,E01012025,E01012026,E01012027,E01012030,E01012031,E01012032,E01012033,E01012034,E01012035,E01012036,E01012037,E01012038,E01012039,E01012040,E01012041,E01012042,E01012043,E01012044,E01012045,E01012046,E01012047,E01012048,E01012049,E01012050,E01012051,E01012052,E01012053,E01012054,E01012055,E01012056,E01012057,E01012058,E01012059,E01012060,E01012061,E01012062,E01012063,E01012065,E01012066,E01012067,E01012068,E01012071,E01012073,E01012074,E01012075,E01012076,E01012077,E01012078,E01012079,E01012080,E01012081,E01012082,E01012083,E01012084,E01012085,E01012088,E01012089,E01012090,E01012091,E01012092,E01012093,E01012095,E01012096,E01012097,E01012098,E01012099,E01012100,E01012101,E01012102,E01012105&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_023.json.gz + content_sha256: 7e28d330b422adf7961aee0fc36b52cb1d9fcc12f6f033c071c901a0a8e2dcf3 +- id: census_lsoa_tenure5a_bedrooms_024 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 024 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01012106,E01012107,E01012108,E01012109,E01012110,E01012111,E01012112,E01012113,E01012114,E01012117,E01012118,E01012119,E01012120,E01012121,E01012124,E01012127,E01012128,E01012129,E01012130,E01012131,E01012132,E01012134,E01012136,E01012137,E01012138,E01012139,E01012140,E01012141,E01012142,E01012143,E01012144,E01012145,E01012146,E01012147,E01012148,E01012149,E01012150,E01012151,E01012152,E01012154,E01012155,E01012156,E01012157,E01012158,E01012159,E01012160,E01012161,E01012162,E01012163,E01012164,E01012165,E01012167,E01012168,E01012170,E01012171,E01012172,E01012173,E01012174,E01012175,E01012176,E01012177,E01012178,E01012179,E01012180,E01012181,E01012182,E01012183,E01012184,E01012185,E01012186,E01012187,E01012188,E01012189,E01012190,E01012191,E01012192,E01012193,E01012194,E01012195,E01012196,E01012197,E01012198,E01012199,E01012200,E01012201,E01012202,E01012203,E01012204,E01012205,E01012206,E01012207,E01012208,E01012209,E01012210,E01012211,E01012212,E01012213,E01012214,E01012215,E01012216,E01012217,E01012218,E01012219,E01012223,E01012224,E01012225,E01012226,E01012227,E01012228,E01012230,E01012231,E01012232,E01012233,E01012234,E01012235,E01012236,E01012237,E01012238,E01012239,E01012240,E01012241,E01012242,E01012243,E01012244,E01012245,E01012246,E01012247,E01012248,E01012249,E01012250,E01012251,E01012252,E01012253,E01012254,E01012255,E01012256,E01012257,E01012258,E01012259,E01012260,E01012261,E01012262,E01012267,E01012268,E01012269,E01012270,E01012271,E01012272,E01012273,E01012274,E01012275,E01012276,E01012277,E01012278,E01012279,E01012280,E01012281,E01012282,E01012283,E01012284,E01012285,E01012286,E01012287,E01012288,E01012289,E01012290,E01012291,E01012292,E01012294,E01012295,E01012296,E01012297,E01012298,E01012299,E01012300,E01012301,E01012302,E01012303,E01012304,E01012305,E01012306,E01012307,E01012309,E01012310,E01012311,E01012312,E01012313,E01012314,E01012315,E01012317,E01012318,E01012319,E01012323,E01012324,E01012325,E01012326,E01012327,E01012328,E01012329,E01012330,E01012331,E01012332,E01012333,E01012334,E01012335,E01012336,E01012337,E01012338,E01012339,E01012340,E01012341,E01012342,E01012344,E01012345,E01012346,E01012347,E01012348,E01012349,E01012350,E01012351,E01012352,E01012353,E01012354,E01012355,E01012356,E01012357,E01012358,E01012359,E01012360,E01012361,E01012362,E01012363,E01012364,E01012365,E01012366,E01012367,E01012368,E01012369,E01012370,E01012371,E01012372,E01012373,E01012374,E01012375,E01012376,E01012377,E01012378,E01012379,E01012380,E01012381,E01012382,E01012383,E01012384,E01012385,E01012386,E01012387,E01012388,E01012389,E01012390,E01012391,E01012392,E01012393,E01012394,E01012395,E01012396,E01012397,E01012398,E01012399,E01012400,E01012401,E01012402,E01012403,E01012404,E01012405,E01012406,E01012407,E01012408,E01012409,E01012410,E01012411,E01012412,E01012413,E01012414,E01012415,E01012416,E01012417,E01012418,E01012419,E01012420,E01012421,E01012422,E01012423,E01012424,E01012425,E01012426,E01012427,E01012429,E01012430,E01012431,E01012432,E01012433,E01012434,E01012435,E01012436,E01012437,E01012438,E01012439,E01012440,E01012441,E01012442,E01012443,E01012444,E01012445,E01012446,E01012447,E01012448,E01012449,E01012450,E01012451,E01012452,E01012453,E01012454,E01012455,E01012457,E01012458,E01012459,E01012460,E01012461,E01012462,E01012463,E01012464,E01012465,E01012466,E01012467,E01012468,E01012469,E01012470,E01012471,E01012472,E01012473,E01012474,E01012475,E01012476,E01012477,E01012478,E01012479,E01012480,E01012481,E01012482,E01012483,E01012485,E01012486,E01012487,E01012488,E01012489,E01012490,E01012491,E01012492,E01012493,E01012494,E01012495,E01012496,E01012497,E01012498,E01012499,E01012500,E01012501,E01012502,E01012503,E01012505,E01012506,E01012507,E01012508,E01012509,E01012510,E01012511,E01012512,E01012513,E01012514,E01012515,E01012516,E01012517,E01012518,E01012519,E01012520,E01012521,E01012522,E01012523,E01012524,E01012525,E01012526,E01012527,E01012528,E01012529,E01012530,E01012531,E01012532,E01012533,E01012534,E01012535,E01012536,E01012537,E01012538,E01012539,E01012540,E01012541,E01012542,E01012543,E01012544,E01012545,E01012546,E01012547,E01012548,E01012549,E01012550,E01012551,E01012552,E01012553,E01012554,E01012555,E01012556,E01012557,E01012558,E01012559,E01012560,E01012561,E01012562,E01012563,E01012564,E01012566,E01012569,E01012570,E01012571,E01012572,E01012573,E01012574,E01012575,E01012576,E01012577,E01012578,E01012579,E01012580,E01012581,E01012582,E01012583,E01012584,E01012585,E01012586,E01012587,E01012588,E01012589,E01012590,E01012591,E01012592,E01012593,E01012594,E01012595,E01012596,E01012597,E01012598,E01012599,E01012600,E01012601,E01012602,E01012603,E01012604,E01012605,E01012606,E01012607,E01012608,E01012609,E01012610,E01012611,E01012612,E01012613,E01012614,E01012615,E01012616,E01012617,E01012618,E01012619,E01012620,E01012621,E01012622,E01012623,E01012624,E01012625,E01012628,E01012629,E01012630,E01012631,E01012632,E01012633,E01012634,E01012635,E01012636,E01012637,E01012638,E01012639,E01012640&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_024.json.gz + content_sha256: da3732c1ecbaa0c915735de41d5fbeb2986a7ec2d6a1f2ca3afc4266d8e66058 +- id: census_lsoa_tenure5a_bedrooms_025 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 025 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01012641,E01012642,E01012643,E01012644,E01012645,E01012646,E01012647,E01012648,E01012649,E01012650,E01012651,E01012652,E01012653,E01012654,E01012655,E01012656,E01012657,E01012658,E01012659,E01012660,E01012661,E01012662,E01012663,E01012664,E01012665,E01012666,E01012667,E01012668,E01012669,E01012670,E01012671,E01012672,E01012673,E01012674,E01012675,E01012676,E01012677,E01012678,E01012679,E01012680,E01012681,E01012682,E01012683,E01012684,E01012685,E01012686,E01012687,E01012688,E01012689,E01012690,E01012691,E01012692,E01012693,E01012694,E01012695,E01012696,E01012697,E01012698,E01012699,E01012700,E01012701,E01012702,E01012703,E01012704,E01012705,E01012706,E01012707,E01012708,E01012709,E01012710,E01012711,E01012712,E01012713,E01012714,E01012715,E01012716,E01012717,E01012718,E01012719,E01012720,E01012721,E01012722,E01012723,E01012724,E01012725,E01012726,E01012727,E01012728,E01012729,E01012730,E01012731,E01012732,E01012733,E01012734,E01012735,E01012736,E01012737,E01012738,E01012739,E01012740,E01012741,E01012742,E01012743,E01012744,E01012745,E01012746,E01012747,E01012748,E01012749,E01012750,E01012751,E01012752,E01012753,E01012754,E01012755,E01012756,E01012757,E01012758,E01012759,E01012760,E01012761,E01012762,E01012763,E01012764,E01012765,E01012766,E01012767,E01012768,E01012769,E01012770,E01012771,E01012772,E01012773,E01012774,E01012775,E01012776,E01012777,E01012778,E01012779,E01012780,E01012781,E01012782,E01012783,E01012784,E01012785,E01012786,E01012787,E01012788,E01012789,E01012790,E01012791,E01012792,E01012793,E01012794,E01012795,E01012796,E01012797,E01012798,E01012799,E01012800,E01012801,E01012802,E01012803,E01012804,E01012805,E01012806,E01012807,E01012808,E01012809,E01012810,E01012811,E01012812,E01012813,E01012814,E01012815,E01012816,E01012817,E01012818,E01012819,E01012820,E01012821,E01012822,E01012824,E01012825,E01012827,E01012828,E01012829,E01012830,E01012832,E01012833,E01012834,E01012835,E01012836,E01012837,E01012838,E01012839,E01012840,E01012841,E01012842,E01012843,E01012844,E01012845,E01012846,E01012847,E01012848,E01012849,E01012850,E01012852,E01012854,E01012855,E01012856,E01012857,E01012858,E01012859,E01012860,E01012862,E01012863,E01012864,E01012865,E01012866,E01012867,E01012868,E01012869,E01012870,E01012871,E01012872,E01012873,E01012874,E01012875,E01012876,E01012877,E01012878,E01012879,E01012880,E01012881,E01012882,E01012883,E01012884,E01012886,E01012887,E01012888,E01012889,E01012891,E01012892,E01012893,E01012894,E01012896,E01012898,E01012899,E01012900,E01012901,E01012902,E01012903,E01012904,E01012905,E01012906,E01012907,E01012908,E01012909,E01012910,E01012911,E01012912,E01012913,E01012914,E01012915,E01012916,E01012917,E01012918,E01012919,E01012921,E01012922,E01012923,E01012924,E01012925,E01012926,E01012927,E01012928,E01012929,E01012930,E01012931,E01012932,E01012933,E01012934,E01012935,E01012936,E01012937,E01012939,E01012940,E01012941,E01012942,E01012943,E01012944,E01012945,E01012946,E01012947,E01012948,E01012949,E01012950,E01012951,E01012952,E01012953,E01012954,E01012955,E01012956,E01012957,E01012958,E01012959,E01012960,E01012961,E01012962,E01012963,E01012964,E01012966,E01012967,E01012968,E01012969,E01012970,E01012972,E01012974,E01012975,E01012976,E01012978,E01012979,E01012980,E01012981,E01012982,E01012983,E01012984,E01012985,E01012986,E01012987,E01012988,E01012989,E01012990,E01012991,E01012992,E01012993,E01012994,E01012995,E01012996,E01012997,E01012998,E01012999,E01013000,E01013001,E01013002,E01013003,E01013004,E01013005,E01013006,E01013007,E01013008,E01013009,E01013010,E01013011,E01013012,E01013013,E01013014,E01013015,E01013016,E01013017,E01013018,E01013019,E01013020,E01013021,E01013022,E01013023,E01013024,E01013025,E01013026,E01013027,E01013028,E01013029,E01013030,E01013031,E01013032,E01013033,E01013034,E01013035,E01013036,E01013037,E01013038,E01013039,E01013040,E01013041,E01013042,E01013043,E01013044,E01013045,E01013046,E01013047,E01013048,E01013049,E01013050,E01013051,E01013053,E01013054,E01013055,E01013056,E01013057,E01013058,E01013059,E01013060,E01013061,E01013062,E01013063,E01013064,E01013065,E01013066,E01013067,E01013068,E01013069,E01013070,E01013071,E01013072,E01013073,E01013074,E01013075,E01013076,E01013077,E01013078,E01013079,E01013080,E01013081,E01013082,E01013083,E01013084,E01013085,E01013086,E01013087,E01013088,E01013089,E01013090,E01013091,E01013092,E01013093,E01013094,E01013095,E01013096,E01013097,E01013098,E01013099,E01013100,E01013101,E01013102,E01013103,E01013104,E01013105,E01013106,E01013107,E01013108,E01013110,E01013111,E01013112,E01013113,E01013114,E01013115,E01013116,E01013117,E01013118,E01013119,E01013120,E01013121,E01013122,E01013123,E01013124,E01013125,E01013126,E01013127,E01013128,E01013129,E01013130,E01013131,E01013132,E01013133,E01013134,E01013135,E01013136,E01013138,E01013140,E01013141,E01013142,E01013143,E01013144,E01013145,E01013146,E01013147,E01013148,E01013149,E01013150,E01013151,E01013152,E01013153,E01013154,E01013155,E01013156,E01013157,E01013158,E01013159,E01013160&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_025.json.gz + content_sha256: f6958c55f0bad4b336e3ee602e95a6f813a22e166131886e60f4c4532dbf3bce +- id: census_lsoa_tenure5a_bedrooms_026 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 026 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01013161,E01013162,E01013163,E01013164,E01013165,E01013167,E01013170,E01013171,E01013172,E01013173,E01013174,E01013175,E01013176,E01013177,E01013178,E01013179,E01013180,E01013181,E01013182,E01013183,E01013184,E01013185,E01013186,E01013187,E01013188,E01013189,E01013191,E01013192,E01013193,E01013194,E01013195,E01013196,E01013197,E01013198,E01013199,E01013200,E01013201,E01013202,E01013203,E01013204,E01013205,E01013206,E01013207,E01013208,E01013209,E01013210,E01013211,E01013212,E01013213,E01013214,E01013215,E01013216,E01013217,E01013218,E01013219,E01013220,E01013221,E01013222,E01013224,E01013225,E01013226,E01013227,E01013228,E01013229,E01013231,E01013233,E01013234,E01013236,E01013237,E01013238,E01013239,E01013241,E01013242,E01013243,E01013244,E01013245,E01013246,E01013247,E01013248,E01013249,E01013250,E01013251,E01013252,E01013253,E01013254,E01013255,E01013256,E01013257,E01013258,E01013259,E01013260,E01013261,E01013262,E01013263,E01013264,E01013265,E01013266,E01013267,E01013268,E01013269,E01013270,E01013271,E01013272,E01013273,E01013274,E01013275,E01013276,E01013277,E01013278,E01013279,E01013280,E01013281,E01013282,E01013283,E01013284,E01013285,E01013286,E01013287,E01013288,E01013289,E01013290,E01013291,E01013292,E01013293,E01013294,E01013295,E01013296,E01013297,E01013298,E01013299,E01013300,E01013301,E01013302,E01013303,E01013304,E01013305,E01013306,E01013307,E01013308,E01013309,E01013310,E01013311,E01013312,E01013313,E01013314,E01013315,E01013316,E01013317,E01013318,E01013319,E01013320,E01013321,E01013322,E01013323,E01013324,E01013325,E01013326,E01013327,E01013328,E01013329,E01013330,E01013331,E01013332,E01013333,E01013334,E01013335,E01013336,E01013337,E01013338,E01013339,E01013340,E01013341,E01013342,E01013343,E01013344,E01013345,E01013346,E01013347,E01013348,E01013349,E01013350,E01013351,E01013352,E01013353,E01013354,E01013355,E01013356,E01013357,E01013358,E01013359,E01013360,E01013361,E01013362,E01013363,E01013364,E01013366,E01013368,E01013369,E01013370,E01013371,E01013372,E01013373,E01013374,E01013375,E01013376,E01013377,E01013378,E01013379,E01013380,E01013381,E01013382,E01013383,E01013384,E01013385,E01013386,E01013387,E01013388,E01013389,E01013390,E01013391,E01013392,E01013393,E01013394,E01013395,E01013396,E01013397,E01013398,E01013399,E01013400,E01013401,E01013402,E01013403,E01013404,E01013405,E01013406,E01013407,E01013408,E01013409,E01013410,E01013411,E01013412,E01013413,E01013414,E01013416,E01013417,E01013418,E01013419,E01013420,E01013421,E01013422,E01013423,E01013424,E01013425,E01013426,E01013427,E01013428,E01013429,E01013430,E01013431,E01013432,E01013433,E01013434,E01013435,E01013436,E01013437,E01013438,E01013439,E01013440,E01013441,E01013442,E01013443,E01013444,E01013445,E01013446,E01013447,E01013448,E01013449,E01013450,E01013451,E01013452,E01013453,E01013454,E01013455,E01013456,E01013457,E01013458,E01013459,E01013460,E01013461,E01013462,E01013463,E01013464,E01013465,E01013466,E01013467,E01013468,E01013469,E01013470,E01013471,E01013472,E01013473,E01013474,E01013475,E01013476,E01013477,E01013480,E01013481,E01013483,E01013484,E01013485,E01013486,E01013487,E01013488,E01013489,E01013490,E01013491,E01013492,E01013493,E01013494,E01013495,E01013496,E01013497,E01013498,E01013499,E01013500,E01013501,E01013502,E01013503,E01013504,E01013505,E01013506,E01013507,E01013508,E01013509,E01013510,E01013511,E01013512,E01013513,E01013514,E01013515,E01013517,E01013518,E01013519,E01013520,E01013521,E01013522,E01013523,E01013524,E01013525,E01013526,E01013527,E01013528,E01013529,E01013530,E01013531,E01013532,E01013533,E01013534,E01013535,E01013536,E01013537,E01013538,E01013539,E01013540,E01013541,E01013542,E01013543,E01013544,E01013545,E01013546,E01013547,E01013548,E01013549,E01013550,E01013551,E01013552,E01013553,E01013554,E01013555,E01013556,E01013557,E01013558,E01013559,E01013560,E01013561,E01013562,E01013563,E01013564,E01013565,E01013566,E01013567,E01013568,E01013569,E01013570,E01013571,E01013572,E01013573,E01013574,E01013575,E01013576,E01013577,E01013578,E01013579,E01013580,E01013581,E01013582,E01013583,E01013584,E01013585,E01013586,E01013587,E01013588,E01013589,E01013590,E01013591,E01013592,E01013593,E01013594,E01013595,E01013596,E01013597,E01013598,E01013599,E01013600,E01013601,E01013602,E01013603,E01013604,E01013605,E01013606,E01013608,E01013609,E01013610,E01013611,E01013612,E01013613,E01013614,E01013615,E01013616,E01013617,E01013618,E01013619,E01013620,E01013621,E01013622,E01013623,E01013624,E01013625,E01013626,E01013627,E01013628,E01013629,E01013630,E01013631,E01013632,E01013633,E01013634,E01013635,E01013636,E01013637,E01013638,E01013639,E01013640,E01013641,E01013642,E01013643,E01013648,E01013649,E01013650,E01013651,E01013652,E01013653,E01013654,E01013655,E01013656,E01013657,E01013658,E01013659,E01013660,E01013661,E01013662,E01013663,E01013664,E01013665,E01013666,E01013667,E01013668,E01013669,E01013670,E01013671,E01013672,E01013673,E01013674,E01013675,E01013676,E01013677,E01013678,E01013679,E01013680,E01013681&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_026.json.gz + content_sha256: 45c57944d2375289f8bdc5cede4578974725dc05589dba58eba2042ff9fd98d8 +- id: census_lsoa_tenure5a_bedrooms_027 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 027 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01013682,E01013683,E01013684,E01013685,E01013686,E01013687,E01013688,E01013689,E01013690,E01013691,E01013692,E01013693,E01013694,E01013696,E01013698,E01013699,E01013700,E01013702,E01013703,E01013704,E01013705,E01013706,E01013707,E01013709,E01013710,E01013711,E01013712,E01013713,E01013714,E01013715,E01013717,E01013718,E01013719,E01013720,E01013721,E01013722,E01013723,E01013725,E01013726,E01013727,E01013728,E01013729,E01013730,E01013731,E01013732,E01013733,E01013734,E01013735,E01013736,E01013737,E01013738,E01013739,E01013740,E01013741,E01013742,E01013743,E01013744,E01013745,E01013746,E01013747,E01013748,E01013749,E01013750,E01013751,E01013752,E01013753,E01013754,E01013755,E01013756,E01013757,E01013758,E01013759,E01013760,E01013761,E01013762,E01013763,E01013764,E01013765,E01013766,E01013767,E01013768,E01013770,E01013771,E01013772,E01013773,E01013774,E01013776,E01013777,E01013779,E01013780,E01013781,E01013782,E01013783,E01013784,E01013785,E01013786,E01013787,E01013788,E01013789,E01013790,E01013791,E01013792,E01013793,E01013794,E01013795,E01013796,E01013797,E01013798,E01013799,E01013800,E01013803,E01013804,E01013805,E01013806,E01013807,E01013808,E01013809,E01013810,E01013811,E01013812,E01013813,E01013814,E01013815,E01013816,E01013817,E01013818,E01013819,E01013820,E01013821,E01013822,E01013823,E01013824,E01013825,E01013826,E01013827,E01013828,E01013829,E01013830,E01013831,E01013832,E01013833,E01013834,E01013835,E01013836,E01013837,E01013838,E01013839,E01013840,E01013841,E01013842,E01013843,E01013844,E01013845,E01013846,E01013847,E01013849,E01013850,E01013851,E01013852,E01013853,E01013854,E01013855,E01013856,E01013858,E01013859,E01013860,E01013861,E01013862,E01013863,E01013864,E01013865,E01013866,E01013867,E01013868,E01013870,E01013871,E01013872,E01013873,E01013874,E01013875,E01013876,E01013877,E01013878,E01013879,E01013880,E01013881,E01013882,E01013883,E01013884,E01013885,E01013886,E01013887,E01013888,E01013889,E01013890,E01013891,E01013892,E01013893,E01013894,E01013895,E01013896,E01013897,E01013898,E01013899,E01013900,E01013901,E01013902,E01013903,E01013904,E01013905,E01013906,E01013907,E01013908,E01013909,E01013910,E01013911,E01013912,E01013913,E01013914,E01013915,E01013916,E01013917,E01013918,E01013919,E01013920,E01013921,E01013928,E01013929,E01013930,E01013931,E01013932,E01013933,E01013934,E01013935,E01013936,E01013937,E01013938,E01013939,E01013940,E01013941,E01013942,E01013943,E01013944,E01013945,E01013947,E01013948,E01013953,E01013954,E01013957,E01013958,E01013959,E01013960,E01013961,E01013962,E01013963,E01013964,E01013965,E01013966,E01013967,E01013968,E01013969,E01013970,E01013971,E01013972,E01013977,E01013978,E01013979,E01013980,E01013981,E01013982,E01013983,E01013984,E01013985,E01013986,E01013987,E01013988,E01013989,E01013990,E01013991,E01013992,E01013993,E01013994,E01013995,E01013996,E01013997,E01013998,E01013999,E01014000,E01014001,E01014002,E01014003,E01014004,E01014005,E01014006,E01014008,E01014009,E01014010,E01014011,E01014012,E01014013,E01014014,E01014015,E01014016,E01014017,E01014018,E01014019,E01014020,E01014021,E01014022,E01014023,E01014024,E01014025,E01014026,E01014027,E01014028,E01014029,E01014030,E01014031,E01014032,E01014033,E01014034,E01014035,E01014036,E01014037,E01014038,E01014039,E01014040,E01014041,E01014042,E01014043,E01014044,E01014045,E01014046,E01014047,E01014048,E01014049,E01014050,E01014051,E01014052,E01014053,E01014054,E01014055,E01014056,E01014057,E01014058,E01014059,E01014060,E01014061,E01014062,E01014063,E01014064,E01014065,E01014066,E01014067,E01014068,E01014069,E01014070,E01014071,E01014072,E01014073,E01014074,E01014075,E01014076,E01014077,E01014078,E01014079,E01014080,E01014081,E01014082,E01014083,E01014084,E01014085,E01014086,E01014087,E01014088,E01014089,E01014090,E01014091,E01014092,E01014093,E01014094,E01014095,E01014096,E01014097,E01014098,E01014099,E01014100,E01014101,E01014102,E01014103,E01014104,E01014105,E01014106,E01014107,E01014108,E01014109,E01014110,E01014111,E01014112,E01014113,E01014114,E01014115,E01014116,E01014117,E01014118,E01014119,E01014120,E01014121,E01014122,E01014123,E01014124,E01014125,E01014126,E01014127,E01014128,E01014129,E01014130,E01014131,E01014132,E01014133,E01014134,E01014135,E01014136,E01014137,E01014138,E01014139,E01014140,E01014142,E01014143,E01014144,E01014145,E01014148,E01014149,E01014150,E01014151,E01014152,E01014153,E01014154,E01014155,E01014157,E01014158,E01014159,E01014160,E01014161,E01014162,E01014163,E01014164,E01014165,E01014166,E01014167,E01014168,E01014169,E01014170,E01014171,E01014172,E01014173,E01014174,E01014175,E01014176,E01014177,E01014178,E01014179,E01014180,E01014181,E01014182,E01014183,E01014184,E01014185,E01014186,E01014187,E01014188,E01014189,E01014190,E01014191,E01014192,E01014193,E01014194,E01014195,E01014196,E01014197,E01014198,E01014199,E01014200,E01014201,E01014202,E01014203,E01014204,E01014205,E01014206,E01014207,E01014208,E01014209,E01014210,E01014211,E01014212,E01014213,E01014214,E01014215,E01014216,E01014217&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_027.json.gz + content_sha256: 424bd7326a6d94ecd9f66de11e20fa771a1286e48c234c0268377fc58071e59f +- id: census_lsoa_tenure5a_bedrooms_028 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 028 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01014218,E01014219,E01014220,E01014221,E01014222,E01014223,E01014224,E01014225,E01014226,E01014228,E01014229,E01014230,E01014233,E01014234,E01014235,E01014237,E01014238,E01014239,E01014240,E01014241,E01014242,E01014243,E01014244,E01014245,E01014246,E01014247,E01014248,E01014249,E01014250,E01014252,E01014253,E01014254,E01014255,E01014256,E01014257,E01014258,E01014259,E01014260,E01014261,E01014262,E01014263,E01014264,E01014265,E01014266,E01014267,E01014268,E01014269,E01014270,E01014271,E01014272,E01014273,E01014274,E01014275,E01014276,E01014277,E01014278,E01014279,E01014280,E01014281,E01014282,E01014283,E01014284,E01014285,E01014286,E01014287,E01014288,E01014289,E01014290,E01014291,E01014292,E01014293,E01014294,E01014295,E01014296,E01014297,E01014298,E01014299,E01014300,E01014301,E01014302,E01014303,E01014304,E01014305,E01014306,E01014307,E01014308,E01014309,E01014310,E01014311,E01014312,E01014313,E01014314,E01014315,E01014316,E01014317,E01014318,E01014319,E01014320,E01014321,E01014322,E01014323,E01014324,E01014325,E01014326,E01014327,E01014328,E01014329,E01014330,E01014331,E01014332,E01014333,E01014334,E01014335,E01014336,E01014337,E01014338,E01014339,E01014340,E01014341,E01014342,E01014343,E01014344,E01014345,E01014346,E01014347,E01014348,E01014349,E01014350,E01014351,E01014352,E01014353,E01014354,E01014355,E01014356,E01014357,E01014358,E01014359,E01014360,E01014361,E01014362,E01014363,E01014364,E01014365,E01014366,E01014367,E01014368,E01014369,E01014370,E01014371,E01014372,E01014373,E01014374,E01014375,E01014376,E01014377,E01014380,E01014381,E01014382,E01014383,E01014384,E01014385,E01014386,E01014387,E01014388,E01014389,E01014390,E01014391,E01014392,E01014393,E01014394,E01014395,E01014396,E01014397,E01014398,E01014399,E01014400,E01014401,E01014403,E01014404,E01014405,E01014407,E01014409,E01014410,E01014411,E01014412,E01014413,E01014414,E01014415,E01014416,E01014417,E01014418,E01014419,E01014420,E01014421,E01014422,E01014423,E01014424,E01014425,E01014426,E01014427,E01014428,E01014429,E01014430,E01014431,E01014432,E01014433,E01014434,E01014435,E01014436,E01014437,E01014438,E01014439,E01014440,E01014441,E01014442,E01014443,E01014444,E01014445,E01014446,E01014447,E01014448,E01014449,E01014450,E01014451,E01014452,E01014453,E01014454,E01014455,E01014456,E01014457,E01014458,E01014459,E01014460,E01014461,E01014462,E01014463,E01014464,E01014465,E01014466,E01014467,E01014468,E01014469,E01014470,E01014471,E01014472,E01014473,E01014474,E01014476,E01014477,E01014478,E01014479,E01014480,E01014481,E01014482,E01014483,E01014484,E01014485,E01014486,E01014487,E01014488,E01014489,E01014491,E01014492,E01014493,E01014494,E01014495,E01014496,E01014497,E01014498,E01014499,E01014500,E01014501,E01014502,E01014504,E01014505,E01014506,E01014507,E01014508,E01014509,E01014510,E01014511,E01014512,E01014513,E01014514,E01014515,E01014516,E01014517,E01014518,E01014519,E01014520,E01014521,E01014522,E01014523,E01014524,E01014525,E01014526,E01014527,E01014528,E01014529,E01014530,E01014531,E01014532,E01014533,E01014534,E01014535,E01014536,E01014537,E01014538,E01014539,E01014544,E01014545,E01014546,E01014547,E01014548,E01014549,E01014550,E01014551,E01014552,E01014553,E01014554,E01014555,E01014556,E01014557,E01014558,E01014559,E01014560,E01014561,E01014562,E01014563,E01014564,E01014565,E01014566,E01014567,E01014568,E01014569,E01014570,E01014571,E01014572,E01014573,E01014574,E01014575,E01014576,E01014577,E01014578,E01014579,E01014580,E01014581,E01014582,E01014583,E01014584,E01014585,E01014586,E01014587,E01014588,E01014589,E01014590,E01014591,E01014592,E01014593,E01014594,E01014595,E01014596,E01014597,E01014598,E01014599,E01014600,E01014601,E01014602,E01014603,E01014605,E01014607,E01014608,E01014609,E01014610,E01014611,E01014612,E01014613,E01014614,E01014615,E01014616,E01014617,E01014618,E01014619,E01014620,E01014621,E01014622,E01014623,E01014624,E01014626,E01014627,E01014629,E01014630,E01014631,E01014632,E01014633,E01014634,E01014635,E01014636,E01014637,E01014638,E01014639,E01014640,E01014641,E01014642,E01014643,E01014644,E01014645,E01014646,E01014647,E01014648,E01014649,E01014650,E01014651,E01014653,E01014654,E01014655,E01014658,E01014659,E01014660,E01014661,E01014662,E01014663,E01014664,E01014665,E01014666,E01014667,E01014668,E01014669,E01014670,E01014671,E01014672,E01014673,E01014674,E01014675,E01014676,E01014677,E01014678,E01014679,E01014680,E01014681,E01014682,E01014683,E01014684,E01014685,E01014686,E01014687,E01014688,E01014689,E01014690,E01014691,E01014692,E01014693,E01014694,E01014695,E01014696,E01014698,E01014699,E01014700,E01014701,E01014702,E01014703,E01014704,E01014705,E01014706,E01014707,E01014708,E01014709,E01014710,E01014711,E01014712,E01014713,E01014714,E01014715,E01014716,E01014717,E01014718,E01014719,E01014720,E01014721,E01014722,E01014723,E01014725,E01014726,E01014727,E01014729,E01014730,E01014731,E01014732,E01014733,E01014734,E01014735,E01014736,E01014737,E01014738,E01014739,E01014740,E01014741,E01014742,E01014744,E01014745&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_028.json.gz + content_sha256: bc064e5a9155549f19b9102719aac41dd3e2a121dff9a89a0c0bd88fb082ebc7 +- id: census_lsoa_tenure5a_bedrooms_029 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 029 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01014746,E01014747,E01014748,E01014749,E01014750,E01014751,E01014752,E01014753,E01014754,E01014755,E01014756,E01014757,E01014758,E01014759,E01014760,E01014761,E01014762,E01014763,E01014764,E01014765,E01014766,E01014767,E01014770,E01014771,E01014772,E01014773,E01014774,E01014775,E01014776,E01014777,E01014778,E01014779,E01014780,E01014781,E01014782,E01014783,E01014784,E01014785,E01014786,E01014787,E01014789,E01014790,E01014792,E01014793,E01014794,E01014795,E01014796,E01014797,E01014798,E01014799,E01014800,E01014801,E01014802,E01014803,E01014804,E01014805,E01014806,E01014807,E01014808,E01014809,E01014811,E01014812,E01014813,E01014815,E01014816,E01014817,E01014818,E01014819,E01014820,E01014821,E01014822,E01014823,E01014824,E01014825,E01014826,E01014827,E01014828,E01014829,E01014830,E01014831,E01014832,E01014833,E01014834,E01014835,E01014836,E01014838,E01014839,E01014840,E01014841,E01014842,E01014843,E01014844,E01014845,E01014846,E01014847,E01014848,E01014849,E01014850,E01014851,E01014852,E01014853,E01014854,E01014855,E01014856,E01014857,E01014858,E01014859,E01014860,E01014861,E01014862,E01014863,E01014864,E01014865,E01014866,E01014867,E01014869,E01014870,E01014871,E01014872,E01014873,E01014874,E01014875,E01014876,E01014877,E01014878,E01014879,E01014880,E01014881,E01014882,E01014883,E01014884,E01014885,E01014886,E01014887,E01014888,E01014889,E01014890,E01014891,E01014892,E01014893,E01014894,E01014895,E01014896,E01014897,E01014898,E01014899,E01014900,E01014901,E01014902,E01014903,E01014904,E01014905,E01014906,E01014907,E01014908,E01014909,E01014910,E01014911,E01014912,E01014913,E01014914,E01014915,E01014916,E01014917,E01014918,E01014919,E01014920,E01014921,E01014922,E01014923,E01014924,E01014925,E01014926,E01014927,E01014928,E01014929,E01014930,E01014931,E01014932,E01014933,E01014934,E01014935,E01014936,E01014937,E01014938,E01014939,E01014940,E01014941,E01014942,E01014943,E01014944,E01014945,E01014946,E01014947,E01014948,E01014950,E01014951,E01014953,E01014954,E01014955,E01014956,E01014957,E01014958,E01014959,E01014960,E01014961,E01014962,E01014963,E01014964,E01014965,E01014967,E01014968,E01014969,E01014972,E01014973,E01014974,E01014975,E01014976,E01014977,E01014978,E01014979,E01014980,E01014982,E01014983,E01014984,E01014985,E01014986,E01014987,E01014988,E01014989,E01014990,E01014991,E01014992,E01014993,E01014994,E01014995,E01014996,E01014998,E01014999,E01015000,E01015001,E01015002,E01015003,E01015004,E01015005,E01015006,E01015007,E01015008,E01015009,E01015010,E01015011,E01015012,E01015013,E01015014,E01015015,E01015016,E01015017,E01015018,E01015019,E01015020,E01015021,E01015022,E01015023,E01015024,E01015025,E01015026,E01015027,E01015028,E01015029,E01015030,E01015031,E01015032,E01015033,E01015034,E01015035,E01015036,E01015037,E01015038,E01015039,E01015040,E01015041,E01015042,E01015043,E01015044,E01015045,E01015046,E01015047,E01015048,E01015049,E01015050,E01015051,E01015052,E01015053,E01015054,E01015055,E01015056,E01015057,E01015058,E01015059,E01015060,E01015061,E01015062,E01015063,E01015064,E01015065,E01015066,E01015067,E01015068,E01015069,E01015070,E01015071,E01015072,E01015073,E01015074,E01015075,E01015076,E01015077,E01015078,E01015079,E01015080,E01015081,E01015082,E01015083,E01015084,E01015085,E01015086,E01015087,E01015088,E01015089,E01015090,E01015091,E01015092,E01015093,E01015094,E01015095,E01015096,E01015097,E01015098,E01015099,E01015100,E01015101,E01015102,E01015103,E01015104,E01015105,E01015106,E01015107,E01015108,E01015109,E01015110,E01015111,E01015112,E01015113,E01015114,E01015115,E01015116,E01015117,E01015118,E01015119,E01015120,E01015121,E01015122,E01015123,E01015124,E01015125,E01015126,E01015127,E01015128,E01015129,E01015130,E01015131,E01015132,E01015133,E01015134,E01015136,E01015137,E01015138,E01015139,E01015140,E01015141,E01015142,E01015143,E01015144,E01015145,E01015146,E01015147,E01015148,E01015149,E01015150,E01015151,E01015152,E01015153,E01015155,E01015156,E01015159,E01015160,E01015161,E01015162,E01015163,E01015164,E01015165,E01015166,E01015167,E01015168,E01015169,E01015170,E01015171,E01015172,E01015173,E01015174,E01015175,E01015176,E01015177,E01015178,E01015179,E01015180,E01015181,E01015182,E01015183,E01015184,E01015185,E01015186,E01015187,E01015188,E01015189,E01015190,E01015191,E01015192,E01015193,E01015194,E01015196,E01015197,E01015198,E01015199,E01015200,E01015201,E01015202,E01015203,E01015204,E01015205,E01015206,E01015207,E01015208,E01015209,E01015210,E01015211,E01015212,E01015213,E01015214,E01015215,E01015216,E01015217,E01015218,E01015219,E01015220,E01015221,E01015222,E01015223,E01015224,E01015225,E01015226,E01015227,E01015228,E01015229,E01015230,E01015231,E01015232,E01015233,E01015234,E01015235,E01015236,E01015237,E01015238,E01015239,E01015240,E01015241,E01015242,E01015243,E01015244,E01015245,E01015246,E01015247,E01015248,E01015249,E01015250,E01015251,E01015253,E01015254,E01015255,E01015256,E01015257,E01015258,E01015259,E01015260,E01015261,E01015262,E01015263,E01015264,E01015265,E01015266&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_029.json.gz + content_sha256: 859b8604c440fcf38b5d0afe2f4c9b12d2a74077f8e553df4a30b4d035dd8e0a +- id: census_lsoa_tenure5a_bedrooms_030 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 030 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01015267,E01015268,E01015269,E01015270,E01015271,E01015272,E01015273,E01015274,E01015275,E01015276,E01015277,E01015279,E01015280,E01015281,E01015286,E01015288,E01015289,E01015290,E01015291,E01015292,E01015293,E01015294,E01015295,E01015296,E01015297,E01015298,E01015299,E01015300,E01015301,E01015302,E01015303,E01015304,E01015305,E01015306,E01015307,E01015308,E01015309,E01015310,E01015311,E01015312,E01015313,E01015314,E01015315,E01015316,E01015317,E01015318,E01015319,E01015320,E01015321,E01015322,E01015323,E01015324,E01015325,E01015326,E01015327,E01015328,E01015329,E01015330,E01015331,E01015332,E01015333,E01015334,E01015335,E01015336,E01015337,E01015338,E01015339,E01015340,E01015341,E01015342,E01015343,E01015344,E01015345,E01015346,E01015348,E01015349,E01015350,E01015351,E01015352,E01015353,E01015354,E01015355,E01015356,E01015357,E01015358,E01015359,E01015360,E01015361,E01015362,E01015363,E01015364,E01015365,E01015366,E01015367,E01015368,E01015369,E01015370,E01015371,E01015372,E01015373,E01015374,E01015375,E01015376,E01015377,E01015378,E01015379,E01015380,E01015381,E01015382,E01015383,E01015384,E01015385,E01015386,E01015387,E01015388,E01015389,E01015390,E01015391,E01015392,E01015393,E01015394,E01015395,E01015396,E01015397,E01015398,E01015399,E01015400,E01015401,E01015402,E01015403,E01015404,E01015405,E01015406,E01015407,E01015408,E01015409,E01015410,E01015411,E01015412,E01015413,E01015414,E01015415,E01015416,E01015417,E01015418,E01015419,E01015420,E01015421,E01015422,E01015424,E01015425,E01015426,E01015427,E01015428,E01015429,E01015430,E01015431,E01015432,E01015433,E01015434,E01015435,E01015436,E01015437,E01015438,E01015439,E01015440,E01015441,E01015442,E01015443,E01015444,E01015445,E01015446,E01015447,E01015448,E01015449,E01015450,E01015451,E01015452,E01015453,E01015454,E01015455,E01015456,E01015457,E01015458,E01015459,E01015460,E01015461,E01015462,E01015463,E01015464,E01015465,E01015466,E01015471,E01015473,E01015475,E01015477,E01015478,E01015479,E01015480,E01015481,E01015482,E01015483,E01015484,E01015485,E01015486,E01015487,E01015488,E01015489,E01015490,E01015491,E01015492,E01015493,E01015494,E01015496,E01015497,E01015498,E01015499,E01015500,E01015501,E01015502,E01015503,E01015504,E01015505,E01015506,E01015507,E01015508,E01015509,E01015510,E01015511,E01015512,E01015513,E01015514,E01015515,E01015516,E01015517,E01015518,E01015519,E01015520,E01015521,E01015522,E01015523,E01015524,E01015525,E01015526,E01015527,E01015528,E01015529,E01015530,E01015532,E01015533,E01015534,E01015535,E01015537,E01015538,E01015539,E01015540,E01015541,E01015542,E01015543,E01015544,E01015545,E01015546,E01015547,E01015548,E01015549,E01015550,E01015551,E01015552,E01015553,E01015554,E01015555,E01015556,E01015557,E01015558,E01015559,E01015560,E01015561,E01015562,E01015563,E01015564,E01015565,E01015566,E01015567,E01015568,E01015569,E01015570,E01015571,E01015572,E01015573,E01015574,E01015575,E01015576,E01015578,E01015579,E01015580,E01015581,E01015582,E01015584,E01015585,E01015586,E01015587,E01015588,E01015589,E01015590,E01015591,E01015592,E01015593,E01015594,E01015595,E01015596,E01015597,E01015598,E01015599,E01015600,E01015601,E01015603,E01015604,E01015605,E01015606,E01015607,E01015608,E01015609,E01015610,E01015612,E01015613,E01015614,E01015615,E01015616,E01015617,E01015618,E01015619,E01015620,E01015622,E01015623,E01015624,E01015626,E01015627,E01015628,E01015629,E01015630,E01015631,E01015632,E01015633,E01015634,E01015635,E01015636,E01015637,E01015638,E01015639,E01015640,E01015641,E01015642,E01015643,E01015644,E01015645,E01015646,E01015647,E01015648,E01015650,E01015651,E01015652,E01015653,E01015654,E01015655,E01015656,E01015658,E01015659,E01015660,E01015661,E01015662,E01015663,E01015664,E01015665,E01015666,E01015667,E01015668,E01015669,E01015670,E01015672,E01015673,E01015674,E01015675,E01015676,E01015677,E01015678,E01015679,E01015680,E01015681,E01015682,E01015683,E01015684,E01015685,E01015686,E01015687,E01015688,E01015689,E01015690,E01015691,E01015692,E01015693,E01015694,E01015695,E01015696,E01015697,E01015698,E01015699,E01015700,E01015701,E01015702,E01015703,E01015704,E01015705,E01015706,E01015707,E01015708,E01015709,E01015710,E01015711,E01015712,E01015713,E01015714,E01015715,E01015716,E01015717,E01015718,E01015719,E01015720,E01015721,E01015722,E01015723,E01015724,E01015725,E01015726,E01015727,E01015728,E01015729,E01015730,E01015731,E01015732,E01015733,E01015734,E01015735,E01015736,E01015737,E01015738,E01015739,E01015740,E01015742,E01015743,E01015744,E01015745,E01015746,E01015747,E01015748,E01015749,E01015750,E01015751,E01015752,E01015753,E01015754,E01015755,E01015756,E01015757,E01015758,E01015759,E01015760,E01015761,E01015762,E01015763,E01015764,E01015765,E01015766,E01015767,E01015768,E01015769,E01015770,E01015771,E01015772,E01015773,E01015774,E01015775,E01015776,E01015777,E01015778,E01015779,E01015780,E01015781,E01015782,E01015783,E01015784,E01015785,E01015786,E01015787,E01015788,E01015789,E01015790,E01015792,E01015793,E01015795,E01015796&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_030.json.gz + content_sha256: e9f395b9d484259865c3d93a015f9e2f42e8f60172de2333666f1d650d1380c1 +- id: census_lsoa_tenure5a_bedrooms_031 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 031 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01015797,E01015798,E01015799,E01015800,E01015801,E01015802,E01015803,E01015804,E01015805,E01015806,E01015807,E01015808,E01015809,E01015810,E01015811,E01015812,E01015813,E01015814,E01015815,E01015816,E01015817,E01015818,E01015819,E01015820,E01015821,E01015822,E01015823,E01015824,E01015825,E01015826,E01015827,E01015828,E01015829,E01015830,E01015831,E01015832,E01015833,E01015834,E01015835,E01015836,E01015837,E01015838,E01015839,E01015840,E01015841,E01015842,E01015843,E01015844,E01015845,E01015846,E01015847,E01015848,E01015849,E01015850,E01015851,E01015852,E01015853,E01015854,E01015855,E01015856,E01015857,E01015858,E01015859,E01015860,E01015861,E01015862,E01015863,E01015864,E01015865,E01015866,E01015867,E01015868,E01015869,E01015870,E01015871,E01015872,E01015873,E01015874,E01015875,E01015876,E01015877,E01015878,E01015879,E01015880,E01015881,E01015882,E01015883,E01015884,E01015885,E01015886,E01015887,E01015888,E01015889,E01015890,E01015891,E01015892,E01015893,E01015894,E01015896,E01015897,E01015898,E01015899,E01015900,E01015901,E01015902,E01015903,E01015904,E01015905,E01015906,E01015907,E01015908,E01015909,E01015910,E01015911,E01015912,E01015913,E01015914,E01015915,E01015916,E01015917,E01015918,E01015919,E01015920,E01015921,E01015922,E01015923,E01015924,E01015925,E01015926,E01015927,E01015928,E01015929,E01015930,E01015931,E01015932,E01015933,E01015934,E01015935,E01015936,E01015937,E01015938,E01015939,E01015941,E01015942,E01015943,E01015944,E01015945,E01015946,E01015947,E01015948,E01015949,E01015950,E01015951,E01015952,E01015953,E01015954,E01015955,E01015956,E01015957,E01015958,E01015959,E01015960,E01015961,E01015962,E01015963,E01015964,E01015965,E01015966,E01015967,E01015968,E01015969,E01015970,E01015971,E01015972,E01015974,E01015975,E01015976,E01015977,E01015978,E01015979,E01015980,E01015982,E01015983,E01015984,E01015985,E01015986,E01015987,E01015988,E01015989,E01015990,E01015991,E01015992,E01015993,E01015994,E01015995,E01015996,E01015997,E01015998,E01015999,E01016000,E01016001,E01016002,E01016003,E01016004,E01016005,E01016006,E01016007,E01016008,E01016009,E01016010,E01016011,E01016013,E01016014,E01016015,E01016016,E01016017,E01016018,E01016019,E01016020,E01016021,E01016022,E01016023,E01016024,E01016025,E01016026,E01016027,E01016028,E01016029,E01016030,E01016031,E01016032,E01016033,E01016034,E01016035,E01016037,E01016038,E01016039,E01016040,E01016041,E01016042,E01016043,E01016044,E01016045,E01016046,E01016047,E01016048,E01016049,E01016050,E01016051,E01016052,E01016053,E01016054,E01016055,E01016056,E01016057,E01016058,E01016059,E01016060,E01016061,E01016062,E01016063,E01016064,E01016065,E01016066,E01016067,E01016068,E01016069,E01016070,E01016071,E01016072,E01016073,E01016074,E01016075,E01016077,E01016078,E01016079,E01016080,E01016081,E01016082,E01016083,E01016084,E01016085,E01016086,E01016087,E01016088,E01016089,E01016090,E01016091,E01016092,E01016093,E01016094,E01016095,E01016096,E01016097,E01016098,E01016099,E01016100,E01016101,E01016102,E01016103,E01016104,E01016105,E01016106,E01016107,E01016111,E01016113,E01016114,E01016115,E01016116,E01016117,E01016118,E01016119,E01016120,E01016121,E01016122,E01016123,E01016124,E01016125,E01016126,E01016127,E01016128,E01016129,E01016130,E01016131,E01016132,E01016133,E01016134,E01016135,E01016136,E01016137,E01016138,E01016139,E01016140,E01016141,E01016142,E01016143,E01016144,E01016145,E01016147,E01016148,E01016149,E01016150,E01016151,E01016152,E01016153,E01016154,E01016155,E01016156,E01016157,E01016158,E01016159,E01016160,E01016161,E01016162,E01016163,E01016164,E01016165,E01016166,E01016167,E01016168,E01016169,E01016170,E01016171,E01016172,E01016173,E01016174,E01016175,E01016176,E01016177,E01016178,E01016179,E01016180,E01016181,E01016182,E01016183,E01016185,E01016187,E01016188,E01016190,E01016191,E01016192,E01016193,E01016194,E01016195,E01016196,E01016197,E01016198,E01016199,E01016200,E01016201,E01016202,E01016203,E01016204,E01016205,E01016206,E01016207,E01016208,E01016209,E01016210,E01016212,E01016213,E01016214,E01016215,E01016216,E01016217,E01016218,E01016219,E01016220,E01016221,E01016222,E01016223,E01016224,E01016226,E01016227,E01016228,E01016229,E01016230,E01016231,E01016232,E01016233,E01016234,E01016235,E01016236,E01016237,E01016238,E01016239,E01016240,E01016241,E01016242,E01016243,E01016245,E01016246,E01016247,E01016248,E01016250,E01016252,E01016253,E01016254,E01016255,E01016256,E01016257,E01016258,E01016259,E01016260,E01016261,E01016262,E01016263,E01016264,E01016265,E01016266,E01016267,E01016268,E01016269,E01016270,E01016271,E01016272,E01016273,E01016274,E01016275,E01016276,E01016277,E01016279,E01016280,E01016281,E01016282,E01016284,E01016285,E01016286,E01016287,E01016288,E01016289,E01016290,E01016291,E01016292,E01016294,E01016295,E01016296,E01016297,E01016298,E01016299,E01016300,E01016301,E01016302,E01016303,E01016304,E01016305,E01016306,E01016307,E01016308,E01016309,E01016310,E01016311,E01016312,E01016313,E01016314,E01016315,E01016316,E01016317,E01016318,E01016319&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_031.json.gz + content_sha256: 57fca429d8f8b27e39be04352b2cedbc7b95ab3869e3509031b3a4b5708b4334 +- id: census_lsoa_tenure5a_bedrooms_032 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 032 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01016320,E01016321,E01016322,E01016323,E01016324,E01016325,E01016326,E01016327,E01016328,E01016329,E01016330,E01016331,E01016332,E01016333,E01016334,E01016335,E01016336,E01016337,E01016338,E01016339,E01016340,E01016341,E01016342,E01016343,E01016344,E01016345,E01016346,E01016348,E01016349,E01016350,E01016353,E01016355,E01016356,E01016357,E01016358,E01016359,E01016360,E01016361,E01016362,E01016363,E01016364,E01016365,E01016366,E01016367,E01016368,E01016369,E01016370,E01016371,E01016372,E01016373,E01016374,E01016375,E01016376,E01016377,E01016379,E01016380,E01016381,E01016382,E01016383,E01016384,E01016385,E01016386,E01016387,E01016388,E01016389,E01016390,E01016391,E01016392,E01016393,E01016394,E01016395,E01016396,E01016397,E01016398,E01016399,E01016400,E01016401,E01016402,E01016403,E01016404,E01016405,E01016406,E01016407,E01016408,E01016409,E01016410,E01016411,E01016412,E01016413,E01016414,E01016415,E01016416,E01016417,E01016418,E01016419,E01016420,E01016421,E01016422,E01016423,E01016424,E01016425,E01016426,E01016427,E01016428,E01016429,E01016430,E01016431,E01016432,E01016433,E01016434,E01016435,E01016436,E01016437,E01016438,E01016439,E01016440,E01016441,E01016443,E01016444,E01016445,E01016446,E01016447,E01016448,E01016449,E01016450,E01016451,E01016452,E01016453,E01016454,E01016455,E01016456,E01016457,E01016458,E01016460,E01016462,E01016463,E01016464,E01016465,E01016467,E01016468,E01016469,E01016470,E01016471,E01016472,E01016473,E01016474,E01016475,E01016476,E01016477,E01016478,E01016479,E01016480,E01016481,E01016482,E01016483,E01016484,E01016485,E01016486,E01016487,E01016488,E01016490,E01016491,E01016492,E01016493,E01016494,E01016495,E01016496,E01016497,E01016498,E01016499,E01016500,E01016501,E01016502,E01016503,E01016504,E01016505,E01016506,E01016507,E01016508,E01016509,E01016510,E01016511,E01016514,E01016515,E01016516,E01016517,E01016518,E01016519,E01016520,E01016521,E01016522,E01016523,E01016524,E01016525,E01016526,E01016527,E01016528,E01016529,E01016530,E01016531,E01016532,E01016533,E01016534,E01016535,E01016536,E01016537,E01016538,E01016539,E01016540,E01016541,E01016542,E01016543,E01016544,E01016545,E01016546,E01016547,E01016548,E01016549,E01016550,E01016551,E01016552,E01016553,E01016554,E01016555,E01016556,E01016557,E01016558,E01016559,E01016560,E01016561,E01016562,E01016563,E01016564,E01016565,E01016566,E01016567,E01016568,E01016569,E01016570,E01016571,E01016572,E01016573,E01016574,E01016575,E01016576,E01016577,E01016578,E01016579,E01016580,E01016581,E01016582,E01016583,E01016584,E01016585,E01016586,E01016587,E01016588,E01016589,E01016591,E01016592,E01016593,E01016594,E01016595,E01016596,E01016597,E01016598,E01016599,E01016600,E01016601,E01016602,E01016603,E01016604,E01016605,E01016606,E01016607,E01016608,E01016609,E01016611,E01016612,E01016613,E01016614,E01016615,E01016616,E01016617,E01016618,E01016619,E01016620,E01016621,E01016622,E01016623,E01016624,E01016625,E01016626,E01016627,E01016628,E01016629,E01016630,E01016631,E01016632,E01016633,E01016634,E01016635,E01016636,E01016637,E01016638,E01016639,E01016640,E01016643,E01016644,E01016645,E01016646,E01016647,E01016648,E01016649,E01016651,E01016652,E01016653,E01016654,E01016655,E01016656,E01016657,E01016658,E01016659,E01016660,E01016661,E01016662,E01016663,E01016664,E01016665,E01016666,E01016668,E01016669,E01016670,E01016671,E01016672,E01016673,E01016674,E01016676,E01016678,E01016679,E01016680,E01016684,E01016685,E01016686,E01016687,E01016688,E01016689,E01016690,E01016691,E01016692,E01016693,E01016694,E01016695,E01016696,E01016699,E01016700,E01016701,E01016702,E01016703,E01016704,E01016705,E01016706,E01016707,E01016708,E01016709,E01016710,E01016711,E01016713,E01016714,E01016715,E01016716,E01016717,E01016718,E01016719,E01016720,E01016721,E01016722,E01016723,E01016724,E01016725,E01016726,E01016727,E01016728,E01016729,E01016731,E01016732,E01016733,E01016734,E01016736,E01016737,E01016738,E01016739,E01016740,E01016741,E01016742,E01016744,E01016745,E01016746,E01016748,E01016750,E01016751,E01016752,E01016753,E01016754,E01016755,E01016756,E01016757,E01016758,E01016759,E01016761,E01016762,E01016763,E01016764,E01016765,E01016766,E01016767,E01016768,E01016769,E01016770,E01016771,E01016772,E01016773,E01016774,E01016775,E01016776,E01016777,E01016778,E01016780,E01016781,E01016783,E01016784,E01016786,E01016787,E01016788,E01016789,E01016790,E01016791,E01016792,E01016793,E01016794,E01016795,E01016796,E01016797,E01016798,E01016799,E01016800,E01016801,E01016802,E01016803,E01016804,E01016805,E01016806,E01016807,E01016808,E01016809,E01016810,E01016811,E01016812,E01016813,E01016815,E01016816,E01016817,E01016818,E01016819,E01016820,E01016821,E01016822,E01016823,E01016824,E01016825,E01016826,E01016827,E01016828,E01016829,E01016830,E01016831,E01016832,E01016833,E01016834,E01016835,E01016836,E01016837,E01016838,E01016839,E01016841,E01016842,E01016843,E01016844,E01016845,E01016846,E01016847,E01016848,E01016849,E01016850,E01016851,E01016852,E01016853,E01016854,E01016855,E01016856&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_032.json.gz + content_sha256: 32df4eb7f57a5eec6f0921bf99fc84a9a6e86b7ef8bfbfbfb1d27fdbf89f2c09 +- id: census_lsoa_tenure5a_bedrooms_033 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 033 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01016857,E01016858,E01016859,E01016860,E01016861,E01016862,E01016863,E01016864,E01016865,E01016866,E01016867,E01016868,E01016869,E01016870,E01016871,E01016872,E01016873,E01016874,E01016875,E01016876,E01016877,E01016878,E01016879,E01016880,E01016881,E01016882,E01016883,E01016884,E01016885,E01016886,E01016887,E01016888,E01016889,E01016890,E01016891,E01016892,E01016893,E01016894,E01016895,E01016896,E01016897,E01016898,E01016899,E01016900,E01016901,E01016902,E01016903,E01016904,E01016905,E01016906,E01016907,E01016908,E01016909,E01016910,E01016911,E01016912,E01016913,E01016914,E01016915,E01016916,E01016917,E01016918,E01016919,E01016920,E01016921,E01016922,E01016923,E01016924,E01016925,E01016926,E01016927,E01016928,E01016929,E01016930,E01016931,E01016932,E01016933,E01016934,E01016935,E01016936,E01016937,E01016938,E01016939,E01016940,E01016941,E01016942,E01016943,E01016944,E01016945,E01016946,E01016947,E01016948,E01016949,E01016950,E01016951,E01016952,E01016953,E01016954,E01016955,E01016956,E01016957,E01016958,E01016959,E01016960,E01016961,E01016962,E01016963,E01016964,E01016966,E01016967,E01016968,E01016969,E01016970,E01016971,E01016972,E01016973,E01016974,E01016975,E01016976,E01016977,E01016978,E01016979,E01016980,E01016981,E01016982,E01016983,E01016984,E01016985,E01016986,E01016987,E01016988,E01016989,E01016990,E01016991,E01016992,E01016993,E01016994,E01016995,E01016996,E01016997,E01016998,E01016999,E01017000,E01017001,E01017002,E01017003,E01017004,E01017005,E01017006,E01017007,E01017008,E01017009,E01017010,E01017011,E01017012,E01017013,E01017014,E01017015,E01017016,E01017017,E01017018,E01017019,E01017020,E01017021,E01017022,E01017023,E01017024,E01017025,E01017026,E01017027,E01017028,E01017029,E01017030,E01017031,E01017032,E01017034,E01017035,E01017036,E01017037,E01017038,E01017039,E01017040,E01017041,E01017042,E01017043,E01017044,E01017045,E01017046,E01017047,E01017048,E01017049,E01017050,E01017051,E01017052,E01017053,E01017054,E01017055,E01017056,E01017057,E01017058,E01017059,E01017060,E01017061,E01017062,E01017063,E01017064,E01017066,E01017067,E01017068,E01017069,E01017070,E01017071,E01017072,E01017073,E01017074,E01017075,E01017076,E01017077,E01017078,E01017079,E01017080,E01017081,E01017082,E01017083,E01017084,E01017085,E01017086,E01017087,E01017088,E01017089,E01017090,E01017091,E01017092,E01017093,E01017094,E01017095,E01017096,E01017097,E01017098,E01017099,E01017100,E01017101,E01017102,E01017103,E01017104,E01017105,E01017106,E01017107,E01017108,E01017109,E01017110,E01017111,E01017112,E01017113,E01017114,E01017115,E01017116,E01017117,E01017118,E01017119,E01017120,E01017121,E01017122,E01017123,E01017124,E01017125,E01017126,E01017127,E01017128,E01017129,E01017130,E01017131,E01017132,E01017133,E01017135,E01017136,E01017137,E01017138,E01017139,E01017144,E01017145,E01017146,E01017147,E01017148,E01017149,E01017150,E01017151,E01017152,E01017153,E01017154,E01017155,E01017156,E01017157,E01017158,E01017159,E01017160,E01017162,E01017163,E01017164,E01017165,E01017166,E01017167,E01017168,E01017169,E01017170,E01017171,E01017172,E01017173,E01017174,E01017175,E01017176,E01017177,E01017178,E01017179,E01017180,E01017181,E01017182,E01017183,E01017184,E01017185,E01017186,E01017187,E01017188,E01017189,E01017190,E01017191,E01017192,E01017193,E01017194,E01017195,E01017196,E01017197,E01017198,E01017199,E01017200,E01017201,E01017202,E01017203,E01017204,E01017205,E01017206,E01017207,E01017208,E01017209,E01017210,E01017211,E01017212,E01017213,E01017214,E01017215,E01017216,E01017217,E01017218,E01017219,E01017220,E01017221,E01017222,E01017223,E01017224,E01017225,E01017226,E01017227,E01017228,E01017231,E01017232,E01017233,E01017234,E01017235,E01017236,E01017237,E01017238,E01017239,E01017240,E01017241,E01017242,E01017243,E01017244,E01017245,E01017246,E01017247,E01017248,E01017249,E01017250,E01017251,E01017252,E01017253,E01017254,E01017255,E01017256,E01017257,E01017258,E01017259,E01017260,E01017261,E01017262,E01017263,E01017264,E01017265,E01017266,E01017267,E01017270,E01017271,E01017272,E01017273,E01017274,E01017275,E01017276,E01017277,E01017279,E01017280,E01017281,E01017282,E01017283,E01017284,E01017285,E01017286,E01017287,E01017288,E01017289,E01017290,E01017291,E01017292,E01017293,E01017294,E01017295,E01017296,E01017297,E01017298,E01017299,E01017300,E01017301,E01017302,E01017303,E01017304,E01017305,E01017306,E01017307,E01017308,E01017309,E01017310,E01017311,E01017312,E01017315,E01017316,E01017317,E01017318,E01017319,E01017320,E01017321,E01017322,E01017323,E01017324,E01017325,E01017326,E01017327,E01017328,E01017329,E01017331,E01017332,E01017333,E01017334,E01017335,E01017336,E01017337,E01017338,E01017339,E01017340,E01017341,E01017342,E01017343,E01017344,E01017345,E01017346,E01017347,E01017348,E01017349,E01017350,E01017351,E01017352,E01017353,E01017354,E01017355,E01017356,E01017357,E01017358,E01017359,E01017360,E01017361,E01017362,E01017363,E01017364,E01017365,E01017366,E01017367,E01017368,E01017369,E01017370,E01017371,E01017372,E01017373&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_033.json.gz + content_sha256: 9b842fec612087a0d3d37c52d1c1134627bdc8b7d2628e5a019dfed0586ac19e +- id: census_lsoa_tenure5a_bedrooms_034 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 034 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01017374,E01017375,E01017376,E01017377,E01017378,E01017379,E01017380,E01017381,E01017382,E01017383,E01017384,E01017385,E01017386,E01017387,E01017388,E01017391,E01017392,E01017393,E01017394,E01017397,E01017398,E01017399,E01017400,E01017401,E01017402,E01017403,E01017404,E01017405,E01017406,E01017407,E01017408,E01017409,E01017410,E01017412,E01017413,E01017414,E01017415,E01017418,E01017419,E01017420,E01017421,E01017422,E01017423,E01017424,E01017425,E01017426,E01017427,E01017428,E01017429,E01017430,E01017431,E01017432,E01017433,E01017434,E01017435,E01017436,E01017437,E01017438,E01017439,E01017440,E01017441,E01017442,E01017443,E01017444,E01017446,E01017447,E01017449,E01017450,E01017451,E01017452,E01017453,E01017454,E01017455,E01017456,E01017457,E01017458,E01017459,E01017460,E01017462,E01017463,E01017464,E01017465,E01017466,E01017467,E01017468,E01017470,E01017471,E01017472,E01017474,E01017475,E01017476,E01017477,E01017478,E01017479,E01017480,E01017481,E01017482,E01017483,E01017484,E01017485,E01017487,E01017488,E01017489,E01017490,E01017491,E01017492,E01017493,E01017495,E01017496,E01017497,E01017498,E01017499,E01017500,E01017501,E01017502,E01017503,E01017504,E01017505,E01017506,E01017507,E01017508,E01017509,E01017510,E01017511,E01017512,E01017513,E01017514,E01017515,E01017517,E01017518,E01017519,E01017520,E01017521,E01017522,E01017523,E01017524,E01017525,E01017526,E01017527,E01017528,E01017529,E01017530,E01017531,E01017532,E01017533,E01017534,E01017535,E01017536,E01017537,E01017538,E01017539,E01017540,E01017541,E01017542,E01017543,E01017544,E01017545,E01017546,E01017547,E01017549,E01017552,E01017553,E01017554,E01017555,E01017556,E01017557,E01017558,E01017559,E01017560,E01017561,E01017562,E01017563,E01017564,E01017565,E01017566,E01017567,E01017568,E01017569,E01017571,E01017572,E01017573,E01017576,E01017577,E01017578,E01017579,E01017580,E01017581,E01017582,E01017583,E01017584,E01017585,E01017586,E01017587,E01017588,E01017589,E01017590,E01017591,E01017592,E01017593,E01017594,E01017595,E01017596,E01017597,E01017598,E01017600,E01017601,E01017602,E01017603,E01017604,E01017605,E01017606,E01017607,E01017608,E01017609,E01017610,E01017611,E01017612,E01017613,E01017614,E01017616,E01017617,E01017618,E01017619,E01017620,E01017621,E01017622,E01017623,E01017624,E01017625,E01017626,E01017627,E01017628,E01017629,E01017630,E01017631,E01017634,E01017635,E01017636,E01017637,E01017638,E01017639,E01017640,E01017642,E01017643,E01017644,E01017645,E01017646,E01017647,E01017648,E01017649,E01017651,E01017652,E01017653,E01017654,E01017655,E01017657,E01017658,E01017659,E01017660,E01017661,E01017662,E01017663,E01017664,E01017665,E01017666,E01017667,E01017668,E01017669,E01017670,E01017671,E01017672,E01017673,E01017674,E01017675,E01017676,E01017677,E01017678,E01017679,E01017680,E01017681,E01017682,E01017683,E01017684,E01017687,E01017688,E01017689,E01017690,E01017691,E01017692,E01017693,E01017694,E01017695,E01017696,E01017697,E01017698,E01017699,E01017700,E01017701,E01017702,E01017703,E01017704,E01017706,E01017707,E01017708,E01017709,E01017710,E01017711,E01017712,E01017713,E01017714,E01017715,E01017716,E01017717,E01017718,E01017719,E01017720,E01017721,E01017722,E01017723,E01017724,E01017726,E01017727,E01017729,E01017730,E01017731,E01017732,E01017733,E01017734,E01017735,E01017736,E01017737,E01017738,E01017739,E01017740,E01017741,E01017742,E01017743,E01017744,E01017745,E01017746,E01017747,E01017748,E01017749,E01017750,E01017751,E01017752,E01017753,E01017754,E01017755,E01017756,E01017757,E01017758,E01017759,E01017760,E01017761,E01017762,E01017763,E01017764,E01017765,E01017766,E01017767,E01017768,E01017769,E01017770,E01017771,E01017773,E01017774,E01017775,E01017776,E01017777,E01017778,E01017779,E01017780,E01017781,E01017782,E01017783,E01017784,E01017785,E01017786,E01017787,E01017788,E01017789,E01017790,E01017791,E01017792,E01017793,E01017794,E01017795,E01017796,E01017797,E01017798,E01017799,E01017800,E01017801,E01017802,E01017803,E01017804,E01017805,E01017806,E01017807,E01017808,E01017809,E01017810,E01017811,E01017812,E01017813,E01017814,E01017815,E01017816,E01017817,E01017818,E01017819,E01017820,E01017821,E01017822,E01017823,E01017824,E01017825,E01017826,E01017827,E01017828,E01017829,E01017830,E01017831,E01017832,E01017833,E01017834,E01017835,E01017836,E01017837,E01017838,E01017839,E01017840,E01017841,E01017843,E01017844,E01017845,E01017846,E01017847,E01017848,E01017849,E01017850,E01017851,E01017852,E01017853,E01017854,E01017855,E01017856,E01017857,E01017858,E01017859,E01017860,E01017861,E01017862,E01017863,E01017864,E01017865,E01017866,E01017867,E01017868,E01017869,E01017870,E01017871,E01017872,E01017873,E01017874,E01017875,E01017876,E01017877,E01017878,E01017880,E01017881,E01017882,E01017883,E01017884,E01017885,E01017886,E01017887,E01017888,E01017889,E01017890,E01017891,E01017892,E01017893,E01017894,E01017895,E01017896,E01017897,E01017898,E01017899,E01017900,E01017901,E01017902,E01017903,E01017904,E01017905,E01017906,E01017907,E01017910,E01017911&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_034.json.gz + content_sha256: 33728b44fb8ccaf3cd3c512a4778b037be091b47bd34c6eaf674a9d77b896642 +- id: census_lsoa_tenure5a_bedrooms_035 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 035 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01017912,E01017913,E01017914,E01017915,E01017916,E01017917,E01017918,E01017919,E01017920,E01017921,E01017922,E01017923,E01017924,E01017925,E01017926,E01017927,E01017928,E01017929,E01017930,E01017931,E01017932,E01017933,E01017934,E01017935,E01017936,E01017937,E01017938,E01017939,E01017940,E01017941,E01017942,E01017943,E01017944,E01017945,E01017946,E01017947,E01017948,E01017949,E01017950,E01017951,E01017952,E01017953,E01017954,E01017955,E01017959,E01017960,E01017961,E01017962,E01017963,E01017964,E01017965,E01017967,E01017968,E01017969,E01017971,E01017972,E01017973,E01017974,E01017975,E01017976,E01017977,E01017978,E01017979,E01017980,E01017983,E01017985,E01017987,E01017988,E01017989,E01017990,E01017991,E01017992,E01017994,E01017995,E01017996,E01017997,E01017998,E01017999,E01018000,E01018001,E01018005,E01018006,E01018007,E01018008,E01018009,E01018010,E01018011,E01018012,E01018013,E01018014,E01018015,E01018016,E01018017,E01018019,E01018020,E01018021,E01018022,E01018023,E01018024,E01018025,E01018026,E01018027,E01018032,E01018033,E01018034,E01018035,E01018036,E01018037,E01018038,E01018039,E01018040,E01018041,E01018042,E01018043,E01018044,E01018045,E01018047,E01018049,E01018050,E01018051,E01018052,E01018053,E01018054,E01018055,E01018056,E01018057,E01018058,E01018059,E01018060,E01018061,E01018062,E01018063,E01018064,E01018065,E01018066,E01018067,E01018068,E01018069,E01018070,E01018071,E01018072,E01018073,E01018074,E01018075,E01018076,E01018077,E01018078,E01018079,E01018080,E01018081,E01018082,E01018083,E01018084,E01018085,E01018086,E01018087,E01018088,E01018090,E01018091,E01018092,E01018093,E01018094,E01018095,E01018096,E01018097,E01018098,E01018099,E01018100,E01018101,E01018103,E01018104,E01018105,E01018106,E01018107,E01018108,E01018109,E01018110,E01018111,E01018113,E01018115,E01018116,E01018117,E01018118,E01018119,E01018120,E01018121,E01018122,E01018123,E01018124,E01018125,E01018126,E01018127,E01018128,E01018129,E01018130,E01018131,E01018133,E01018134,E01018136,E01018137,E01018138,E01018139,E01018140,E01018141,E01018142,E01018143,E01018144,E01018145,E01018146,E01018147,E01018148,E01018149,E01018150,E01018152,E01018153,E01018154,E01018155,E01018156,E01018157,E01018158,E01018159,E01018160,E01018161,E01018162,E01018163,E01018164,E01018165,E01018166,E01018167,E01018168,E01018169,E01018170,E01018171,E01018172,E01018173,E01018174,E01018175,E01018176,E01018177,E01018178,E01018179,E01018180,E01018182,E01018183,E01018184,E01018185,E01018186,E01018187,E01018188,E01018189,E01018190,E01018191,E01018192,E01018193,E01018194,E01018195,E01018196,E01018197,E01018198,E01018199,E01018200,E01018201,E01018202,E01018203,E01018204,E01018205,E01018206,E01018207,E01018208,E01018209,E01018210,E01018211,E01018212,E01018213,E01018214,E01018215,E01018216,E01018217,E01018218,E01018219,E01018220,E01018221,E01018222,E01018223,E01018224,E01018225,E01018226,E01018227,E01018228,E01018231,E01018232,E01018233,E01018234,E01018235,E01018236,E01018237,E01018238,E01018239,E01018240,E01018241,E01018242,E01018243,E01018244,E01018245,E01018246,E01018247,E01018248,E01018251,E01018252,E01018253,E01018254,E01018255,E01018256,E01018257,E01018258,E01018259,E01018260,E01018262,E01018263,E01018264,E01018265,E01018267,E01018268,E01018269,E01018270,E01018271,E01018272,E01018273,E01018274,E01018275,E01018276,E01018277,E01018278,E01018279,E01018280,E01018281,E01018282,E01018283,E01018284,E01018285,E01018286,E01018287,E01018288,E01018289,E01018290,E01018291,E01018292,E01018293,E01018294,E01018295,E01018296,E01018297,E01018298,E01018299,E01018300,E01018301,E01018302,E01018303,E01018304,E01018305,E01018306,E01018307,E01018308,E01018309,E01018310,E01018311,E01018312,E01018313,E01018314,E01018315,E01018316,E01018317,E01018319,E01018320,E01018321,E01018322,E01018323,E01018324,E01018325,E01018328,E01018330,E01018331,E01018332,E01018333,E01018334,E01018335,E01018336,E01018337,E01018338,E01018339,E01018340,E01018341,E01018342,E01018343,E01018344,E01018345,E01018346,E01018347,E01018349,E01018350,E01018351,E01018352,E01018353,E01018354,E01018355,E01018356,E01018357,E01018358,E01018359,E01018360,E01018361,E01018362,E01018363,E01018364,E01018365,E01018366,E01018367,E01018368,E01018369,E01018370,E01018371,E01018372,E01018373,E01018374,E01018375,E01018376,E01018377,E01018378,E01018379,E01018380,E01018381,E01018382,E01018383,E01018384,E01018385,E01018386,E01018387,E01018388,E01018389,E01018390,E01018391,E01018392,E01018395,E01018396,E01018397,E01018398,E01018399,E01018400,E01018401,E01018402,E01018403,E01018404,E01018405,E01018406,E01018407,E01018408,E01018409,E01018410,E01018411,E01018412,E01018413,E01018414,E01018415,E01018416,E01018417,E01018418,E01018419,E01018420,E01018421,E01018422,E01018423,E01018424,E01018425,E01018426,E01018427,E01018428,E01018429,E01018430,E01018431,E01018432,E01018433,E01018434,E01018435,E01018436,E01018437,E01018438,E01018439,E01018440,E01018441,E01018443,E01018445,E01018446,E01018447,E01018448,E01018449,E01018450,E01018451,E01018452,E01018454,E01018455&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_035.json.gz + content_sha256: 0473b6621f33b1e32877e6d78c25ed9080626371ce5fe2d25a625c128e2b98d7 +- id: census_lsoa_tenure5a_bedrooms_036 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 036 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01018456,E01018457,E01018458,E01018459,E01018460,E01018461,E01018462,E01018463,E01018464,E01018466,E01018468,E01018469,E01018470,E01018471,E01018472,E01018473,E01018474,E01018475,E01018476,E01018477,E01018478,E01018479,E01018481,E01018482,E01018483,E01018484,E01018485,E01018486,E01018487,E01018488,E01018489,E01018490,E01018491,E01018492,E01018493,E01018494,E01018495,E01018496,E01018497,E01018498,E01018499,E01018500,E01018501,E01018502,E01018503,E01018504,E01018505,E01018506,E01018507,E01018508,E01018509,E01018510,E01018511,E01018512,E01018513,E01018514,E01018515,E01018516,E01018518,E01018519,E01018520,E01018521,E01018522,E01018523,E01018524,E01018525,E01018526,E01018527,E01018528,E01018529,E01018530,E01018531,E01018532,E01018533,E01018534,E01018535,E01018536,E01018537,E01018538,E01018539,E01018540,E01018541,E01018542,E01018543,E01018544,E01018545,E01018546,E01018547,E01018548,E01018549,E01018550,E01018551,E01018552,E01018553,E01018554,E01018555,E01018556,E01018557,E01018558,E01018559,E01018560,E01018561,E01018562,E01018565,E01018566,E01018567,E01018568,E01018569,E01018570,E01018571,E01018572,E01018573,E01018574,E01018575,E01018576,E01018577,E01018578,E01018579,E01018580,E01018581,E01018582,E01018583,E01018584,E01018585,E01018586,E01018587,E01018588,E01018589,E01018590,E01018591,E01018592,E01018593,E01018594,E01018595,E01018596,E01018598,E01018599,E01018600,E01018601,E01018602,E01018603,E01018604,E01018605,E01018606,E01018607,E01018608,E01018609,E01018610,E01018611,E01018612,E01018613,E01018614,E01018615,E01018616,E01018617,E01018618,E01018619,E01018620,E01018621,E01018622,E01018623,E01018624,E01018625,E01018627,E01018628,E01018629,E01018630,E01018631,E01018632,E01018633,E01018634,E01018635,E01018636,E01018637,E01018638,E01018639,E01018640,E01018641,E01018642,E01018643,E01018644,E01018645,E01018646,E01018647,E01018648,E01018649,E01018650,E01018651,E01018652,E01018653,E01018654,E01018655,E01018657,E01018658,E01018659,E01018661,E01018662,E01018663,E01018664,E01018665,E01018666,E01018667,E01018668,E01018669,E01018670,E01018671,E01018672,E01018673,E01018674,E01018675,E01018676,E01018677,E01018678,E01018679,E01018680,E01018681,E01018682,E01018683,E01018684,E01018685,E01018686,E01018687,E01018688,E01018689,E01018690,E01018691,E01018692,E01018693,E01018694,E01018695,E01018696,E01018697,E01018698,E01018699,E01018700,E01018701,E01018702,E01018703,E01018704,E01018705,E01018706,E01018707,E01018708,E01018709,E01018710,E01018711,E01018712,E01018714,E01018715,E01018716,E01018717,E01018718,E01018719,E01018720,E01018721,E01018722,E01018723,E01018724,E01018725,E01018726,E01018727,E01018728,E01018729,E01018730,E01018731,E01018732,E01018733,E01018734,E01018735,E01018736,E01018737,E01018738,E01018739,E01018740,E01018741,E01018742,E01018743,E01018744,E01018745,E01018746,E01018747,E01018748,E01018749,E01018750,E01018751,E01018752,E01018753,E01018754,E01018755,E01018756,E01018757,E01018759,E01018760,E01018761,E01018762,E01018763,E01018764,E01018765,E01018766,E01018767,E01018768,E01018770,E01018771,E01018772,E01018773,E01018774,E01018777,E01018778,E01018779,E01018780,E01018781,E01018782,E01018783,E01018784,E01018785,E01018786,E01018787,E01018788,E01018789,E01018790,E01018791,E01018792,E01018793,E01018794,E01018795,E01018796,E01018797,E01018798,E01018799,E01018800,E01018803,E01018804,E01018805,E01018806,E01018807,E01018808,E01018810,E01018811,E01018812,E01018813,E01018814,E01018815,E01018816,E01018817,E01018818,E01018819,E01018820,E01018821,E01018822,E01018823,E01018824,E01018825,E01018826,E01018827,E01018828,E01018829,E01018830,E01018831,E01018832,E01018833,E01018834,E01018835,E01018836,E01018837,E01018838,E01018839,E01018840,E01018841,E01018842,E01018843,E01018844,E01018845,E01018846,E01018847,E01018848,E01018849,E01018850,E01018851,E01018853,E01018854,E01018856,E01018857,E01018858,E01018859,E01018860,E01018861,E01018862,E01018863,E01018864,E01018865,E01018866,E01018868,E01018869,E01018870,E01018871,E01018872,E01018873,E01018874,E01018875,E01018876,E01018877,E01018878,E01018879,E01018880,E01018881,E01018882,E01018883,E01018884,E01018885,E01018886,E01018887,E01018888,E01018889,E01018890,E01018891,E01018892,E01018893,E01018894,E01018895,E01018896,E01018897,E01018898,E01018899,E01018900,E01018901,E01018902,E01018903,E01018904,E01018905,E01018906,E01018907,E01018908,E01018909,E01018910,E01018911,E01018912,E01018913,E01018914,E01018915,E01018916,E01018917,E01018918,E01018919,E01018920,E01018921,E01018922,E01018923,E01018924,E01018925,E01018926,E01018927,E01018928,E01018929,E01018930,E01018931,E01018932,E01018933,E01018934,E01018935,E01018936,E01018937,E01018938,E01018940,E01018941,E01018942,E01018943,E01018944,E01018945,E01018946,E01018948,E01018949,E01018950,E01018951,E01018952,E01018953,E01018954,E01018955,E01018956,E01018957,E01018958,E01018959,E01018960,E01018961,E01018962,E01018965,E01018966,E01018967,E01018968,E01018969,E01018970,E01018971,E01018972,E01018973,E01018974,E01018975,E01018976,E01018977,E01018978,E01018979,E01018980&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_036.json.gz + content_sha256: 7dd4f617f9e0b3fda9109c9065fdba482cd3830361f5c985ee268b2f237b30ee +- id: census_lsoa_tenure5a_bedrooms_037 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 037 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01018981,E01018982,E01018983,E01018985,E01018986,E01018987,E01018988,E01018989,E01018990,E01018991,E01018992,E01018993,E01018994,E01018995,E01018996,E01018997,E01018998,E01018999,E01019000,E01019001,E01019002,E01019003,E01019004,E01019005,E01019006,E01019007,E01019008,E01019009,E01019010,E01019011,E01019012,E01019013,E01019014,E01019015,E01019016,E01019018,E01019019,E01019020,E01019021,E01019022,E01019023,E01019024,E01019025,E01019026,E01019027,E01019028,E01019029,E01019030,E01019031,E01019032,E01019033,E01019034,E01019035,E01019036,E01019037,E01019038,E01019039,E01019040,E01019041,E01019042,E01019043,E01019044,E01019045,E01019046,E01019047,E01019048,E01019050,E01019051,E01019052,E01019053,E01019054,E01019055,E01019056,E01019057,E01019058,E01019059,E01019060,E01019061,E01019062,E01019063,E01019064,E01019065,E01019066,E01019067,E01019068,E01019069,E01019070,E01019071,E01019072,E01019073,E01019074,E01019075,E01019076,E01019077,E01019078,E01019079,E01019080,E01019081,E01019082,E01019083,E01019084,E01019085,E01019086,E01019087,E01019088,E01019089,E01019090,E01019091,E01019092,E01019093,E01019094,E01019095,E01019096,E01019097,E01019098,E01019099,E01019100,E01019101,E01019102,E01019104,E01019106,E01019107,E01019108,E01019109,E01019110,E01019111,E01019112,E01019113,E01019114,E01019115,E01019116,E01019117,E01019118,E01019119,E01019120,E01019121,E01019122,E01019123,E01019124,E01019125,E01019126,E01019127,E01019128,E01019129,E01019130,E01019131,E01019132,E01019133,E01019134,E01019135,E01019136,E01019137,E01019138,E01019139,E01019141,E01019142,E01019143,E01019144,E01019145,E01019146,E01019147,E01019148,E01019149,E01019150,E01019151,E01019152,E01019153,E01019154,E01019155,E01019156,E01019157,E01019158,E01019159,E01019160,E01019161,E01019162,E01019163,E01019164,E01019165,E01019166,E01019167,E01019168,E01019169,E01019170,E01019171,E01019172,E01019173,E01019175,E01019176,E01019177,E01019178,E01019179,E01019180,E01019182,E01019184,E01019185,E01019186,E01019187,E01019188,E01019189,E01019190,E01019191,E01019192,E01019193,E01019194,E01019195,E01019196,E01019197,E01019198,E01019199,E01019200,E01019201,E01019202,E01019203,E01019204,E01019205,E01019206,E01019207,E01019208,E01019209,E01019210,E01019211,E01019212,E01019215,E01019216,E01019217,E01019218,E01019219,E01019220,E01019221,E01019222,E01019223,E01019224,E01019225,E01019226,E01019227,E01019228,E01019229,E01019230,E01019231,E01019232,E01019233,E01019234,E01019235,E01019236,E01019237,E01019238,E01019239,E01019240,E01019241,E01019242,E01019243,E01019244,E01019245,E01019246,E01019247,E01019248,E01019249,E01019250,E01019251,E01019252,E01019253,E01019254,E01019255,E01019256,E01019257,E01019258,E01019259,E01019260,E01019261,E01019262,E01019264,E01019265,E01019266,E01019267,E01019269,E01019270,E01019271,E01019272,E01019273,E01019274,E01019275,E01019277,E01019278,E01019279,E01019280,E01019281,E01019282,E01019283,E01019284,E01019285,E01019286,E01019287,E01019288,E01019289,E01019290,E01019291,E01019292,E01019293,E01019294,E01019295,E01019296,E01019298,E01019299,E01019300,E01019301,E01019302,E01019303,E01019304,E01019305,E01019306,E01019307,E01019308,E01019309,E01019310,E01019311,E01019312,E01019313,E01019314,E01019315,E01019316,E01019317,E01019318,E01019319,E01019320,E01019321,E01019322,E01019323,E01019324,E01019325,E01019326,E01019327,E01019328,E01019329,E01019330,E01019331,E01019332,E01019333,E01019334,E01019335,E01019336,E01019337,E01019338,E01019339,E01019340,E01019343,E01019344,E01019345,E01019346,E01019347,E01019348,E01019349,E01019350,E01019351,E01019352,E01019353,E01019354,E01019355,E01019356,E01019357,E01019358,E01019359,E01019360,E01019361,E01019362,E01019363,E01019364,E01019365,E01019366,E01019368,E01019369,E01019370,E01019371,E01019372,E01019373,E01019374,E01019375,E01019376,E01019377,E01019378,E01019379,E01019380,E01019381,E01019382,E01019383,E01019384,E01019385,E01019386,E01019387,E01019388,E01019389,E01019390,E01019391,E01019392,E01019393,E01019394,E01019395,E01019396,E01019397,E01019400,E01019401,E01019402,E01019403,E01019404,E01019405,E01019406,E01019407,E01019408,E01019409,E01019410,E01019411,E01019412,E01019413,E01019414,E01019415,E01019416,E01019417,E01019418,E01019419,E01019420,E01019421,E01019422,E01019423,E01019424,E01019425,E01019426,E01019427,E01019428,E01019429,E01019430,E01019431,E01019432,E01019433,E01019434,E01019435,E01019436,E01019437,E01019438,E01019439,E01019440,E01019441,E01019442,E01019443,E01019444,E01019445,E01019446,E01019447,E01019448,E01019449,E01019450,E01019451,E01019452,E01019453,E01019454,E01019455,E01019456,E01019457,E01019458,E01019459,E01019460,E01019461,E01019462,E01019463,E01019464,E01019465,E01019467,E01019468,E01019469,E01019470,E01019471,E01019473,E01019474,E01019475,E01019476,E01019477,E01019478,E01019479,E01019480,E01019481,E01019482,E01019483,E01019484,E01019485,E01019486,E01019487,E01019488,E01019489,E01019490,E01019491,E01019492,E01019493,E01019495,E01019496,E01019497,E01019498,E01019499,E01019500,E01019501,E01019502,E01019503&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_037.json.gz + content_sha256: f22929bfe86ffe13f66ce567b290b51a1e471466c3271864d42d0312ad6bdc19 +- id: census_lsoa_tenure5a_bedrooms_038 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 038 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01019504,E01019505,E01019506,E01019507,E01019508,E01019509,E01019510,E01019511,E01019513,E01019514,E01019515,E01019516,E01019517,E01019518,E01019519,E01019520,E01019521,E01019522,E01019523,E01019524,E01019525,E01019526,E01019527,E01019528,E01019529,E01019530,E01019531,E01019532,E01019533,E01019534,E01019535,E01019536,E01019537,E01019538,E01019539,E01019540,E01019541,E01019542,E01019543,E01019544,E01019545,E01019546,E01019547,E01019548,E01019549,E01019550,E01019551,E01019552,E01019553,E01019554,E01019555,E01019556,E01019557,E01019558,E01019559,E01019560,E01019561,E01019562,E01019563,E01019564,E01019565,E01019566,E01019567,E01019568,E01019569,E01019570,E01019571,E01019572,E01019573,E01019574,E01019575,E01019576,E01019577,E01019578,E01019579,E01019580,E01019581,E01019582,E01019583,E01019585,E01019586,E01019587,E01019588,E01019589,E01019590,E01019591,E01019592,E01019593,E01019594,E01019595,E01019596,E01019597,E01019598,E01019599,E01019600,E01019601,E01019602,E01019603,E01019604,E01019605,E01019606,E01019607,E01019608,E01019609,E01019610,E01019611,E01019612,E01019613,E01019614,E01019615,E01019616,E01019617,E01019618,E01019619,E01019620,E01019621,E01019622,E01019623,E01019624,E01019625,E01019626,E01019627,E01019628,E01019629,E01019630,E01019631,E01019632,E01019633,E01019634,E01019635,E01019636,E01019638,E01019639,E01019640,E01019641,E01019642,E01019643,E01019644,E01019645,E01019646,E01019647,E01019648,E01019649,E01019650,E01019651,E01019652,E01019653,E01019654,E01019655,E01019656,E01019657,E01019658,E01019659,E01019660,E01019661,E01019662,E01019663,E01019664,E01019665,E01019666,E01019667,E01019668,E01019669,E01019670,E01019671,E01019672,E01019673,E01019674,E01019675,E01019676,E01019677,E01019678,E01019679,E01019680,E01019681,E01019682,E01019683,E01019684,E01019685,E01019686,E01019687,E01019688,E01019689,E01019690,E01019691,E01019692,E01019693,E01019694,E01019695,E01019696,E01019697,E01019698,E01019699,E01019700,E01019701,E01019702,E01019703,E01019704,E01019705,E01019706,E01019707,E01019708,E01019709,E01019710,E01019711,E01019712,E01019713,E01019714,E01019715,E01019716,E01019717,E01019718,E01019719,E01019720,E01019721,E01019722,E01019723,E01019724,E01019725,E01019726,E01019727,E01019728,E01019729,E01019730,E01019731,E01019732,E01019733,E01019734,E01019735,E01019736,E01019737,E01019738,E01019739,E01019740,E01019741,E01019742,E01019743,E01019744,E01019745,E01019746,E01019747,E01019748,E01019749,E01019750,E01019751,E01019752,E01019753,E01019754,E01019755,E01019756,E01019757,E01019758,E01019759,E01019760,E01019761,E01019762,E01019763,E01019764,E01019765,E01019766,E01019767,E01019768,E01019769,E01019770,E01019771,E01019772,E01019774,E01019775,E01019776,E01019777,E01019778,E01019779,E01019780,E01019781,E01019782,E01019783,E01019784,E01019785,E01019786,E01019787,E01019788,E01019790,E01019791,E01019792,E01019793,E01019794,E01019795,E01019796,E01019797,E01019798,E01019799,E01019800,E01019801,E01019802,E01019803,E01019804,E01019805,E01019806,E01019807,E01019808,E01019809,E01019810,E01019811,E01019812,E01019813,E01019814,E01019815,E01019816,E01019817,E01019818,E01019819,E01019820,E01019821,E01019822,E01019823,E01019824,E01019825,E01019826,E01019827,E01019828,E01019829,E01019830,E01019831,E01019832,E01019833,E01019834,E01019837,E01019838,E01019839,E01019840,E01019841,E01019842,E01019843,E01019844,E01019845,E01019846,E01019847,E01019848,E01019850,E01019851,E01019852,E01019853,E01019854,E01019855,E01019856,E01019857,E01019858,E01019859,E01019860,E01019861,E01019862,E01019863,E01019864,E01019865,E01019866,E01019867,E01019868,E01019869,E01019870,E01019871,E01019872,E01019873,E01019874,E01019875,E01019876,E01019877,E01019878,E01019879,E01019880,E01019882,E01019885,E01019887,E01019888,E01019889,E01019890,E01019891,E01019894,E01019895,E01019896,E01019897,E01019898,E01019899,E01019900,E01019901,E01019902,E01019903,E01019904,E01019905,E01019906,E01019907,E01019908,E01019909,E01019910,E01019911,E01019912,E01019913,E01019914,E01019915,E01019916,E01019917,E01019918,E01019919,E01019920,E01019921,E01019922,E01019923,E01019924,E01019925,E01019927,E01019928,E01019929,E01019930,E01019931,E01019932,E01019933,E01019934,E01019935,E01019936,E01019937,E01019938,E01019939,E01019940,E01019942,E01019943,E01019944,E01019945,E01019946,E01019947,E01019948,E01019949,E01019950,E01019951,E01019952,E01019953,E01019954,E01019955,E01019956,E01019957,E01019958,E01019959,E01019960,E01019961,E01019962,E01019963,E01019964,E01019965,E01019966,E01019967,E01019968,E01019969,E01019970,E01019971,E01019972,E01019973,E01019974,E01019975,E01019976,E01019977,E01019980,E01019981,E01019982,E01019983,E01019984,E01019985,E01019986,E01019987,E01019988,E01019989,E01019990,E01019991,E01019992,E01019993,E01019994,E01019995,E01019996,E01019997,E01019998,E01019999,E01020000,E01020001,E01020002,E01020003,E01020004,E01020005,E01020006,E01020007,E01020008,E01020009,E01020010,E01020011,E01020012,E01020013,E01020014,E01020015,E01020017,E01020018,E01020019,E01020020,E01020021,E01020022&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_038.json.gz + content_sha256: 03b5c98a1fcfed82f84aad564392c4d0efb72a86c3235a33a5ec3c493c5d4ece +- id: census_lsoa_tenure5a_bedrooms_039 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 039 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01020023,E01020024,E01020025,E01020026,E01020027,E01020029,E01020030,E01020031,E01020032,E01020036,E01020037,E01020038,E01020039,E01020040,E01020041,E01020042,E01020043,E01020044,E01020045,E01020046,E01020047,E01020048,E01020049,E01020050,E01020051,E01020052,E01020053,E01020054,E01020055,E01020056,E01020057,E01020058,E01020059,E01020060,E01020061,E01020062,E01020063,E01020064,E01020065,E01020067,E01020068,E01020069,E01020070,E01020071,E01020072,E01020073,E01020074,E01020075,E01020076,E01020077,E01020078,E01020079,E01020080,E01020081,E01020082,E01020083,E01020084,E01020085,E01020087,E01020088,E01020089,E01020090,E01020091,E01020092,E01020093,E01020094,E01020095,E01020096,E01020097,E01020098,E01020099,E01020100,E01020101,E01020102,E01020103,E01020104,E01020105,E01020106,E01020107,E01020108,E01020109,E01020110,E01020111,E01020112,E01020113,E01020114,E01020115,E01020116,E01020117,E01020118,E01020119,E01020120,E01020121,E01020122,E01020123,E01020124,E01020125,E01020126,E01020127,E01020128,E01020129,E01020130,E01020131,E01020132,E01020133,E01020134,E01020135,E01020136,E01020137,E01020138,E01020139,E01020140,E01020141,E01020142,E01020143,E01020144,E01020145,E01020146,E01020147,E01020148,E01020149,E01020150,E01020151,E01020152,E01020153,E01020154,E01020155,E01020156,E01020157,E01020158,E01020159,E01020160,E01020161,E01020162,E01020163,E01020164,E01020165,E01020166,E01020167,E01020168,E01020169,E01020170,E01020171,E01020172,E01020173,E01020174,E01020175,E01020176,E01020177,E01020178,E01020179,E01020180,E01020181,E01020182,E01020183,E01020184,E01020185,E01020186,E01020187,E01020188,E01020189,E01020190,E01020191,E01020192,E01020193,E01020194,E01020195,E01020196,E01020197,E01020198,E01020199,E01020200,E01020201,E01020202,E01020203,E01020204,E01020205,E01020206,E01020208,E01020209,E01020210,E01020211,E01020212,E01020213,E01020214,E01020215,E01020216,E01020217,E01020218,E01020219,E01020220,E01020221,E01020222,E01020223,E01020224,E01020225,E01020226,E01020227,E01020228,E01020230,E01020231,E01020232,E01020233,E01020234,E01020235,E01020236,E01020237,E01020238,E01020239,E01020240,E01020241,E01020242,E01020243,E01020244,E01020245,E01020246,E01020247,E01020248,E01020249,E01020250,E01020251,E01020252,E01020253,E01020254,E01020255,E01020256,E01020257,E01020258,E01020259,E01020260,E01020261,E01020262,E01020263,E01020264,E01020265,E01020266,E01020267,E01020268,E01020269,E01020270,E01020271,E01020272,E01020273,E01020274,E01020275,E01020276,E01020277,E01020278,E01020279,E01020280,E01020281,E01020282,E01020283,E01020284,E01020285,E01020286,E01020287,E01020288,E01020289,E01020290,E01020291,E01020292,E01020293,E01020294,E01020295,E01020296,E01020297,E01020298,E01020299,E01020300,E01020301,E01020302,E01020303,E01020304,E01020305,E01020306,E01020307,E01020308,E01020309,E01020311,E01020312,E01020313,E01020314,E01020315,E01020316,E01020317,E01020318,E01020319,E01020320,E01020321,E01020323,E01020324,E01020325,E01020326,E01020327,E01020328,E01020329,E01020330,E01020331,E01020332,E01020333,E01020334,E01020335,E01020336,E01020337,E01020338,E01020339,E01020340,E01020341,E01020342,E01020343,E01020344,E01020345,E01020346,E01020347,E01020348,E01020349,E01020350,E01020351,E01020352,E01020353,E01020354,E01020355,E01020356,E01020357,E01020358,E01020359,E01020360,E01020361,E01020362,E01020363,E01020364,E01020365,E01020366,E01020367,E01020369,E01020370,E01020371,E01020372,E01020373,E01020374,E01020375,E01020376,E01020377,E01020378,E01020379,E01020380,E01020381,E01020382,E01020383,E01020384,E01020385,E01020386,E01020387,E01020388,E01020389,E01020390,E01020391,E01020392,E01020393,E01020394,E01020395,E01020396,E01020397,E01020398,E01020400,E01020401,E01020402,E01020403,E01020404,E01020405,E01020406,E01020407,E01020408,E01020409,E01020410,E01020411,E01020412,E01020413,E01020414,E01020415,E01020416,E01020417,E01020418,E01020419,E01020420,E01020421,E01020422,E01020423,E01020424,E01020425,E01020426,E01020427,E01020428,E01020429,E01020430,E01020431,E01020432,E01020433,E01020434,E01020435,E01020436,E01020437,E01020438,E01020439,E01020440,E01020441,E01020442,E01020443,E01020444,E01020445,E01020446,E01020447,E01020448,E01020449,E01020450,E01020452,E01020453,E01020454,E01020456,E01020457,E01020458,E01020460,E01020462,E01020463,E01020464,E01020465,E01020466,E01020467,E01020468,E01020469,E01020470,E01020471,E01020472,E01020473,E01020474,E01020475,E01020476,E01020477,E01020478,E01020479,E01020480,E01020481,E01020482,E01020483,E01020484,E01020485,E01020486,E01020487,E01020488,E01020489,E01020490,E01020491,E01020492,E01020493,E01020494,E01020495,E01020496,E01020497,E01020498,E01020499,E01020500,E01020501,E01020502,E01020503,E01020504,E01020505,E01020506,E01020507,E01020508,E01020509,E01020510,E01020511,E01020512,E01020513,E01020514,E01020515,E01020516,E01020517,E01020518,E01020519,E01020520,E01020523,E01020524,E01020525,E01020526,E01020527,E01020528,E01020529,E01020530,E01020531,E01020532,E01020533,E01020534,E01020535,E01020536,E01020537,E01020538,E01020539,E01020540&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_039.json.gz + content_sha256: 531f6983a6f07c6a9f956d457a99a8c0c8171469887d4180e5d2b37a863e249c +- id: census_lsoa_tenure5a_bedrooms_040 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 040 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01020541,E01020542,E01020543,E01020544,E01020546,E01020547,E01020549,E01020550,E01020551,E01020552,E01020553,E01020554,E01020555,E01020556,E01020557,E01020558,E01020559,E01020560,E01020561,E01020562,E01020563,E01020564,E01020565,E01020566,E01020569,E01020570,E01020571,E01020572,E01020573,E01020574,E01020575,E01020576,E01020577,E01020578,E01020579,E01020580,E01020581,E01020582,E01020583,E01020584,E01020585,E01020586,E01020587,E01020588,E01020589,E01020590,E01020591,E01020592,E01020593,E01020594,E01020595,E01020596,E01020597,E01020598,E01020599,E01020600,E01020601,E01020602,E01020603,E01020604,E01020605,E01020606,E01020607,E01020608,E01020609,E01020610,E01020611,E01020612,E01020613,E01020614,E01020615,E01020616,E01020617,E01020618,E01020619,E01020620,E01020621,E01020622,E01020623,E01020624,E01020625,E01020626,E01020627,E01020628,E01020629,E01020630,E01020631,E01020632,E01020633,E01020634,E01020635,E01020636,E01020637,E01020638,E01020639,E01020640,E01020641,E01020642,E01020643,E01020645,E01020646,E01020647,E01020648,E01020649,E01020650,E01020651,E01020652,E01020653,E01020654,E01020655,E01020656,E01020657,E01020658,E01020659,E01020660,E01020661,E01020662,E01020663,E01020664,E01020665,E01020666,E01020667,E01020668,E01020669,E01020670,E01020671,E01020672,E01020673,E01020674,E01020675,E01020676,E01020677,E01020678,E01020679,E01020680,E01020681,E01020682,E01020683,E01020685,E01020686,E01020687,E01020688,E01020689,E01020690,E01020691,E01020692,E01020693,E01020694,E01020695,E01020696,E01020697,E01020698,E01020699,E01020700,E01020701,E01020702,E01020703,E01020704,E01020705,E01020706,E01020708,E01020709,E01020710,E01020711,E01020712,E01020714,E01020716,E01020717,E01020718,E01020719,E01020720,E01020721,E01020722,E01020723,E01020724,E01020725,E01020726,E01020727,E01020729,E01020730,E01020731,E01020732,E01020733,E01020734,E01020735,E01020737,E01020739,E01020740,E01020741,E01020742,E01020743,E01020744,E01020745,E01020746,E01020747,E01020748,E01020749,E01020750,E01020751,E01020752,E01020753,E01020754,E01020756,E01020757,E01020758,E01020759,E01020760,E01020761,E01020762,E01020763,E01020764,E01020765,E01020766,E01020767,E01020768,E01020769,E01020770,E01020771,E01020772,E01020773,E01020775,E01020776,E01020777,E01020778,E01020779,E01020780,E01020782,E01020783,E01020784,E01020786,E01020787,E01020788,E01020789,E01020790,E01020791,E01020792,E01020793,E01020794,E01020795,E01020796,E01020797,E01020798,E01020799,E01020801,E01020802,E01020805,E01020806,E01020807,E01020808,E01020809,E01020810,E01020811,E01020812,E01020813,E01020814,E01020815,E01020816,E01020817,E01020818,E01020819,E01020820,E01020821,E01020822,E01020823,E01020824,E01020825,E01020826,E01020827,E01020828,E01020829,E01020830,E01020831,E01020832,E01020833,E01020834,E01020835,E01020837,E01020838,E01020839,E01020840,E01020841,E01020843,E01020844,E01020845,E01020846,E01020847,E01020848,E01020849,E01020850,E01020851,E01020852,E01020853,E01020854,E01020855,E01020856,E01020857,E01020858,E01020859,E01020860,E01020861,E01020862,E01020863,E01020864,E01020867,E01020868,E01020869,E01020870,E01020871,E01020872,E01020873,E01020874,E01020875,E01020876,E01020877,E01020878,E01020879,E01020880,E01020881,E01020882,E01020883,E01020884,E01020885,E01020886,E01020887,E01020888,E01020889,E01020890,E01020891,E01020892,E01020893,E01020894,E01020895,E01020896,E01020898,E01020899,E01020900,E01020901,E01020902,E01020903,E01020904,E01020905,E01020906,E01020907,E01020908,E01020909,E01020910,E01020911,E01020912,E01020913,E01020914,E01020915,E01020916,E01020917,E01020918,E01020919,E01020920,E01020921,E01020922,E01020923,E01020924,E01020925,E01020926,E01020927,E01020928,E01020929,E01020930,E01020931,E01020932,E01020935,E01020936,E01020937,E01020938,E01020939,E01020940,E01020941,E01020942,E01020943,E01020944,E01020945,E01020946,E01020947,E01020948,E01020949,E01020950,E01020951,E01020952,E01020953,E01020954,E01020955,E01020956,E01020957,E01020959,E01020960,E01020961,E01020962,E01020963,E01020964,E01020965,E01020966,E01020967,E01020968,E01020969,E01020970,E01020971,E01020972,E01020973,E01020974,E01020975,E01020976,E01020977,E01020978,E01020979,E01020980,E01020981,E01020982,E01020983,E01020984,E01020985,E01020986,E01020987,E01020988,E01020989,E01020990,E01020991,E01020992,E01020993,E01020994,E01020995,E01020996,E01020997,E01020998,E01020999,E01021000,E01021001,E01021002,E01021003,E01021004,E01021005,E01021006,E01021007,E01021008,E01021009,E01021010,E01021011,E01021012,E01021013,E01021014,E01021015,E01021016,E01021017,E01021018,E01021019,E01021020,E01021021,E01021022,E01021023,E01021024,E01021025,E01021026,E01021027,E01021028,E01021029,E01021030,E01021031,E01021032,E01021033,E01021034,E01021035,E01021036,E01021037,E01021038,E01021039,E01021040,E01021041,E01021042,E01021043,E01021044,E01021045,E01021046,E01021047,E01021048,E01021049,E01021050,E01021051,E01021052,E01021053,E01021054,E01021055,E01021056,E01021057,E01021058,E01021059,E01021060,E01021061,E01021062,E01021063,E01021064,E01021065,E01021066,E01021067&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_040.json.gz + content_sha256: f0faf625f73a08164b4c9204785c5477af3f6c88bea5a35ffb9f182451bcce7f +- id: census_lsoa_tenure5a_bedrooms_041 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 041 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01021068,E01021069,E01021070,E01021071,E01021072,E01021073,E01021074,E01021075,E01021076,E01021077,E01021078,E01021079,E01021080,E01021081,E01021082,E01021083,E01021084,E01021085,E01021086,E01021087,E01021088,E01021089,E01021090,E01021091,E01021092,E01021093,E01021094,E01021095,E01021096,E01021097,E01021098,E01021099,E01021100,E01021101,E01021102,E01021103,E01021104,E01021105,E01021106,E01021107,E01021108,E01021109,E01021110,E01021111,E01021112,E01021113,E01021114,E01021115,E01021116,E01021117,E01021118,E01021119,E01021120,E01021121,E01021122,E01021123,E01021124,E01021125,E01021126,E01021127,E01021128,E01021129,E01021130,E01021131,E01021132,E01021133,E01021134,E01021135,E01021136,E01021137,E01021138,E01021139,E01021140,E01021141,E01021142,E01021143,E01021144,E01021145,E01021146,E01021147,E01021148,E01021149,E01021150,E01021151,E01021152,E01021153,E01021154,E01021155,E01021156,E01021157,E01021158,E01021159,E01021160,E01021161,E01021162,E01021163,E01021164,E01021165,E01021166,E01021167,E01021168,E01021169,E01021170,E01021171,E01021172,E01021173,E01021174,E01021175,E01021176,E01021177,E01021178,E01021179,E01021180,E01021181,E01021182,E01021183,E01021184,E01021185,E01021186,E01021187,E01021188,E01021189,E01021190,E01021191,E01021192,E01021193,E01021194,E01021196,E01021198,E01021199,E01021200,E01021201,E01021202,E01021203,E01021204,E01021205,E01021206,E01021207,E01021208,E01021209,E01021210,E01021211,E01021213,E01021214,E01021215,E01021216,E01021217,E01021218,E01021219,E01021220,E01021221,E01021222,E01021223,E01021224,E01021225,E01021226,E01021227,E01021228,E01021229,E01021230,E01021231,E01021232,E01021233,E01021234,E01021235,E01021236,E01021237,E01021238,E01021239,E01021240,E01021241,E01021242,E01021243,E01021244,E01021245,E01021246,E01021247,E01021248,E01021249,E01021250,E01021251,E01021252,E01021253,E01021254,E01021255,E01021256,E01021257,E01021258,E01021259,E01021260,E01021261,E01021262,E01021263,E01021264,E01021265,E01021266,E01021267,E01021268,E01021269,E01021270,E01021271,E01021272,E01021273,E01021274,E01021275,E01021276,E01021277,E01021279,E01021280,E01021281,E01021282,E01021283,E01021284,E01021285,E01021286,E01021287,E01021288,E01021289,E01021290,E01021291,E01021292,E01021293,E01021294,E01021295,E01021297,E01021298,E01021299,E01021300,E01021301,E01021302,E01021303,E01021304,E01021305,E01021306,E01021307,E01021308,E01021309,E01021310,E01021311,E01021312,E01021313,E01021314,E01021315,E01021316,E01021317,E01021318,E01021319,E01021320,E01021321,E01021322,E01021323,E01021324,E01021325,E01021326,E01021327,E01021328,E01021329,E01021330,E01021331,E01021332,E01021333,E01021334,E01021335,E01021336,E01021337,E01021338,E01021339,E01021340,E01021341,E01021342,E01021343,E01021344,E01021345,E01021346,E01021347,E01021348,E01021349,E01021350,E01021351,E01021352,E01021353,E01021354,E01021355,E01021356,E01021357,E01021358,E01021359,E01021360,E01021361,E01021362,E01021364,E01021365,E01021366,E01021367,E01021368,E01021369,E01021370,E01021371,E01021372,E01021374,E01021375,E01021376,E01021377,E01021378,E01021379,E01021380,E01021381,E01021382,E01021383,E01021384,E01021385,E01021386,E01021387,E01021388,E01021389,E01021390,E01021391,E01021392,E01021393,E01021394,E01021395,E01021396,E01021397,E01021398,E01021399,E01021400,E01021401,E01021402,E01021403,E01021404,E01021405,E01021406,E01021407,E01021408,E01021409,E01021410,E01021411,E01021412,E01021413,E01021414,E01021415,E01021416,E01021417,E01021418,E01021419,E01021420,E01021422,E01021423,E01021424,E01021425,E01021426,E01021427,E01021428,E01021429,E01021430,E01021431,E01021432,E01021433,E01021434,E01021435,E01021437,E01021438,E01021441,E01021442,E01021443,E01021444,E01021445,E01021446,E01021447,E01021448,E01021449,E01021450,E01021451,E01021452,E01021453,E01021454,E01021455,E01021456,E01021457,E01021458,E01021459,E01021460,E01021461,E01021462,E01021463,E01021464,E01021465,E01021466,E01021467,E01021468,E01021469,E01021470,E01021471,E01021472,E01021473,E01021474,E01021475,E01021476,E01021477,E01021478,E01021479,E01021480,E01021481,E01021482,E01021483,E01021484,E01021485,E01021486,E01021487,E01021488,E01021489,E01021490,E01021491,E01021492,E01021493,E01021494,E01021495,E01021496,E01021497,E01021498,E01021499,E01021500,E01021501,E01021502,E01021503,E01021504,E01021505,E01021506,E01021507,E01021508,E01021509,E01021510,E01021511,E01021512,E01021513,E01021514,E01021515,E01021516,E01021517,E01021518,E01021519,E01021520,E01021521,E01021522,E01021523,E01021524,E01021525,E01021526,E01021527,E01021528,E01021529,E01021530,E01021531,E01021532,E01021533,E01021535,E01021536,E01021537,E01021538,E01021539,E01021540,E01021542,E01021543,E01021544,E01021545,E01021546,E01021547,E01021548,E01021550,E01021551,E01021552,E01021553,E01021554,E01021555,E01021556,E01021557,E01021558,E01021559,E01021560,E01021561,E01021562,E01021563,E01021564,E01021565,E01021566,E01021568,E01021569,E01021570,E01021571,E01021572,E01021573,E01021575,E01021576,E01021577,E01021578,E01021579,E01021580,E01021582,E01021583,E01021584&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_041.json.gz + content_sha256: 22a5cb7d451e2a391d832b5783d1135e7570d5afe2c4229c938d0a197de5f139 +- id: census_lsoa_tenure5a_bedrooms_042 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 042 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01021585,E01021586,E01021587,E01021588,E01021589,E01021590,E01021591,E01021592,E01021593,E01021595,E01021596,E01021597,E01021598,E01021599,E01021600,E01021601,E01021602,E01021604,E01021605,E01021606,E01021607,E01021608,E01021609,E01021610,E01021611,E01021612,E01021613,E01021614,E01021615,E01021617,E01021618,E01021619,E01021620,E01021621,E01021622,E01021623,E01021624,E01021625,E01021626,E01021627,E01021628,E01021629,E01021631,E01021632,E01021633,E01021634,E01021635,E01021636,E01021637,E01021638,E01021639,E01021640,E01021641,E01021642,E01021643,E01021644,E01021645,E01021646,E01021647,E01021648,E01021650,E01021651,E01021652,E01021653,E01021655,E01021656,E01021657,E01021658,E01021659,E01021660,E01021661,E01021662,E01021663,E01021664,E01021665,E01021666,E01021667,E01021668,E01021669,E01021670,E01021671,E01021673,E01021674,E01021675,E01021676,E01021677,E01021678,E01021683,E01021684,E01021687,E01021688,E01021689,E01021690,E01021691,E01021692,E01021693,E01021694,E01021695,E01021696,E01021697,E01021698,E01021699,E01021700,E01021702,E01021703,E01021704,E01021705,E01021706,E01021707,E01021708,E01021709,E01021710,E01021711,E01021713,E01021714,E01021715,E01021717,E01021718,E01021719,E01021720,E01021721,E01021722,E01021723,E01021724,E01021725,E01021726,E01021727,E01021728,E01021729,E01021730,E01021731,E01021732,E01021733,E01021734,E01021735,E01021736,E01021737,E01021738,E01021739,E01021740,E01021741,E01021742,E01021743,E01021744,E01021745,E01021746,E01021747,E01021748,E01021749,E01021750,E01021751,E01021752,E01021753,E01021754,E01021755,E01021756,E01021757,E01021758,E01021759,E01021760,E01021761,E01021762,E01021763,E01021764,E01021765,E01021766,E01021767,E01021768,E01021769,E01021770,E01021771,E01021772,E01021773,E01021774,E01021775,E01021776,E01021777,E01021778,E01021779,E01021780,E01021781,E01021782,E01021783,E01021784,E01021785,E01021786,E01021787,E01021788,E01021789,E01021790,E01021791,E01021792,E01021793,E01021794,E01021795,E01021796,E01021797,E01021798,E01021799,E01021800,E01021801,E01021802,E01021803,E01021804,E01021805,E01021806,E01021807,E01021808,E01021809,E01021810,E01021811,E01021812,E01021813,E01021814,E01021815,E01021816,E01021817,E01021818,E01021819,E01021820,E01021821,E01021822,E01021823,E01021824,E01021825,E01021826,E01021827,E01021828,E01021829,E01021830,E01021831,E01021832,E01021833,E01021834,E01021835,E01021836,E01021837,E01021838,E01021839,E01021840,E01021841,E01021842,E01021843,E01021844,E01021845,E01021846,E01021847,E01021848,E01021849,E01021850,E01021851,E01021852,E01021853,E01021854,E01021855,E01021856,E01021858,E01021859,E01021860,E01021861,E01021862,E01021863,E01021864,E01021865,E01021866,E01021867,E01021868,E01021869,E01021870,E01021871,E01021873,E01021874,E01021875,E01021878,E01021879,E01021880,E01021881,E01021882,E01021883,E01021884,E01021885,E01021886,E01021887,E01021888,E01021889,E01021890,E01021891,E01021892,E01021893,E01021894,E01021895,E01021896,E01021897,E01021898,E01021899,E01021900,E01021901,E01021902,E01021903,E01021904,E01021905,E01021906,E01021907,E01021908,E01021909,E01021910,E01021911,E01021912,E01021913,E01021914,E01021915,E01021916,E01021917,E01021918,E01021919,E01021920,E01021921,E01021922,E01021923,E01021924,E01021925,E01021926,E01021927,E01021928,E01021929,E01021930,E01021931,E01021932,E01021933,E01021934,E01021935,E01021936,E01021937,E01021938,E01021939,E01021940,E01021941,E01021942,E01021943,E01021944,E01021945,E01021946,E01021947,E01021948,E01021949,E01021950,E01021951,E01021952,E01021953,E01021954,E01021955,E01021956,E01021957,E01021958,E01021959,E01021960,E01021961,E01021962,E01021963,E01021964,E01021965,E01021966,E01021967,E01021968,E01021969,E01021970,E01021971,E01021972,E01021973,E01021974,E01021975,E01021976,E01021977,E01021978,E01021979,E01021980,E01021981,E01021982,E01021983,E01021984,E01021985,E01021986,E01021987,E01021988,E01021989,E01021990,E01021991,E01021992,E01021993,E01021994,E01021995,E01021996,E01021997,E01021998,E01021999,E01022000,E01022001,E01022002,E01022004,E01022005,E01022006,E01022007,E01022008,E01022009,E01022010,E01022011,E01022012,E01022013,E01022014,E01022015,E01022016,E01022017,E01022018,E01022019,E01022020,E01022021,E01022022,E01022023,E01022024,E01022025,E01022026,E01022027,E01022028,E01022030,E01022031,E01022032,E01022033,E01022034,E01022035,E01022036,E01022037,E01022038,E01022039,E01022040,E01022041,E01022042,E01022043,E01022044,E01022045,E01022046,E01022047,E01022048,E01022049,E01022050,E01022051,E01022052,E01022053,E01022054,E01022055,E01022056,E01022057,E01022058,E01022059,E01022060,E01022061,E01022062,E01022063,E01022064,E01022067,E01022068,E01022069,E01022070,E01022071,E01022072,E01022073,E01022074,E01022075,E01022076,E01022077,E01022078,E01022079,E01022080,E01022081,E01022082,E01022083,E01022084,E01022085,E01022086,E01022087,E01022088,E01022089,E01022092,E01022093,E01022094,E01022095,E01022096,E01022097,E01022098,E01022099,E01022100,E01022101,E01022102,E01022104,E01022105,E01022106,E01022107,E01022108,E01022109,E01022110,E01022111&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_042.json.gz + content_sha256: 0fd5cbe06f11236f70e81e4ba0aee77e275b9af226dc0da175b9fb99196e383c +- id: census_lsoa_tenure5a_bedrooms_043 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 043 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01022112,E01022113,E01022114,E01022115,E01022116,E01022117,E01022118,E01022119,E01022120,E01022121,E01022122,E01022123,E01022124,E01022125,E01022126,E01022127,E01022128,E01022129,E01022130,E01022131,E01022132,E01022133,E01022134,E01022135,E01022136,E01022137,E01022138,E01022139,E01022140,E01022141,E01022142,E01022143,E01022144,E01022145,E01022146,E01022147,E01022148,E01022149,E01022150,E01022151,E01022152,E01022153,E01022154,E01022155,E01022156,E01022157,E01022159,E01022160,E01022161,E01022162,E01022163,E01022164,E01022165,E01022166,E01022167,E01022168,E01022169,E01022170,E01022171,E01022172,E01022173,E01022174,E01022175,E01022176,E01022177,E01022178,E01022179,E01022181,E01022182,E01022183,E01022184,E01022185,E01022186,E01022187,E01022188,E01022189,E01022190,E01022191,E01022192,E01022193,E01022194,E01022195,E01022196,E01022197,E01022198,E01022199,E01022200,E01022201,E01022202,E01022203,E01022204,E01022205,E01022207,E01022208,E01022209,E01022210,E01022211,E01022213,E01022215,E01022216,E01022217,E01022218,E01022219,E01022220,E01022221,E01022222,E01022224,E01022225,E01022226,E01022227,E01022228,E01022229,E01022230,E01022231,E01022232,E01022233,E01022234,E01022235,E01022236,E01022237,E01022238,E01022239,E01022240,E01022241,E01022242,E01022243,E01022244,E01022245,E01022246,E01022247,E01022248,E01022249,E01022250,E01022251,E01022252,E01022253,E01022254,E01022255,E01022256,E01022257,E01022258,E01022259,E01022260,E01022261,E01022262,E01022263,E01022264,E01022265,E01022266,E01022267,E01022268,E01022269,E01022270,E01022271,E01022272,E01022273,E01022274,E01022275,E01022276,E01022277,E01022278,E01022279,E01022280,E01022281,E01022282,E01022283,E01022284,E01022285,E01022286,E01022287,E01022288,E01022289,E01022290,E01022291,E01022292,E01022293,E01022294,E01022295,E01022296,E01022297,E01022298,E01022299,E01022300,E01022301,E01022302,E01022303,E01022304,E01022305,E01022306,E01022307,E01022308,E01022309,E01022310,E01022311,E01022312,E01022313,E01022314,E01022315,E01022316,E01022317,E01022318,E01022319,E01022320,E01022321,E01022322,E01022323,E01022324,E01022325,E01022326,E01022327,E01022328,E01022329,E01022330,E01022331,E01022332,E01022333,E01022334,E01022335,E01022336,E01022338,E01022339,E01022340,E01022341,E01022342,E01022343,E01022344,E01022345,E01022346,E01022350,E01022351,E01022352,E01022353,E01022354,E01022355,E01022356,E01022357,E01022358,E01022359,E01022360,E01022361,E01022362,E01022363,E01022364,E01022366,E01022367,E01022368,E01022369,E01022370,E01022371,E01022372,E01022373,E01022374,E01022375,E01022376,E01022377,E01022378,E01022379,E01022381,E01022382,E01022383,E01022384,E01022385,E01022386,E01022387,E01022388,E01022389,E01022390,E01022391,E01022392,E01022393,E01022394,E01022395,E01022396,E01022397,E01022398,E01022399,E01022400,E01022401,E01022402,E01022403,E01022404,E01022405,E01022406,E01022407,E01022408,E01022409,E01022410,E01022411,E01022413,E01022414,E01022415,E01022416,E01022417,E01022418,E01022421,E01022423,E01022424,E01022425,E01022426,E01022427,E01022428,E01022429,E01022430,E01022431,E01022432,E01022433,E01022434,E01022437,E01022438,E01022439,E01022440,E01022441,E01022442,E01022443,E01022444,E01022445,E01022447,E01022448,E01022449,E01022450,E01022451,E01022452,E01022453,E01022454,E01022455,E01022456,E01022457,E01022458,E01022459,E01022460,E01022461,E01022462,E01022463,E01022464,E01022465,E01022466,E01022467,E01022468,E01022469,E01022470,E01022471,E01022472,E01022473,E01022474,E01022475,E01022476,E01022477,E01022478,E01022479,E01022480,E01022481,E01022482,E01022484,E01022485,E01022486,E01022487,E01022488,E01022489,E01022490,E01022491,E01022492,E01022493,E01022494,E01022495,E01022497,E01022498,E01022499,E01022500,E01022502,E01022503,E01022504,E01022505,E01022506,E01022507,E01022509,E01022510,E01022511,E01022512,E01022513,E01022514,E01022515,E01022516,E01022517,E01022518,E01022519,E01022520,E01022521,E01022522,E01022523,E01022524,E01022525,E01022527,E01022528,E01022529,E01022530,E01022531,E01022532,E01022533,E01022534,E01022535,E01022536,E01022537,E01022539,E01022540,E01022542,E01022543,E01022547,E01022548,E01022549,E01022550,E01022551,E01022552,E01022553,E01022554,E01022555,E01022556,E01022557,E01022558,E01022559,E01022560,E01022561,E01022562,E01022563,E01022564,E01022565,E01022566,E01022567,E01022568,E01022569,E01022570,E01022571,E01022572,E01022573,E01022574,E01022575,E01022576,E01022577,E01022579,E01022580,E01022581,E01022582,E01022583,E01022584,E01022585,E01022586,E01022587,E01022588,E01022589,E01022590,E01022591,E01022592,E01022593,E01022594,E01022595,E01022596,E01022597,E01022599,E01022600,E01022601,E01022602,E01022603,E01022604,E01022605,E01022606,E01022607,E01022608,E01022610,E01022611,E01022613,E01022614,E01022615,E01022616,E01022617,E01022618,E01022619,E01022620,E01022621,E01022622,E01022623,E01022624,E01022625,E01022627,E01022628,E01022629,E01022630,E01022631,E01022632,E01022633,E01022634,E01022635,E01022636,E01022639,E01022640,E01022641,E01022642,E01022643,E01022644,E01022645,E01022646,E01022647&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_043.json.gz + content_sha256: 85496d2afd977e20c5df255fefc7583af1f62228ac8156c6dad975de9c425c01 +- id: census_lsoa_tenure5a_bedrooms_044 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 044 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01022648,E01022649,E01022650,E01022651,E01022652,E01022654,E01022655,E01022656,E01022657,E01022658,E01022659,E01022660,E01022661,E01022662,E01022663,E01022664,E01022665,E01022666,E01022667,E01022669,E01022670,E01022671,E01022672,E01022673,E01022674,E01022675,E01022676,E01022678,E01022679,E01022680,E01022681,E01022682,E01022683,E01022684,E01022685,E01022686,E01022687,E01022688,E01022689,E01022690,E01022691,E01022693,E01022694,E01022695,E01022696,E01022697,E01022698,E01022699,E01022700,E01022701,E01022702,E01022703,E01022704,E01022705,E01022706,E01022707,E01022708,E01022709,E01022710,E01022711,E01022712,E01022713,E01022714,E01022715,E01022716,E01022717,E01022718,E01022719,E01022720,E01022721,E01022722,E01022723,E01022724,E01022725,E01022726,E01022727,E01022728,E01022729,E01022730,E01022731,E01022732,E01022733,E01022734,E01022735,E01022736,E01022737,E01022738,E01022739,E01022740,E01022741,E01022742,E01022743,E01022744,E01022745,E01022746,E01022747,E01022748,E01022749,E01022750,E01022751,E01022752,E01022753,E01022754,E01022755,E01022756,E01022757,E01022758,E01022759,E01022760,E01022761,E01022762,E01022763,E01022764,E01022765,E01022766,E01022767,E01022768,E01022769,E01022770,E01022771,E01022772,E01022773,E01022774,E01022776,E01022777,E01022778,E01022780,E01022781,E01022782,E01022783,E01022784,E01022785,E01022786,E01022787,E01022788,E01022789,E01022790,E01022791,E01022792,E01022793,E01022794,E01022795,E01022796,E01022797,E01022798,E01022799,E01022800,E01022801,E01022802,E01022803,E01022804,E01022805,E01022806,E01022807,E01022810,E01022812,E01022813,E01022814,E01022815,E01022816,E01022817,E01022818,E01022819,E01022820,E01022823,E01022825,E01022826,E01022828,E01022829,E01022830,E01022831,E01022832,E01022833,E01022834,E01022835,E01022836,E01022837,E01022838,E01022839,E01022840,E01022841,E01022842,E01022843,E01022845,E01022846,E01022847,E01022848,E01022849,E01022850,E01022851,E01022852,E01022853,E01022854,E01022855,E01022856,E01022858,E01022859,E01022860,E01022861,E01022862,E01022863,E01022864,E01022865,E01022867,E01022868,E01022869,E01022870,E01022871,E01022872,E01022874,E01022875,E01022876,E01022877,E01022878,E01022879,E01022880,E01022881,E01022882,E01022883,E01022884,E01022885,E01022887,E01022888,E01022889,E01022890,E01022891,E01022892,E01022893,E01022894,E01022895,E01022896,E01022897,E01022898,E01022899,E01022900,E01022901,E01022902,E01022903,E01022904,E01022905,E01022906,E01022907,E01022908,E01022909,E01022910,E01022911,E01022913,E01022914,E01022915,E01022916,E01022917,E01022918,E01022919,E01022920,E01022921,E01022922,E01022924,E01022925,E01022926,E01022927,E01022928,E01022929,E01022930,E01022931,E01022933,E01022934,E01022935,E01022936,E01022937,E01022938,E01022939,E01022940,E01022941,E01022942,E01022943,E01022944,E01022945,E01022946,E01022947,E01022948,E01022949,E01022950,E01022951,E01022952,E01022954,E01022955,E01022956,E01022957,E01022958,E01022959,E01022960,E01022961,E01022962,E01022963,E01022964,E01022965,E01022966,E01022967,E01022968,E01022969,E01022970,E01022971,E01022972,E01022973,E01022974,E01022975,E01022976,E01022977,E01022978,E01022979,E01022980,E01022981,E01022982,E01022983,E01022984,E01022985,E01022986,E01022987,E01022988,E01022989,E01022990,E01022991,E01022992,E01022993,E01022994,E01022995,E01022996,E01022997,E01022998,E01022999,E01023000,E01023001,E01023002,E01023003,E01023004,E01023005,E01023006,E01023007,E01023008,E01023009,E01023010,E01023011,E01023012,E01023013,E01023014,E01023015,E01023016,E01023017,E01023018,E01023019,E01023020,E01023021,E01023022,E01023023,E01023024,E01023025,E01023026,E01023027,E01023028,E01023029,E01023030,E01023031,E01023032,E01023033,E01023034,E01023035,E01023036,E01023037,E01023038,E01023039,E01023040,E01023041,E01023042,E01023043,E01023044,E01023045,E01023046,E01023047,E01023048,E01023049,E01023050,E01023051,E01023052,E01023053,E01023054,E01023055,E01023056,E01023057,E01023058,E01023059,E01023060,E01023061,E01023062,E01023063,E01023064,E01023065,E01023066,E01023067,E01023068,E01023069,E01023070,E01023071,E01023072,E01023073,E01023074,E01023075,E01023076,E01023077,E01023078,E01023079,E01023080,E01023081,E01023082,E01023083,E01023084,E01023085,E01023086,E01023087,E01023088,E01023089,E01023090,E01023091,E01023092,E01023093,E01023094,E01023095,E01023096,E01023097,E01023098,E01023099,E01023100,E01023101,E01023102,E01023103,E01023104,E01023105,E01023106,E01023107,E01023108,E01023109,E01023110,E01023111,E01023112,E01023113,E01023114,E01023115,E01023116,E01023117,E01023118,E01023119,E01023120,E01023121,E01023122,E01023123,E01023124,E01023125,E01023128,E01023129,E01023130,E01023131,E01023132,E01023133,E01023134,E01023135,E01023136,E01023137,E01023138,E01023139,E01023140,E01023141,E01023144,E01023145,E01023146,E01023147,E01023148,E01023149,E01023150,E01023151,E01023152,E01023153,E01023154,E01023156,E01023157,E01023158,E01023159,E01023160,E01023162,E01023163,E01023164,E01023165,E01023166,E01023167,E01023168,E01023169,E01023170,E01023171,E01023172,E01023173,E01023174,E01023175&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_044.json.gz + content_sha256: 6a1620b87e87a985f55b14d2b4a15aaf0c09e2502c486279209a757dfa95a2af +- id: census_lsoa_tenure5a_bedrooms_045 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 045 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01023176,E01023177,E01023178,E01023179,E01023180,E01023181,E01023182,E01023183,E01023184,E01023185,E01023186,E01023187,E01023188,E01023189,E01023190,E01023191,E01023192,E01023193,E01023194,E01023195,E01023196,E01023197,E01023198,E01023200,E01023202,E01023203,E01023204,E01023205,E01023206,E01023207,E01023208,E01023209,E01023210,E01023211,E01023212,E01023213,E01023214,E01023215,E01023216,E01023217,E01023218,E01023219,E01023220,E01023221,E01023222,E01023223,E01023225,E01023226,E01023227,E01023228,E01023229,E01023230,E01023231,E01023232,E01023233,E01023234,E01023235,E01023236,E01023237,E01023238,E01023239,E01023240,E01023241,E01023242,E01023243,E01023244,E01023245,E01023246,E01023247,E01023248,E01023249,E01023250,E01023251,E01023252,E01023253,E01023254,E01023255,E01023256,E01023257,E01023258,E01023259,E01023260,E01023261,E01023262,E01023263,E01023264,E01023265,E01023266,E01023267,E01023268,E01023269,E01023270,E01023271,E01023272,E01023273,E01023274,E01023275,E01023276,E01023277,E01023278,E01023279,E01023280,E01023281,E01023282,E01023285,E01023286,E01023287,E01023288,E01023289,E01023290,E01023291,E01023292,E01023293,E01023294,E01023295,E01023296,E01023297,E01023298,E01023299,E01023300,E01023301,E01023302,E01023303,E01023304,E01023305,E01023306,E01023307,E01023308,E01023309,E01023310,E01023311,E01023312,E01023313,E01023314,E01023315,E01023316,E01023317,E01023318,E01023319,E01023320,E01023321,E01023322,E01023323,E01023324,E01023325,E01023326,E01023327,E01023328,E01023329,E01023330,E01023331,E01023332,E01023333,E01023334,E01023335,E01023336,E01023337,E01023339,E01023340,E01023341,E01023343,E01023344,E01023345,E01023346,E01023347,E01023348,E01023349,E01023350,E01023351,E01023352,E01023354,E01023355,E01023356,E01023357,E01023358,E01023359,E01023360,E01023361,E01023362,E01023363,E01023364,E01023365,E01023366,E01023367,E01023368,E01023369,E01023370,E01023371,E01023372,E01023373,E01023374,E01023375,E01023376,E01023377,E01023378,E01023379,E01023380,E01023381,E01023382,E01023383,E01023384,E01023385,E01023386,E01023387,E01023388,E01023389,E01023390,E01023391,E01023392,E01023393,E01023394,E01023395,E01023396,E01023397,E01023399,E01023400,E01023401,E01023402,E01023403,E01023404,E01023405,E01023406,E01023407,E01023408,E01023409,E01023410,E01023411,E01023412,E01023413,E01023414,E01023415,E01023416,E01023417,E01023418,E01023419,E01023420,E01023421,E01023422,E01023423,E01023424,E01023425,E01023426,E01023427,E01023428,E01023429,E01023430,E01023431,E01023432,E01023433,E01023434,E01023435,E01023436,E01023437,E01023438,E01023439,E01023440,E01023441,E01023442,E01023443,E01023444,E01023445,E01023447,E01023448,E01023449,E01023451,E01023452,E01023453,E01023454,E01023455,E01023456,E01023457,E01023458,E01023459,E01023460,E01023461,E01023462,E01023463,E01023465,E01023466,E01023467,E01023468,E01023469,E01023470,E01023471,E01023472,E01023473,E01023474,E01023475,E01023476,E01023477,E01023479,E01023480,E01023481,E01023482,E01023483,E01023484,E01023485,E01023486,E01023487,E01023488,E01023489,E01023490,E01023491,E01023492,E01023493,E01023494,E01023495,E01023496,E01023497,E01023499,E01023500,E01023501,E01023502,E01023503,E01023504,E01023505,E01023506,E01023507,E01023509,E01023510,E01023511,E01023512,E01023513,E01023514,E01023515,E01023516,E01023517,E01023518,E01023519,E01023520,E01023523,E01023524,E01023525,E01023526,E01023527,E01023528,E01023529,E01023530,E01023531,E01023532,E01023533,E01023534,E01023535,E01023536,E01023537,E01023538,E01023540,E01023541,E01023542,E01023543,E01023544,E01023545,E01023546,E01023547,E01023548,E01023549,E01023550,E01023551,E01023552,E01023553,E01023554,E01023555,E01023556,E01023557,E01023558,E01023559,E01023560,E01023561,E01023562,E01023563,E01023564,E01023565,E01023566,E01023567,E01023568,E01023569,E01023570,E01023571,E01023572,E01023573,E01023574,E01023575,E01023576,E01023577,E01023578,E01023579,E01023580,E01023581,E01023582,E01023583,E01023584,E01023585,E01023586,E01023587,E01023588,E01023589,E01023590,E01023591,E01023592,E01023593,E01023594,E01023595,E01023596,E01023597,E01023598,E01023600,E01023601,E01023602,E01023603,E01023604,E01023605,E01023606,E01023607,E01023608,E01023609,E01023610,E01023611,E01023612,E01023613,E01023614,E01023615,E01023616,E01023617,E01023618,E01023619,E01023620,E01023621,E01023622,E01023623,E01023624,E01023625,E01023626,E01023627,E01023628,E01023629,E01023630,E01023631,E01023632,E01023633,E01023634,E01023635,E01023636,E01023637,E01023638,E01023639,E01023640,E01023641,E01023642,E01023643,E01023644,E01023645,E01023646,E01023647,E01023648,E01023649,E01023650,E01023651,E01023652,E01023653,E01023654,E01023655,E01023656,E01023657,E01023658,E01023659,E01023660,E01023661,E01023662,E01023663,E01023664,E01023665,E01023666,E01023667,E01023668,E01023669,E01023670,E01023671,E01023672,E01023673,E01023674,E01023675,E01023676,E01023677,E01023678,E01023680,E01023681,E01023682,E01023683,E01023684,E01023685,E01023686,E01023687,E01023688,E01023689,E01023690,E01023691,E01023692,E01023693,E01023694,E01023695&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_045.json.gz + content_sha256: ae2697c10b9bef138d1169a822dce47cdc34fa55cd679147379cfbc622364226 +- id: census_lsoa_tenure5a_bedrooms_046 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 046 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01023696,E01023697,E01023698,E01023699,E01023700,E01023701,E01023702,E01023703,E01023704,E01023705,E01023706,E01023708,E01023709,E01023710,E01023711,E01023712,E01023713,E01023714,E01023715,E01023716,E01023717,E01023718,E01023719,E01023720,E01023721,E01023722,E01023723,E01023724,E01023725,E01023726,E01023727,E01023728,E01023730,E01023731,E01023732,E01023733,E01023734,E01023735,E01023736,E01023737,E01023738,E01023739,E01023740,E01023741,E01023742,E01023743,E01023744,E01023745,E01023746,E01023747,E01023748,E01023749,E01023750,E01023751,E01023752,E01023753,E01023754,E01023755,E01023756,E01023757,E01023759,E01023760,E01023761,E01023762,E01023763,E01023764,E01023765,E01023766,E01023767,E01023769,E01023770,E01023771,E01023772,E01023773,E01023774,E01023775,E01023776,E01023777,E01023778,E01023779,E01023780,E01023781,E01023782,E01023783,E01023784,E01023785,E01023786,E01023787,E01023788,E01023790,E01023791,E01023792,E01023793,E01023794,E01023795,E01023796,E01023797,E01023798,E01023799,E01023800,E01023801,E01023802,E01023803,E01023804,E01023805,E01023806,E01023807,E01023809,E01023810,E01023811,E01023812,E01023813,E01023814,E01023815,E01023816,E01023817,E01023818,E01023819,E01023820,E01023821,E01023822,E01023823,E01023824,E01023825,E01023826,E01023827,E01023828,E01023829,E01023830,E01023831,E01023832,E01023834,E01023835,E01023836,E01023837,E01023838,E01023839,E01023840,E01023841,E01023842,E01023843,E01023844,E01023845,E01023846,E01023847,E01023848,E01023849,E01023850,E01023851,E01023852,E01023853,E01023854,E01023855,E01023856,E01023857,E01023858,E01023860,E01023862,E01023863,E01023864,E01023865,E01023866,E01023868,E01023869,E01023870,E01023871,E01023872,E01023873,E01023874,E01023875,E01023876,E01023877,E01023878,E01023880,E01023881,E01023882,E01023883,E01023884,E01023885,E01023886,E01023887,E01023888,E01023889,E01023890,E01023891,E01023892,E01023893,E01023894,E01023895,E01023896,E01023897,E01023898,E01023899,E01023900,E01023901,E01023902,E01023903,E01023904,E01023905,E01023906,E01023907,E01023908,E01023909,E01023910,E01023911,E01023912,E01023913,E01023914,E01023915,E01023916,E01023917,E01023918,E01023919,E01023920,E01023921,E01023922,E01023923,E01023924,E01023925,E01023926,E01023927,E01023929,E01023930,E01023932,E01023933,E01023934,E01023935,E01023936,E01023937,E01023938,E01023939,E01023940,E01023942,E01023943,E01023944,E01023945,E01023946,E01023947,E01023948,E01023949,E01023950,E01023951,E01023952,E01023953,E01023955,E01023956,E01023957,E01023958,E01023959,E01023960,E01023961,E01023962,E01023963,E01023965,E01023966,E01023967,E01023968,E01023969,E01023970,E01023971,E01023972,E01023973,E01023974,E01023975,E01023976,E01023977,E01023978,E01023979,E01023980,E01023981,E01023983,E01023984,E01023985,E01023986,E01023987,E01023988,E01023989,E01023990,E01023992,E01023993,E01023995,E01023996,E01023997,E01023998,E01023999,E01024001,E01024002,E01024003,E01024004,E01024005,E01024006,E01024008,E01024009,E01024010,E01024011,E01024012,E01024013,E01024014,E01024015,E01024016,E01024017,E01024019,E01024020,E01024021,E01024022,E01024023,E01024024,E01024025,E01024026,E01024028,E01024029,E01024031,E01024032,E01024033,E01024035,E01024036,E01024037,E01024038,E01024039,E01024040,E01024041,E01024042,E01024043,E01024044,E01024045,E01024046,E01024047,E01024048,E01024049,E01024052,E01024053,E01024054,E01024055,E01024056,E01024057,E01024058,E01024059,E01024060,E01024061,E01024062,E01024063,E01024064,E01024065,E01024066,E01024067,E01024068,E01024069,E01024070,E01024071,E01024072,E01024073,E01024074,E01024075,E01024076,E01024077,E01024078,E01024079,E01024080,E01024081,E01024082,E01024083,E01024084,E01024085,E01024086,E01024087,E01024088,E01024089,E01024090,E01024091,E01024092,E01024093,E01024094,E01024095,E01024096,E01024097,E01024098,E01024099,E01024100,E01024101,E01024102,E01024103,E01024104,E01024105,E01024106,E01024107,E01024108,E01024109,E01024110,E01024111,E01024112,E01024113,E01024114,E01024115,E01024116,E01024117,E01024118,E01024119,E01024120,E01024121,E01024122,E01024123,E01024124,E01024126,E01024127,E01024128,E01024129,E01024131,E01024132,E01024133,E01024134,E01024135,E01024136,E01024137,E01024138,E01024139,E01024143,E01024144,E01024145,E01024146,E01024147,E01024150,E01024151,E01024152,E01024153,E01024154,E01024155,E01024156,E01024157,E01024158,E01024159,E01024160,E01024161,E01024162,E01024163,E01024164,E01024165,E01024166,E01024167,E01024168,E01024169,E01024170,E01024171,E01024172,E01024173,E01024174,E01024175,E01024176,E01024177,E01024178,E01024179,E01024180,E01024181,E01024182,E01024183,E01024184,E01024185,E01024186,E01024187,E01024188,E01024189,E01024190,E01024192,E01024193,E01024194,E01024195,E01024196,E01024197,E01024198,E01024200,E01024201,E01024202,E01024203,E01024204,E01024205,E01024206,E01024207,E01024208,E01024209,E01024212,E01024213,E01024214,E01024215,E01024216,E01024218,E01024219,E01024220,E01024221,E01024222,E01024223,E01024224,E01024225,E01024226,E01024227,E01024228,E01024229,E01024230,E01024231,E01024232,E01024233,E01024234&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_046.json.gz + content_sha256: aeddd24572cd5b140484bc355f3b36113914e9c8fb67248e54a31373159b35d9 +- id: census_lsoa_tenure5a_bedrooms_047 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 047 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01024235,E01024236,E01024237,E01024238,E01024239,E01024240,E01024241,E01024242,E01024243,E01024244,E01024245,E01024246,E01024247,E01024248,E01024249,E01024250,E01024251,E01024252,E01024253,E01024254,E01024255,E01024256,E01024257,E01024258,E01024259,E01024260,E01024261,E01024262,E01024263,E01024264,E01024265,E01024266,E01024267,E01024268,E01024269,E01024270,E01024271,E01024272,E01024273,E01024274,E01024275,E01024276,E01024277,E01024278,E01024279,E01024281,E01024282,E01024283,E01024284,E01024285,E01024286,E01024287,E01024288,E01024290,E01024291,E01024292,E01024293,E01024294,E01024295,E01024296,E01024297,E01024298,E01024299,E01024300,E01024301,E01024302,E01024303,E01024304,E01024305,E01024306,E01024307,E01024308,E01024309,E01024310,E01024311,E01024312,E01024313,E01024314,E01024315,E01024316,E01024317,E01024318,E01024319,E01024320,E01024321,E01024322,E01024323,E01024324,E01024325,E01024326,E01024327,E01024328,E01024329,E01024330,E01024331,E01024332,E01024333,E01024335,E01024336,E01024337,E01024339,E01024340,E01024341,E01024342,E01024343,E01024344,E01024345,E01024346,E01024347,E01024348,E01024349,E01024350,E01024351,E01024352,E01024353,E01024354,E01024355,E01024356,E01024357,E01024358,E01024360,E01024361,E01024362,E01024364,E01024365,E01024366,E01024367,E01024369,E01024371,E01024372,E01024373,E01024374,E01024375,E01024376,E01024377,E01024378,E01024379,E01024380,E01024381,E01024382,E01024383,E01024384,E01024385,E01024386,E01024387,E01024390,E01024391,E01024392,E01024393,E01024394,E01024395,E01024396,E01024397,E01024398,E01024399,E01024400,E01024401,E01024402,E01024403,E01024404,E01024405,E01024406,E01024407,E01024408,E01024409,E01024410,E01024411,E01024413,E01024414,E01024415,E01024416,E01024417,E01024418,E01024419,E01024420,E01024421,E01024423,E01024424,E01024425,E01024426,E01024427,E01024428,E01024429,E01024430,E01024431,E01024432,E01024433,E01024434,E01024435,E01024436,E01024437,E01024438,E01024439,E01024440,E01024441,E01024442,E01024443,E01024444,E01024445,E01024446,E01024447,E01024448,E01024449,E01024450,E01024451,E01024452,E01024453,E01024454,E01024455,E01024456,E01024457,E01024458,E01024459,E01024460,E01024461,E01024462,E01024463,E01024464,E01024465,E01024466,E01024467,E01024468,E01024469,E01024470,E01024471,E01024472,E01024473,E01024474,E01024475,E01024476,E01024477,E01024478,E01024479,E01024480,E01024481,E01024482,E01024483,E01024484,E01024485,E01024486,E01024487,E01024488,E01024489,E01024490,E01024491,E01024492,E01024493,E01024494,E01024495,E01024496,E01024497,E01024498,E01024499,E01024500,E01024501,E01024502,E01024503,E01024504,E01024505,E01024507,E01024508,E01024509,E01024510,E01024511,E01024512,E01024513,E01024514,E01024515,E01024516,E01024517,E01024518,E01024519,E01024520,E01024521,E01024522,E01024523,E01024524,E01024525,E01024526,E01024527,E01024528,E01024529,E01024530,E01024531,E01024532,E01024533,E01024534,E01024535,E01024536,E01024537,E01024538,E01024539,E01024540,E01024541,E01024542,E01024544,E01024545,E01024546,E01024547,E01024548,E01024549,E01024550,E01024551,E01024552,E01024553,E01024554,E01024555,E01024556,E01024557,E01024558,E01024559,E01024560,E01024561,E01024562,E01024563,E01024564,E01024565,E01024566,E01024569,E01024570,E01024571,E01024572,E01024573,E01024575,E01024576,E01024577,E01024578,E01024580,E01024581,E01024582,E01024583,E01024584,E01024585,E01024586,E01024587,E01024588,E01024589,E01024590,E01024591,E01024592,E01024593,E01024594,E01024595,E01024596,E01024597,E01024598,E01024599,E01024600,E01024601,E01024602,E01024603,E01024604,E01024605,E01024606,E01024608,E01024609,E01024610,E01024611,E01024612,E01024613,E01024614,E01024615,E01024616,E01024619,E01024620,E01024621,E01024622,E01024623,E01024624,E01024625,E01024626,E01024627,E01024628,E01024629,E01024630,E01024631,E01024632,E01024633,E01024634,E01024635,E01024636,E01024637,E01024638,E01024639,E01024640,E01024641,E01024642,E01024643,E01024644,E01024645,E01024646,E01024647,E01024648,E01024649,E01024650,E01024651,E01024652,E01024653,E01024654,E01024655,E01024656,E01024657,E01024658,E01024659,E01024660,E01024661,E01024662,E01024663,E01024664,E01024665,E01024666,E01024667,E01024668,E01024669,E01024670,E01024671,E01024672,E01024673,E01024674,E01024675,E01024676,E01024677,E01024679,E01024680,E01024681,E01024682,E01024683,E01024684,E01024685,E01024686,E01024687,E01024688,E01024689,E01024690,E01024691,E01024692,E01024693,E01024694,E01024695,E01024696,E01024697,E01024698,E01024699,E01024700,E01024702,E01024703,E01024704,E01024705,E01024706,E01024707,E01024708,E01024709,E01024710,E01024711,E01024712,E01024713,E01024714,E01024715,E01024716,E01024717,E01024718,E01024719,E01024720,E01024721,E01024722,E01024723,E01024724,E01024725,E01024726,E01024728,E01024729,E01024730,E01024731,E01024732,E01024733,E01024734,E01024735,E01024736,E01024737,E01024740,E01024741,E01024742,E01024743,E01024744,E01024745,E01024746,E01024747,E01024748,E01024749,E01024750,E01024751,E01024752,E01024753,E01024754,E01024755,E01024756,E01024757,E01024758,E01024760,E01024761&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_047.json.gz + content_sha256: 84e44e35a054632b76da278ce914de7a547d7582090a22fb1ab803e36a35d22c +- id: census_lsoa_tenure5a_bedrooms_048 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 048 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01024762,E01024763,E01024764,E01024765,E01024767,E01024768,E01024771,E01024772,E01024773,E01024775,E01024776,E01024777,E01024778,E01024779,E01024780,E01024781,E01024782,E01024783,E01024785,E01024786,E01024787,E01024788,E01024789,E01024790,E01024791,E01024792,E01024793,E01024794,E01024795,E01024796,E01024797,E01024798,E01024799,E01024800,E01024802,E01024803,E01024804,E01024805,E01024806,E01024807,E01024808,E01024809,E01024810,E01024811,E01024812,E01024813,E01024814,E01024815,E01024816,E01024817,E01024818,E01024819,E01024820,E01024821,E01024822,E01024823,E01024824,E01024825,E01024826,E01024827,E01024828,E01024829,E01024830,E01024831,E01024832,E01024833,E01024834,E01024835,E01024836,E01024837,E01024838,E01024839,E01024840,E01024841,E01024842,E01024843,E01024844,E01024845,E01024846,E01024847,E01024848,E01024849,E01024850,E01024851,E01024852,E01024853,E01024854,E01024855,E01024856,E01024857,E01024858,E01024859,E01024860,E01024861,E01024862,E01024863,E01024864,E01024865,E01024866,E01024867,E01024868,E01024869,E01024870,E01024871,E01024872,E01024873,E01024874,E01024875,E01024876,E01024877,E01024878,E01024879,E01024880,E01024881,E01024882,E01024883,E01024884,E01024885,E01024886,E01024887,E01024888,E01024889,E01024890,E01024891,E01024892,E01024893,E01024894,E01024895,E01024896,E01024897,E01024898,E01024899,E01024900,E01024901,E01024902,E01024903,E01024904,E01024905,E01024906,E01024907,E01024908,E01024909,E01024910,E01024911,E01024912,E01024913,E01024914,E01024915,E01024916,E01024917,E01024918,E01024920,E01024921,E01024922,E01024923,E01024924,E01024925,E01024926,E01024927,E01024928,E01024930,E01024931,E01024933,E01024934,E01024935,E01024936,E01024937,E01024938,E01024939,E01024940,E01024941,E01024942,E01024943,E01024944,E01024946,E01024947,E01024948,E01024950,E01024951,E01024952,E01024953,E01024954,E01024955,E01024956,E01024957,E01024958,E01024959,E01024960,E01024961,E01024962,E01024963,E01024964,E01024965,E01024966,E01024967,E01024968,E01024969,E01024970,E01024971,E01024972,E01024973,E01024974,E01024975,E01024976,E01024977,E01024978,E01024979,E01024980,E01024981,E01024982,E01024983,E01024984,E01024985,E01024986,E01024987,E01024988,E01024989,E01024990,E01024991,E01024992,E01024993,E01024994,E01024995,E01024996,E01024997,E01024998,E01024999,E01025000,E01025001,E01025002,E01025003,E01025004,E01025005,E01025006,E01025007,E01025008,E01025009,E01025010,E01025011,E01025012,E01025013,E01025014,E01025015,E01025016,E01025017,E01025018,E01025019,E01025020,E01025021,E01025022,E01025023,E01025024,E01025025,E01025026,E01025027,E01025028,E01025029,E01025030,E01025031,E01025032,E01025033,E01025034,E01025035,E01025036,E01025037,E01025038,E01025039,E01025040,E01025041,E01025042,E01025044,E01025045,E01025046,E01025048,E01025049,E01025050,E01025051,E01025052,E01025053,E01025054,E01025055,E01025056,E01025057,E01025058,E01025059,E01025060,E01025061,E01025062,E01025063,E01025064,E01025065,E01025066,E01025067,E01025068,E01025069,E01025070,E01025071,E01025072,E01025073,E01025074,E01025075,E01025076,E01025077,E01025078,E01025079,E01025080,E01025081,E01025082,E01025083,E01025084,E01025085,E01025086,E01025087,E01025088,E01025089,E01025090,E01025091,E01025092,E01025093,E01025094,E01025095,E01025096,E01025097,E01025098,E01025099,E01025100,E01025101,E01025102,E01025103,E01025105,E01025106,E01025107,E01025108,E01025109,E01025110,E01025111,E01025112,E01025113,E01025114,E01025115,E01025116,E01025117,E01025118,E01025119,E01025120,E01025121,E01025122,E01025123,E01025124,E01025126,E01025127,E01025128,E01025130,E01025131,E01025132,E01025133,E01025136,E01025137,E01025138,E01025139,E01025140,E01025141,E01025142,E01025143,E01025144,E01025145,E01025146,E01025147,E01025148,E01025149,E01025150,E01025151,E01025152,E01025153,E01025154,E01025155,E01025156,E01025157,E01025158,E01025159,E01025160,E01025161,E01025162,E01025163,E01025164,E01025165,E01025166,E01025167,E01025168,E01025169,E01025170,E01025171,E01025172,E01025173,E01025174,E01025175,E01025176,E01025177,E01025178,E01025179,E01025180,E01025181,E01025182,E01025183,E01025184,E01025185,E01025186,E01025187,E01025188,E01025189,E01025190,E01025191,E01025192,E01025193,E01025194,E01025195,E01025196,E01025197,E01025198,E01025199,E01025200,E01025201,E01025202,E01025203,E01025204,E01025205,E01025206,E01025207,E01025208,E01025209,E01025210,E01025211,E01025212,E01025213,E01025214,E01025215,E01025216,E01025217,E01025218,E01025219,E01025220,E01025221,E01025222,E01025223,E01025224,E01025225,E01025226,E01025227,E01025228,E01025229,E01025230,E01025231,E01025232,E01025233,E01025234,E01025235,E01025236,E01025237,E01025238,E01025239,E01025240,E01025241,E01025242,E01025243,E01025244,E01025245,E01025246,E01025247,E01025248,E01025249,E01025250,E01025251,E01025252,E01025253,E01025254,E01025255,E01025256,E01025257,E01025258,E01025259,E01025260,E01025261,E01025262,E01025263,E01025264,E01025265,E01025266,E01025267,E01025268,E01025269,E01025270,E01025271,E01025272,E01025273,E01025274,E01025275,E01025276,E01025277,E01025278,E01025279&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_048.json.gz + content_sha256: 2105cbf28b18162f48d8c578c2446e3973a7b693294e6c4b45cdc231432162df +- id: census_lsoa_tenure5a_bedrooms_049 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 049 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01025281,E01025282,E01025283,E01025284,E01025285,E01025286,E01025287,E01025288,E01025289,E01025290,E01025291,E01025292,E01025293,E01025294,E01025295,E01025296,E01025297,E01025298,E01025299,E01025300,E01025301,E01025302,E01025303,E01025304,E01025305,E01025306,E01025308,E01025309,E01025310,E01025311,E01025312,E01025313,E01025314,E01025315,E01025316,E01025317,E01025318,E01025319,E01025320,E01025321,E01025322,E01025323,E01025324,E01025325,E01025326,E01025327,E01025328,E01025329,E01025330,E01025331,E01025333,E01025334,E01025335,E01025336,E01025337,E01025338,E01025339,E01025340,E01025341,E01025342,E01025343,E01025344,E01025345,E01025346,E01025347,E01025348,E01025349,E01025350,E01025351,E01025352,E01025354,E01025355,E01025356,E01025357,E01025358,E01025359,E01025360,E01025361,E01025362,E01025363,E01025364,E01025365,E01025366,E01025367,E01025368,E01025369,E01025370,E01025371,E01025373,E01025374,E01025375,E01025376,E01025377,E01025378,E01025379,E01025380,E01025381,E01025382,E01025383,E01025384,E01025385,E01025387,E01025388,E01025389,E01025390,E01025391,E01025392,E01025393,E01025394,E01025395,E01025396,E01025397,E01025398,E01025399,E01025400,E01025401,E01025402,E01025403,E01025404,E01025405,E01025406,E01025407,E01025408,E01025409,E01025410,E01025411,E01025412,E01025413,E01025414,E01025415,E01025416,E01025417,E01025418,E01025419,E01025421,E01025422,E01025423,E01025424,E01025425,E01025426,E01025427,E01025428,E01025429,E01025431,E01025433,E01025434,E01025435,E01025436,E01025437,E01025438,E01025439,E01025440,E01025441,E01025442,E01025443,E01025444,E01025445,E01025446,E01025447,E01025448,E01025451,E01025452,E01025453,E01025454,E01025455,E01025456,E01025457,E01025458,E01025459,E01025460,E01025461,E01025462,E01025463,E01025464,E01025465,E01025466,E01025467,E01025468,E01025469,E01025470,E01025471,E01025472,E01025473,E01025474,E01025475,E01025476,E01025477,E01025478,E01025479,E01025480,E01025481,E01025482,E01025483,E01025484,E01025485,E01025486,E01025487,E01025488,E01025489,E01025490,E01025491,E01025492,E01025493,E01025494,E01025495,E01025496,E01025497,E01025498,E01025499,E01025500,E01025501,E01025502,E01025503,E01025504,E01025505,E01025506,E01025507,E01025508,E01025509,E01025510,E01025511,E01025512,E01025513,E01025514,E01025515,E01025516,E01025517,E01025518,E01025519,E01025520,E01025521,E01025522,E01025523,E01025524,E01025525,E01025526,E01025527,E01025528,E01025529,E01025530,E01025531,E01025532,E01025533,E01025534,E01025535,E01025536,E01025537,E01025538,E01025539,E01025540,E01025541,E01025542,E01025543,E01025544,E01025545,E01025546,E01025547,E01025548,E01025549,E01025550,E01025551,E01025552,E01025553,E01025554,E01025555,E01025556,E01025557,E01025558,E01025559,E01025560,E01025561,E01025562,E01025563,E01025564,E01025565,E01025566,E01025567,E01025568,E01025569,E01025570,E01025571,E01025572,E01025573,E01025574,E01025575,E01025576,E01025577,E01025578,E01025579,E01025580,E01025581,E01025582,E01025583,E01025584,E01025585,E01025586,E01025587,E01025588,E01025589,E01025590,E01025591,E01025592,E01025593,E01025594,E01025595,E01025596,E01025597,E01025598,E01025599,E01025600,E01025601,E01025602,E01025603,E01025604,E01025605,E01025606,E01025607,E01025608,E01025609,E01025610,E01025611,E01025612,E01025613,E01025614,E01025615,E01025616,E01025617,E01025618,E01025619,E01025620,E01025621,E01025622,E01025623,E01025624,E01025625,E01025626,E01025627,E01025629,E01025630,E01025631,E01025632,E01025633,E01025634,E01025635,E01025636,E01025637,E01025638,E01025639,E01025640,E01025641,E01025642,E01025643,E01025644,E01025645,E01025646,E01025647,E01025648,E01025649,E01025650,E01025651,E01025652,E01025653,E01025654,E01025655,E01025656,E01025657,E01025658,E01025659,E01025660,E01025661,E01025662,E01025663,E01025664,E01025665,E01025666,E01025667,E01025668,E01025669,E01025670,E01025671,E01025672,E01025673,E01025674,E01025675,E01025676,E01025677,E01025678,E01025680,E01025681,E01025682,E01025683,E01025684,E01025685,E01025686,E01025687,E01025688,E01025689,E01025690,E01025692,E01025693,E01025695,E01025696,E01025697,E01025698,E01025699,E01025700,E01025701,E01025702,E01025703,E01025704,E01025705,E01025706,E01025707,E01025708,E01025709,E01025710,E01025711,E01025712,E01025713,E01025715,E01025716,E01025718,E01025719,E01025720,E01025721,E01025722,E01025723,E01025724,E01025725,E01025726,E01025727,E01025728,E01025729,E01025730,E01025731,E01025732,E01025733,E01025734,E01025735,E01025736,E01025737,E01025738,E01025739,E01025740,E01025741,E01025742,E01025743,E01025744,E01025745,E01025746,E01025747,E01025748,E01025749,E01025750,E01025751,E01025752,E01025753,E01025754,E01025755,E01025756,E01025757,E01025758,E01025759,E01025760,E01025761,E01025762,E01025763,E01025764,E01025765,E01025766,E01025767,E01025768,E01025769,E01025770,E01025772,E01025773,E01025774,E01025775,E01025776,E01025777,E01025778,E01025779,E01025780,E01025781,E01025782,E01025783,E01025784,E01025786,E01025787,E01025788,E01025789,E01025790,E01025791,E01025792,E01025794,E01025795,E01025796,E01025797,E01025798,E01025799&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_049.json.gz + content_sha256: 8046130b8fbca58764e2693e7109bebf89fa821a94b88d2a77afbb250a47dae7 +- id: census_lsoa_tenure5a_bedrooms_050 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 050 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01025800,E01025801,E01025802,E01025803,E01025804,E01025806,E01025807,E01025808,E01025809,E01025810,E01025812,E01025813,E01025814,E01025815,E01025816,E01025817,E01025818,E01025819,E01025820,E01025821,E01025822,E01025823,E01025824,E01025825,E01025826,E01025827,E01025828,E01025829,E01025830,E01025831,E01025832,E01025833,E01025834,E01025835,E01025836,E01025837,E01025838,E01025839,E01025840,E01025841,E01025842,E01025843,E01025844,E01025845,E01025846,E01025847,E01025848,E01025849,E01025850,E01025851,E01025852,E01025854,E01025855,E01025856,E01025857,E01025858,E01025859,E01025860,E01025861,E01025862,E01025863,E01025864,E01025865,E01025866,E01025867,E01025868,E01025869,E01025870,E01025871,E01025872,E01025873,E01025874,E01025875,E01025876,E01025877,E01025879,E01025880,E01025881,E01025882,E01025883,E01025884,E01025885,E01025886,E01025887,E01025888,E01025889,E01025890,E01025891,E01025892,E01025893,E01025894,E01025895,E01025896,E01025897,E01025898,E01025899,E01025900,E01025901,E01025902,E01025903,E01025904,E01025905,E01025906,E01025907,E01025908,E01025909,E01025910,E01025911,E01025912,E01025913,E01025914,E01025915,E01025916,E01025918,E01025919,E01025920,E01025921,E01025923,E01025924,E01025926,E01025927,E01025928,E01025929,E01025930,E01025931,E01025932,E01025933,E01025934,E01025935,E01025936,E01025937,E01025938,E01025939,E01025940,E01025941,E01025942,E01025943,E01025944,E01025945,E01025946,E01025947,E01025948,E01025949,E01025950,E01025951,E01025952,E01025953,E01025954,E01025955,E01025956,E01025957,E01025958,E01025959,E01025960,E01025961,E01025962,E01025963,E01025964,E01025965,E01025966,E01025967,E01025968,E01025969,E01025970,E01025971,E01025972,E01025973,E01025974,E01025975,E01025976,E01025977,E01025978,E01025979,E01025980,E01025981,E01025982,E01025983,E01025984,E01025985,E01025986,E01025987,E01025988,E01025989,E01025990,E01025991,E01025992,E01025993,E01025994,E01025995,E01025997,E01025998,E01025999,E01026000,E01026001,E01026003,E01026004,E01026005,E01026007,E01026008,E01026009,E01026010,E01026012,E01026013,E01026014,E01026015,E01026016,E01026017,E01026018,E01026019,E01026020,E01026021,E01026022,E01026023,E01026024,E01026025,E01026026,E01026027,E01026028,E01026030,E01026031,E01026032,E01026033,E01026034,E01026035,E01026036,E01026037,E01026038,E01026039,E01026040,E01026041,E01026042,E01026043,E01026044,E01026045,E01026046,E01026047,E01026048,E01026049,E01026050,E01026051,E01026052,E01026053,E01026054,E01026055,E01026056,E01026057,E01026058,E01026059,E01026060,E01026061,E01026062,E01026063,E01026064,E01026065,E01026066,E01026067,E01026068,E01026069,E01026070,E01026071,E01026072,E01026073,E01026074,E01026075,E01026076,E01026077,E01026078,E01026079,E01026080,E01026081,E01026082,E01026083,E01026084,E01026087,E01026088,E01026089,E01026090,E01026091,E01026092,E01026093,E01026094,E01026095,E01026096,E01026097,E01026098,E01026099,E01026100,E01026101,E01026102,E01026103,E01026104,E01026105,E01026106,E01026107,E01026108,E01026109,E01026110,E01026111,E01026112,E01026113,E01026114,E01026115,E01026116,E01026117,E01026118,E01026119,E01026120,E01026121,E01026122,E01026123,E01026124,E01026125,E01026126,E01026127,E01026129,E01026130,E01026131,E01026132,E01026134,E01026135,E01026136,E01026137,E01026138,E01026139,E01026140,E01026141,E01026142,E01026144,E01026145,E01026146,E01026147,E01026148,E01026149,E01026150,E01026151,E01026152,E01026153,E01026154,E01026155,E01026156,E01026157,E01026158,E01026159,E01026160,E01026161,E01026162,E01026163,E01026164,E01026165,E01026166,E01026167,E01026168,E01026169,E01026170,E01026171,E01026172,E01026173,E01026174,E01026175,E01026176,E01026177,E01026178,E01026179,E01026180,E01026182,E01026183,E01026184,E01026185,E01026186,E01026187,E01026188,E01026189,E01026190,E01026191,E01026192,E01026193,E01026194,E01026195,E01026196,E01026197,E01026198,E01026199,E01026200,E01026201,E01026202,E01026203,E01026204,E01026205,E01026206,E01026207,E01026208,E01026209,E01026210,E01026211,E01026212,E01026213,E01026214,E01026215,E01026218,E01026219,E01026220,E01026221,E01026222,E01026223,E01026224,E01026225,E01026226,E01026227,E01026228,E01026229,E01026230,E01026231,E01026232,E01026233,E01026235,E01026236,E01026237,E01026238,E01026239,E01026240,E01026241,E01026242,E01026243,E01026244,E01026245,E01026246,E01026247,E01026248,E01026249,E01026250,E01026251,E01026252,E01026253,E01026254,E01026255,E01026256,E01026257,E01026258,E01026259,E01026260,E01026262,E01026263,E01026264,E01026265,E01026266,E01026268,E01026269,E01026270,E01026271,E01026272,E01026273,E01026275,E01026276,E01026277,E01026278,E01026279,E01026280,E01026281,E01026282,E01026283,E01026284,E01026285,E01026286,E01026287,E01026288,E01026289,E01026290,E01026291,E01026292,E01026293,E01026294,E01026296,E01026297,E01026298,E01026299,E01026300,E01026302,E01026303,E01026304,E01026305,E01026306,E01026307,E01026308,E01026309,E01026310,E01026311,E01026312,E01026313,E01026314,E01026315,E01026316,E01026317,E01026318,E01026319,E01026321,E01026322,E01026323,E01026324,E01026325,E01026326&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_050.json.gz + content_sha256: 0bdafc5faa2a2e07bad09b4933fb479969611399206e352942760d1a4382a5f7 +- id: census_lsoa_tenure5a_bedrooms_051 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 051 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01026327,E01026328,E01026329,E01026330,E01026331,E01026332,E01026333,E01026334,E01026335,E01026336,E01026337,E01026338,E01026339,E01026340,E01026341,E01026342,E01026343,E01026344,E01026345,E01026346,E01026347,E01026348,E01026349,E01026350,E01026351,E01026352,E01026353,E01026354,E01026355,E01026356,E01026357,E01026358,E01026359,E01026360,E01026361,E01026362,E01026363,E01026364,E01026365,E01026366,E01026367,E01026368,E01026369,E01026370,E01026371,E01026372,E01026373,E01026374,E01026375,E01026376,E01026377,E01026378,E01026379,E01026380,E01026381,E01026382,E01026383,E01026384,E01026385,E01026386,E01026387,E01026388,E01026389,E01026390,E01026391,E01026392,E01026393,E01026394,E01026395,E01026396,E01026398,E01026399,E01026400,E01026401,E01026402,E01026403,E01026404,E01026405,E01026406,E01026407,E01026408,E01026409,E01026410,E01026411,E01026412,E01026413,E01026414,E01026415,E01026416,E01026419,E01026420,E01026421,E01026423,E01026424,E01026425,E01026426,E01026427,E01026428,E01026429,E01026430,E01026431,E01026432,E01026433,E01026434,E01026435,E01026436,E01026437,E01026438,E01026439,E01026440,E01026441,E01026442,E01026443,E01026444,E01026445,E01026446,E01026447,E01026448,E01026449,E01026450,E01026451,E01026452,E01026453,E01026454,E01026456,E01026457,E01026458,E01026459,E01026461,E01026462,E01026464,E01026465,E01026466,E01026467,E01026468,E01026469,E01026470,E01026471,E01026472,E01026473,E01026474,E01026475,E01026476,E01026477,E01026478,E01026479,E01026480,E01026481,E01026483,E01026484,E01026485,E01026486,E01026487,E01026488,E01026489,E01026490,E01026491,E01026492,E01026493,E01026494,E01026495,E01026496,E01026497,E01026498,E01026499,E01026500,E01026501,E01026502,E01026503,E01026504,E01026505,E01026506,E01026507,E01026508,E01026509,E01026510,E01026511,E01026512,E01026513,E01026514,E01026515,E01026516,E01026517,E01026518,E01026519,E01026520,E01026521,E01026522,E01026523,E01026524,E01026525,E01026526,E01026527,E01026528,E01026529,E01026530,E01026531,E01026532,E01026533,E01026534,E01026535,E01026536,E01026537,E01026538,E01026539,E01026540,E01026541,E01026542,E01026543,E01026544,E01026545,E01026546,E01026547,E01026548,E01026549,E01026550,E01026551,E01026552,E01026553,E01026554,E01026555,E01026556,E01026557,E01026558,E01026559,E01026560,E01026562,E01026563,E01026564,E01026565,E01026566,E01026567,E01026568,E01026569,E01026570,E01026571,E01026572,E01026573,E01026574,E01026575,E01026576,E01026577,E01026578,E01026579,E01026580,E01026581,E01026582,E01026583,E01026584,E01026587,E01026588,E01026589,E01026590,E01026591,E01026592,E01026593,E01026594,E01026595,E01026596,E01026597,E01026598,E01026599,E01026600,E01026601,E01026602,E01026603,E01026604,E01026605,E01026606,E01026607,E01026608,E01026609,E01026610,E01026611,E01026612,E01026613,E01026614,E01026615,E01026616,E01026617,E01026618,E01026619,E01026620,E01026621,E01026622,E01026623,E01026624,E01026625,E01026626,E01026627,E01026628,E01026629,E01026630,E01026631,E01026632,E01026633,E01026634,E01026635,E01026636,E01026637,E01026638,E01026639,E01026640,E01026641,E01026642,E01026643,E01026644,E01026645,E01026646,E01026647,E01026648,E01026649,E01026650,E01026651,E01026652,E01026653,E01026654,E01026655,E01026656,E01026659,E01026660,E01026661,E01026662,E01026663,E01026664,E01026665,E01026666,E01026667,E01026668,E01026669,E01026670,E01026671,E01026672,E01026673,E01026674,E01026675,E01026676,E01026677,E01026678,E01026679,E01026680,E01026681,E01026682,E01026683,E01026684,E01026685,E01026687,E01026688,E01026689,E01026690,E01026691,E01026692,E01026693,E01026694,E01026695,E01026696,E01026697,E01026699,E01026700,E01026701,E01026702,E01026703,E01026704,E01026705,E01026706,E01026708,E01026709,E01026710,E01026711,E01026712,E01026713,E01026714,E01026715,E01026716,E01026717,E01026718,E01026719,E01026720,E01026721,E01026722,E01026723,E01026724,E01026725,E01026726,E01026727,E01026728,E01026729,E01026730,E01026733,E01026734,E01026735,E01026736,E01026737,E01026738,E01026739,E01026740,E01026741,E01026742,E01026743,E01026744,E01026745,E01026746,E01026747,E01026748,E01026749,E01026750,E01026751,E01026752,E01026753,E01026754,E01026755,E01026756,E01026757,E01026758,E01026759,E01026760,E01026761,E01026763,E01026764,E01026765,E01026766,E01026767,E01026768,E01026769,E01026770,E01026771,E01026772,E01026773,E01026774,E01026775,E01026776,E01026777,E01026778,E01026779,E01026780,E01026781,E01026782,E01026783,E01026784,E01026785,E01026786,E01026787,E01026788,E01026789,E01026790,E01026791,E01026792,E01026793,E01026794,E01026796,E01026797,E01026798,E01026799,E01026800,E01026801,E01026802,E01026803,E01026804,E01026805,E01026806,E01026807,E01026808,E01026809,E01026810,E01026811,E01026812,E01026813,E01026814,E01026815,E01026816,E01026817,E01026818,E01026819,E01026820,E01026821,E01026823,E01026824,E01026825,E01026826,E01026827,E01026828,E01026829,E01026830,E01026831,E01026832,E01026833,E01026834,E01026835,E01026836,E01026837,E01026838,E01026839,E01026840,E01026841,E01026842,E01026843,E01026844,E01026845,E01026846,E01026848&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_051.json.gz + content_sha256: c30d69d31a1679d417c5f3ce6c8d29e2d90ea0bf2a54e95888bca22514785a8b +- id: census_lsoa_tenure5a_bedrooms_052 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 052 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01026849,E01026850,E01026852,E01026853,E01026855,E01026856,E01026857,E01026858,E01026859,E01026860,E01026861,E01026862,E01026863,E01026864,E01026865,E01026866,E01026867,E01026868,E01026869,E01026870,E01026871,E01026872,E01026873,E01026874,E01026875,E01026876,E01026877,E01026878,E01026879,E01026880,E01026881,E01026883,E01026884,E01026885,E01026886,E01026887,E01026888,E01026889,E01026891,E01026892,E01026893,E01026894,E01026895,E01026896,E01026897,E01026898,E01026899,E01026900,E01026901,E01026902,E01026903,E01026904,E01026905,E01026906,E01026907,E01026908,E01026909,E01026910,E01026911,E01026912,E01026913,E01026914,E01026915,E01026916,E01026917,E01026918,E01026919,E01026920,E01026921,E01026922,E01026924,E01026925,E01026927,E01026928,E01026929,E01026930,E01026931,E01026932,E01026934,E01026935,E01026936,E01026937,E01026938,E01026939,E01026940,E01026941,E01026942,E01026943,E01026944,E01026947,E01026948,E01026949,E01026950,E01026951,E01026952,E01026953,E01026954,E01026955,E01026956,E01026957,E01026958,E01026959,E01026960,E01026961,E01026962,E01026963,E01026965,E01026966,E01026967,E01026968,E01026969,E01026970,E01026971,E01026972,E01026973,E01026974,E01026975,E01026976,E01026979,E01026980,E01026981,E01026982,E01026983,E01026984,E01026985,E01026986,E01026987,E01026988,E01026989,E01026991,E01026992,E01026993,E01026994,E01026998,E01026999,E01027000,E01027001,E01027002,E01027003,E01027004,E01027005,E01027006,E01027007,E01027008,E01027009,E01027010,E01027011,E01027012,E01027013,E01027015,E01027016,E01027017,E01027018,E01027019,E01027020,E01027021,E01027022,E01027023,E01027024,E01027025,E01027026,E01027027,E01027028,E01027029,E01027030,E01027031,E01027032,E01027033,E01027034,E01027035,E01027037,E01027038,E01027039,E01027040,E01027041,E01027042,E01027043,E01027044,E01027045,E01027046,E01027047,E01027048,E01027049,E01027050,E01027051,E01027052,E01027053,E01027054,E01027055,E01027056,E01027057,E01027058,E01027059,E01027060,E01027061,E01027062,E01027063,E01027064,E01027065,E01027066,E01027067,E01027069,E01027070,E01027071,E01027072,E01027073,E01027074,E01027075,E01027076,E01027078,E01027079,E01027080,E01027081,E01027082,E01027083,E01027084,E01027085,E01027086,E01027087,E01027088,E01027089,E01027090,E01027091,E01027092,E01027094,E01027095,E01027096,E01027097,E01027098,E01027099,E01027100,E01027102,E01027103,E01027104,E01027105,E01027106,E01027107,E01027108,E01027109,E01027111,E01027112,E01027113,E01027114,E01027115,E01027116,E01027117,E01027119,E01027120,E01027121,E01027122,E01027123,E01027125,E01027126,E01027127,E01027128,E01027129,E01027130,E01027131,E01027132,E01027133,E01027134,E01027135,E01027136,E01027137,E01027138,E01027139,E01027140,E01027141,E01027142,E01027143,E01027144,E01027145,E01027146,E01027147,E01027148,E01027149,E01027151,E01027152,E01027153,E01027154,E01027155,E01027156,E01027158,E01027159,E01027160,E01027161,E01027162,E01027163,E01027164,E01027165,E01027166,E01027167,E01027168,E01027169,E01027170,E01027171,E01027172,E01027173,E01027174,E01027175,E01027176,E01027177,E01027178,E01027179,E01027180,E01027181,E01027182,E01027183,E01027184,E01027185,E01027186,E01027187,E01027188,E01027189,E01027190,E01027191,E01027192,E01027193,E01027194,E01027195,E01027196,E01027197,E01027198,E01027199,E01027200,E01027201,E01027202,E01027203,E01027204,E01027205,E01027207,E01027208,E01027209,E01027210,E01027211,E01027212,E01027213,E01027214,E01027215,E01027216,E01027217,E01027218,E01027219,E01027220,E01027221,E01027222,E01027224,E01027225,E01027226,E01027227,E01027228,E01027229,E01027230,E01027231,E01027232,E01027233,E01027234,E01027235,E01027236,E01027237,E01027238,E01027239,E01027240,E01027241,E01027242,E01027243,E01027244,E01027245,E01027246,E01027247,E01027248,E01027249,E01027250,E01027252,E01027253,E01027254,E01027255,E01027256,E01027257,E01027258,E01027259,E01027260,E01027261,E01027262,E01027263,E01027264,E01027265,E01027267,E01027268,E01027269,E01027270,E01027271,E01027272,E01027273,E01027274,E01027275,E01027277,E01027279,E01027280,E01027281,E01027282,E01027283,E01027284,E01027285,E01027286,E01027287,E01027288,E01027289,E01027290,E01027291,E01027292,E01027293,E01027294,E01027295,E01027296,E01027297,E01027298,E01027299,E01027300,E01027301,E01027302,E01027303,E01027304,E01027305,E01027306,E01027307,E01027308,E01027309,E01027310,E01027311,E01027312,E01027313,E01027314,E01027316,E01027317,E01027318,E01027319,E01027320,E01027321,E01027322,E01027323,E01027324,E01027325,E01027326,E01027327,E01027328,E01027329,E01027330,E01027331,E01027332,E01027333,E01027334,E01027335,E01027336,E01027337,E01027338,E01027339,E01027340,E01027341,E01027342,E01027343,E01027344,E01027345,E01027346,E01027347,E01027348,E01027350,E01027351,E01027352,E01027353,E01027354,E01027355,E01027356,E01027357,E01027358,E01027359,E01027361,E01027362,E01027363,E01027364,E01027365,E01027366,E01027367,E01027368,E01027369,E01027370,E01027371,E01027372,E01027373,E01027374,E01027375,E01027376,E01027377,E01027378,E01027379,E01027380,E01027381,E01027382,E01027383,E01027384&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_052.json.gz + content_sha256: 3e3b6dffbb6028dbf780880e432917fb80b9c6d7ce91e22828512e696573541a +- id: census_lsoa_tenure5a_bedrooms_053 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 053 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01027385,E01027386,E01027387,E01027388,E01027389,E01027390,E01027391,E01027392,E01027393,E01027394,E01027395,E01027396,E01027397,E01027398,E01027399,E01027400,E01027401,E01027402,E01027403,E01027404,E01027405,E01027406,E01027407,E01027408,E01027409,E01027410,E01027411,E01027412,E01027413,E01027414,E01027415,E01027416,E01027417,E01027418,E01027419,E01027420,E01027421,E01027422,E01027423,E01027424,E01027426,E01027427,E01027428,E01027429,E01027430,E01027431,E01027432,E01027433,E01027434,E01027435,E01027436,E01027437,E01027438,E01027439,E01027440,E01027442,E01027443,E01027444,E01027445,E01027446,E01027447,E01027449,E01027450,E01027451,E01027452,E01027453,E01027455,E01027456,E01027457,E01027458,E01027460,E01027461,E01027462,E01027463,E01027464,E01027465,E01027466,E01027468,E01027469,E01027471,E01027472,E01027473,E01027474,E01027475,E01027476,E01027477,E01027478,E01027479,E01027480,E01027481,E01027482,E01027483,E01027484,E01027485,E01027486,E01027487,E01027488,E01027489,E01027490,E01027491,E01027492,E01027493,E01027494,E01027495,E01027496,E01027497,E01027498,E01027499,E01027500,E01027503,E01027504,E01027505,E01027507,E01027508,E01027509,E01027510,E01027511,E01027512,E01027513,E01027514,E01027515,E01027516,E01027517,E01027518,E01027519,E01027520,E01027521,E01027522,E01027523,E01027524,E01027525,E01027526,E01027527,E01027528,E01027529,E01027530,E01027531,E01027532,E01027533,E01027534,E01027535,E01027536,E01027537,E01027538,E01027539,E01027540,E01027541,E01027542,E01027543,E01027544,E01027545,E01027546,E01027549,E01027550,E01027551,E01027552,E01027553,E01027554,E01027555,E01027556,E01027557,E01027558,E01027559,E01027560,E01027561,E01027562,E01027563,E01027564,E01027565,E01027566,E01027567,E01027568,E01027569,E01027570,E01027571,E01027572,E01027573,E01027574,E01027575,E01027576,E01027577,E01027578,E01027579,E01027580,E01027582,E01027583,E01027584,E01027585,E01027586,E01027587,E01027588,E01027589,E01027590,E01027591,E01027592,E01027593,E01027594,E01027595,E01027596,E01027597,E01027598,E01027599,E01027600,E01027601,E01027603,E01027604,E01027605,E01027606,E01027607,E01027608,E01027609,E01027610,E01027612,E01027613,E01027614,E01027615,E01027616,E01027617,E01027618,E01027619,E01027620,E01027622,E01027623,E01027624,E01027625,E01027626,E01027627,E01027628,E01027629,E01027630,E01027631,E01027632,E01027633,E01027634,E01027635,E01027636,E01027637,E01027638,E01027639,E01027640,E01027641,E01027642,E01027643,E01027644,E01027645,E01027646,E01027647,E01027648,E01027649,E01027650,E01027651,E01027652,E01027653,E01027654,E01027655,E01027656,E01027657,E01027658,E01027659,E01027660,E01027661,E01027662,E01027663,E01027665,E01027666,E01027667,E01027668,E01027669,E01027670,E01027671,E01027672,E01027673,E01027674,E01027675,E01027676,E01027677,E01027678,E01027679,E01027680,E01027681,E01027682,E01027683,E01027684,E01027685,E01027686,E01027687,E01027688,E01027689,E01027690,E01027691,E01027692,E01027693,E01027694,E01027695,E01027696,E01027697,E01027698,E01027699,E01027700,E01027701,E01027702,E01027703,E01027704,E01027705,E01027706,E01027707,E01027708,E01027709,E01027710,E01027711,E01027712,E01027713,E01027714,E01027715,E01027716,E01027717,E01027718,E01027719,E01027720,E01027721,E01027722,E01027723,E01027724,E01027725,E01027726,E01027727,E01027728,E01027729,E01027730,E01027731,E01027732,E01027733,E01027734,E01027735,E01027736,E01027737,E01027738,E01027739,E01027740,E01027741,E01027742,E01027743,E01027744,E01027745,E01027746,E01027747,E01027748,E01027749,E01027751,E01027752,E01027753,E01027756,E01027758,E01027759,E01027760,E01027761,E01027762,E01027763,E01027764,E01027765,E01027766,E01027767,E01027768,E01027769,E01027770,E01027771,E01027772,E01027773,E01027774,E01027775,E01027776,E01027777,E01027778,E01027779,E01027780,E01027781,E01027782,E01027783,E01027784,E01027786,E01027787,E01027788,E01027790,E01027791,E01027792,E01027793,E01027794,E01027795,E01027796,E01027797,E01027798,E01027799,E01027800,E01027801,E01027802,E01027803,E01027804,E01027805,E01027806,E01027807,E01027808,E01027809,E01027810,E01027811,E01027812,E01027813,E01027814,E01027815,E01027816,E01027817,E01027818,E01027819,E01027820,E01027821,E01027822,E01027823,E01027824,E01027825,E01027826,E01027827,E01027828,E01027829,E01027830,E01027833,E01027834,E01027835,E01027836,E01027837,E01027838,E01027839,E01027840,E01027841,E01027842,E01027843,E01027844,E01027845,E01027847,E01027849,E01027850,E01027851,E01027852,E01027853,E01027854,E01027855,E01027856,E01027857,E01027858,E01027859,E01027860,E01027861,E01027862,E01027863,E01027864,E01027865,E01027866,E01027867,E01027868,E01027871,E01027872,E01027873,E01027874,E01027875,E01027876,E01027877,E01027878,E01027879,E01027880,E01027881,E01027882,E01027883,E01027884,E01027885,E01027886,E01027887,E01027888,E01027889,E01027890,E01027891,E01027892,E01027893,E01027894,E01027895,E01027896,E01027897,E01027899,E01027900,E01027901,E01027902,E01027903,E01027904,E01027906,E01027907,E01027908,E01027909,E01027913,E01027914,E01027915,E01027916,E01027918,E01027919&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_053.json.gz + content_sha256: 8a0b4ab76408fdd610d421ba253a08aa53b6c3743ef9d49f9161aabf3a296815 +- id: census_lsoa_tenure5a_bedrooms_054 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 054 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01027920,E01027921,E01027922,E01027923,E01027924,E01027925,E01027926,E01027927,E01027928,E01027930,E01027932,E01027933,E01027934,E01027935,E01027936,E01027937,E01027938,E01027939,E01027940,E01027941,E01027942,E01027943,E01027944,E01027945,E01027946,E01027947,E01027948,E01027949,E01027950,E01027951,E01027952,E01027953,E01027954,E01027955,E01027956,E01027957,E01027958,E01027959,E01027960,E01027961,E01027962,E01027963,E01027964,E01027965,E01027966,E01027967,E01027968,E01027969,E01027970,E01027971,E01027972,E01027973,E01027974,E01027975,E01027976,E01027977,E01027978,E01027979,E01027980,E01027981,E01027982,E01027983,E01027984,E01027985,E01027986,E01027987,E01027988,E01027989,E01027990,E01027991,E01027992,E01027993,E01027994,E01027995,E01027996,E01027997,E01027998,E01027999,E01028000,E01028001,E01028002,E01028003,E01028004,E01028005,E01028006,E01028007,E01028008,E01028009,E01028010,E01028011,E01028012,E01028013,E01028014,E01028015,E01028016,E01028017,E01028018,E01028019,E01028020,E01028021,E01028022,E01028023,E01028024,E01028025,E01028026,E01028027,E01028028,E01028029,E01028030,E01028031,E01028032,E01028033,E01028034,E01028035,E01028036,E01028037,E01028038,E01028039,E01028042,E01028043,E01028044,E01028045,E01028046,E01028047,E01028048,E01028049,E01028050,E01028051,E01028052,E01028053,E01028054,E01028055,E01028056,E01028057,E01028058,E01028059,E01028060,E01028061,E01028062,E01028063,E01028064,E01028065,E01028066,E01028067,E01028068,E01028069,E01028070,E01028073,E01028074,E01028075,E01028076,E01028077,E01028078,E01028079,E01028080,E01028081,E01028082,E01028083,E01028084,E01028085,E01028086,E01028087,E01028088,E01028089,E01028090,E01028091,E01028092,E01028093,E01028094,E01028095,E01028096,E01028097,E01028098,E01028099,E01028100,E01028101,E01028102,E01028103,E01028104,E01028105,E01028106,E01028107,E01028108,E01028109,E01028110,E01028111,E01028112,E01028113,E01028114,E01028115,E01028116,E01028117,E01028118,E01028119,E01028120,E01028121,E01028122,E01028123,E01028124,E01028125,E01028126,E01028127,E01028128,E01028129,E01028130,E01028131,E01028132,E01028133,E01028134,E01028135,E01028136,E01028137,E01028138,E01028139,E01028142,E01028143,E01028144,E01028146,E01028147,E01028148,E01028149,E01028150,E01028151,E01028152,E01028153,E01028154,E01028155,E01028156,E01028157,E01028158,E01028159,E01028160,E01028161,E01028162,E01028163,E01028164,E01028165,E01028166,E01028167,E01028168,E01028169,E01028170,E01028171,E01028172,E01028173,E01028174,E01028175,E01028176,E01028177,E01028178,E01028179,E01028180,E01028181,E01028182,E01028183,E01028184,E01028185,E01028186,E01028187,E01028188,E01028189,E01028190,E01028191,E01028192,E01028193,E01028194,E01028195,E01028196,E01028197,E01028198,E01028199,E01028200,E01028201,E01028202,E01028203,E01028204,E01028205,E01028206,E01028207,E01028208,E01028209,E01028210,E01028211,E01028212,E01028213,E01028214,E01028215,E01028216,E01028217,E01028218,E01028219,E01028220,E01028222,E01028223,E01028224,E01028225,E01028226,E01028227,E01028228,E01028229,E01028230,E01028231,E01028232,E01028233,E01028234,E01028235,E01028236,E01028237,E01028238,E01028239,E01028240,E01028242,E01028243,E01028244,E01028245,E01028246,E01028247,E01028248,E01028249,E01028250,E01028251,E01028252,E01028253,E01028254,E01028255,E01028256,E01028257,E01028258,E01028259,E01028260,E01028261,E01028262,E01028263,E01028264,E01028267,E01028268,E01028269,E01028270,E01028271,E01028272,E01028273,E01028274,E01028275,E01028276,E01028277,E01028278,E01028279,E01028280,E01028281,E01028282,E01028283,E01028284,E01028285,E01028286,E01028287,E01028288,E01028289,E01028290,E01028291,E01028292,E01028293,E01028294,E01028295,E01028296,E01028297,E01028298,E01028299,E01028300,E01028301,E01028302,E01028303,E01028304,E01028305,E01028306,E01028307,E01028308,E01028309,E01028310,E01028311,E01028312,E01028313,E01028315,E01028316,E01028317,E01028318,E01028319,E01028320,E01028321,E01028322,E01028323,E01028325,E01028326,E01028327,E01028328,E01028329,E01028330,E01028331,E01028332,E01028333,E01028334,E01028335,E01028336,E01028337,E01028338,E01028339,E01028340,E01028342,E01028343,E01028344,E01028345,E01028346,E01028347,E01028348,E01028349,E01028350,E01028351,E01028352,E01028353,E01028354,E01028355,E01028356,E01028357,E01028358,E01028359,E01028360,E01028361,E01028362,E01028363,E01028364,E01028365,E01028366,E01028367,E01028368,E01028369,E01028370,E01028371,E01028372,E01028374,E01028375,E01028376,E01028377,E01028378,E01028379,E01028380,E01028381,E01028382,E01028383,E01028384,E01028385,E01028386,E01028387,E01028388,E01028389,E01028390,E01028391,E01028392,E01028393,E01028394,E01028395,E01028396,E01028397,E01028398,E01028399,E01028400,E01028401,E01028402,E01028403,E01028404,E01028405,E01028406,E01028407,E01028408,E01028409,E01028410,E01028411,E01028412,E01028413,E01028414,E01028415,E01028416,E01028417,E01028418,E01028419,E01028420,E01028421,E01028422,E01028423,E01028426,E01028427,E01028428,E01028429,E01028430,E01028431,E01028432,E01028433,E01028434,E01028435,E01028437,E01028439,E01028440&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_054.json.gz + content_sha256: 55cb7ef91e0b9e410ad79019018f032db44bef6a5a27055ed8f902c0ef4d8710 +- id: census_lsoa_tenure5a_bedrooms_055 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 055 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01028441,E01028443,E01028444,E01028445,E01028446,E01028447,E01028448,E01028449,E01028450,E01028451,E01028452,E01028453,E01028454,E01028455,E01028456,E01028457,E01028458,E01028459,E01028460,E01028461,E01028462,E01028463,E01028464,E01028465,E01028466,E01028467,E01028469,E01028470,E01028471,E01028472,E01028473,E01028474,E01028476,E01028477,E01028478,E01028479,E01028480,E01028481,E01028482,E01028483,E01028484,E01028485,E01028486,E01028487,E01028488,E01028489,E01028490,E01028491,E01028492,E01028493,E01028494,E01028495,E01028496,E01028497,E01028498,E01028499,E01028500,E01028501,E01028502,E01028503,E01028504,E01028506,E01028507,E01028508,E01028510,E01028511,E01028512,E01028513,E01028514,E01028515,E01028516,E01028517,E01028518,E01028519,E01028520,E01028521,E01028522,E01028523,E01028524,E01028525,E01028526,E01028527,E01028528,E01028529,E01028530,E01028531,E01028532,E01028534,E01028535,E01028536,E01028537,E01028538,E01028539,E01028540,E01028541,E01028542,E01028543,E01028544,E01028545,E01028546,E01028547,E01028548,E01028549,E01028550,E01028551,E01028552,E01028553,E01028554,E01028555,E01028556,E01028557,E01028558,E01028559,E01028560,E01028561,E01028562,E01028563,E01028565,E01028567,E01028568,E01028569,E01028570,E01028571,E01028572,E01028573,E01028574,E01028575,E01028576,E01028577,E01028578,E01028579,E01028580,E01028581,E01028582,E01028584,E01028586,E01028587,E01028588,E01028591,E01028592,E01028594,E01028595,E01028596,E01028597,E01028598,E01028599,E01028600,E01028601,E01028602,E01028603,E01028604,E01028605,E01028606,E01028607,E01028608,E01028609,E01028610,E01028611,E01028612,E01028613,E01028614,E01028615,E01028616,E01028617,E01028619,E01028622,E01028623,E01028624,E01028625,E01028626,E01028627,E01028628,E01028629,E01028630,E01028631,E01028632,E01028633,E01028634,E01028635,E01028636,E01028637,E01028638,E01028639,E01028640,E01028641,E01028642,E01028643,E01028644,E01028645,E01028646,E01028647,E01028649,E01028650,E01028651,E01028652,E01028653,E01028654,E01028655,E01028656,E01028657,E01028658,E01028659,E01028660,E01028661,E01028662,E01028663,E01028664,E01028665,E01028666,E01028667,E01028668,E01028669,E01028670,E01028671,E01028672,E01028673,E01028674,E01028675,E01028676,E01028677,E01028678,E01028679,E01028680,E01028681,E01028682,E01028683,E01028684,E01028685,E01028686,E01028688,E01028689,E01028690,E01028691,E01028692,E01028693,E01028694,E01028695,E01028696,E01028697,E01028698,E01028699,E01028700,E01028701,E01028702,E01028703,E01028704,E01028705,E01028706,E01028707,E01028708,E01028709,E01028710,E01028711,E01028712,E01028713,E01028715,E01028716,E01028717,E01028718,E01028719,E01028720,E01028721,E01028722,E01028723,E01028724,E01028725,E01028726,E01028728,E01028729,E01028730,E01028731,E01028732,E01028733,E01028734,E01028735,E01028737,E01028738,E01028739,E01028740,E01028741,E01028742,E01028743,E01028744,E01028745,E01028746,E01028747,E01028748,E01028749,E01028750,E01028751,E01028752,E01028753,E01028754,E01028755,E01028757,E01028758,E01028759,E01028760,E01028761,E01028762,E01028763,E01028764,E01028765,E01028767,E01028771,E01028772,E01028773,E01028774,E01028775,E01028776,E01028777,E01028778,E01028779,E01028780,E01028781,E01028782,E01028783,E01028784,E01028785,E01028786,E01028787,E01028788,E01028789,E01028790,E01028791,E01028792,E01028793,E01028794,E01028795,E01028796,E01028797,E01028798,E01028799,E01028800,E01028801,E01028802,E01028804,E01028806,E01028807,E01028808,E01028809,E01028810,E01028811,E01028813,E01028814,E01028815,E01028816,E01028817,E01028818,E01028819,E01028820,E01028821,E01028822,E01028823,E01028824,E01028825,E01028826,E01028827,E01028828,E01028829,E01028830,E01028831,E01028832,E01028833,E01028834,E01028835,E01028836,E01028837,E01028838,E01028839,E01028840,E01028841,E01028842,E01028843,E01028844,E01028845,E01028846,E01028847,E01028848,E01028849,E01028850,E01028851,E01028852,E01028853,E01028854,E01028855,E01028856,E01028858,E01028859,E01028860,E01028861,E01028862,E01028863,E01028864,E01028865,E01028866,E01028867,E01028868,E01028869,E01028870,E01028871,E01028872,E01028873,E01028874,E01028875,E01028876,E01028877,E01028878,E01028879,E01028880,E01028881,E01028882,E01028883,E01028884,E01028886,E01028887,E01028888,E01028889,E01028890,E01028891,E01028892,E01028893,E01028894,E01028895,E01028896,E01028897,E01028898,E01028899,E01028902,E01028903,E01028904,E01028905,E01028906,E01028907,E01028908,E01028909,E01028910,E01028911,E01028912,E01028913,E01028914,E01028915,E01028916,E01028917,E01028918,E01028919,E01028920,E01028921,E01028922,E01028923,E01028924,E01028925,E01028926,E01028927,E01028928,E01028929,E01028930,E01028931,E01028933,E01028934,E01028935,E01028936,E01028937,E01028938,E01028939,E01028940,E01028942,E01028943,E01028944,E01028945,E01028947,E01028948,E01028949,E01028950,E01028951,E01028952,E01028953,E01028954,E01028955,E01028956,E01028957,E01028958,E01028960,E01028961,E01028962,E01028963,E01028964,E01028965,E01028966,E01028967,E01028968,E01028969,E01028970,E01028971,E01028972,E01028973,E01028974,E01028975,E01028976,E01028977&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_055.json.gz + content_sha256: e06e7c217d366a8217e216a1a4babcb925bcdb3704112c25ab9d16c0be223b7f +- id: census_lsoa_tenure5a_bedrooms_056 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 056 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01028978,E01028979,E01028980,E01028981,E01028982,E01028983,E01028984,E01028985,E01028986,E01028988,E01028989,E01028990,E01028992,E01028993,E01028994,E01028995,E01028996,E01028997,E01028998,E01028999,E01029000,E01029001,E01029002,E01029003,E01029005,E01029006,E01029007,E01029009,E01029010,E01029011,E01029012,E01029013,E01029014,E01029016,E01029018,E01029019,E01029020,E01029021,E01029022,E01029023,E01029024,E01029025,E01029027,E01029028,E01029029,E01029030,E01029031,E01029032,E01029033,E01029034,E01029036,E01029037,E01029038,E01029039,E01029040,E01029041,E01029042,E01029043,E01029044,E01029045,E01029046,E01029047,E01029050,E01029051,E01029052,E01029053,E01029054,E01029055,E01029056,E01029057,E01029058,E01029059,E01029060,E01029062,E01029063,E01029064,E01029065,E01029066,E01029067,E01029068,E01029070,E01029071,E01029072,E01029073,E01029074,E01029075,E01029076,E01029077,E01029078,E01029079,E01029080,E01029081,E01029082,E01029083,E01029084,E01029085,E01029086,E01029089,E01029091,E01029092,E01029093,E01029094,E01029095,E01029096,E01029097,E01029098,E01029099,E01029100,E01029101,E01029102,E01029103,E01029104,E01029105,E01029106,E01029107,E01029108,E01029109,E01029110,E01029111,E01029112,E01029113,E01029114,E01029115,E01029116,E01029117,E01029118,E01029119,E01029120,E01029121,E01029122,E01029123,E01029124,E01029125,E01029126,E01029127,E01029128,E01029129,E01029130,E01029131,E01029132,E01029133,E01029134,E01029135,E01029136,E01029137,E01029138,E01029139,E01029142,E01029143,E01029144,E01029145,E01029147,E01029148,E01029149,E01029150,E01029151,E01029152,E01029153,E01029154,E01029155,E01029156,E01029157,E01029158,E01029159,E01029161,E01029162,E01029163,E01029164,E01029165,E01029166,E01029167,E01029168,E01029169,E01029170,E01029171,E01029172,E01029173,E01029174,E01029175,E01029176,E01029177,E01029178,E01029179,E01029180,E01029181,E01029182,E01029183,E01029184,E01029185,E01029186,E01029187,E01029188,E01029189,E01029190,E01029191,E01029192,E01029193,E01029194,E01029195,E01029196,E01029197,E01029198,E01029199,E01029200,E01029201,E01029202,E01029203,E01029204,E01029205,E01029206,E01029207,E01029208,E01029209,E01029210,E01029211,E01029212,E01029213,E01029214,E01029215,E01029216,E01029217,E01029218,E01029219,E01029220,E01029221,E01029222,E01029223,E01029224,E01029225,E01029226,E01029227,E01029228,E01029229,E01029230,E01029231,E01029232,E01029233,E01029235,E01029236,E01029237,E01029238,E01029239,E01029240,E01029241,E01029242,E01029243,E01029244,E01029245,E01029246,E01029247,E01029248,E01029249,E01029250,E01029251,E01029252,E01029254,E01029255,E01029256,E01029257,E01029258,E01029259,E01029260,E01029261,E01029262,E01029263,E01029264,E01029265,E01029266,E01029267,E01029268,E01029269,E01029270,E01029271,E01029273,E01029274,E01029275,E01029276,E01029277,E01029278,E01029279,E01029280,E01029281,E01029282,E01029283,E01029284,E01029285,E01029286,E01029287,E01029288,E01029289,E01029290,E01029291,E01029292,E01029293,E01029294,E01029295,E01029296,E01029297,E01029298,E01029299,E01029300,E01029301,E01029302,E01029303,E01029304,E01029305,E01029306,E01029307,E01029308,E01029310,E01029311,E01029312,E01029313,E01029315,E01029316,E01029317,E01029319,E01029320,E01029321,E01029322,E01029324,E01029325,E01029326,E01029327,E01029328,E01029329,E01029330,E01029331,E01029333,E01029334,E01029335,E01029336,E01029337,E01029338,E01029339,E01029341,E01029342,E01029343,E01029345,E01029346,E01029347,E01029348,E01029349,E01029350,E01029351,E01029352,E01029353,E01029354,E01029355,E01029356,E01029357,E01029358,E01029359,E01029360,E01029361,E01029362,E01029363,E01029364,E01029365,E01029366,E01029367,E01029368,E01029369,E01029370,E01029371,E01029372,E01029373,E01029374,E01029375,E01029376,E01029377,E01029378,E01029379,E01029380,E01029381,E01029382,E01029383,E01029385,E01029386,E01029387,E01029388,E01029389,E01029390,E01029391,E01029392,E01029393,E01029394,E01029395,E01029396,E01029397,E01029398,E01029399,E01029400,E01029401,E01029402,E01029403,E01029404,E01029405,E01029406,E01029407,E01029408,E01029409,E01029410,E01029411,E01029412,E01029413,E01029414,E01029415,E01029416,E01029417,E01029418,E01029419,E01029420,E01029422,E01029423,E01029424,E01029425,E01029426,E01029427,E01029428,E01029429,E01029430,E01029431,E01029432,E01029433,E01029434,E01029435,E01029436,E01029437,E01029438,E01029439,E01029440,E01029441,E01029442,E01029443,E01029444,E01029445,E01029446,E01029447,E01029448,E01029449,E01029450,E01029451,E01029452,E01029453,E01029454,E01029455,E01029456,E01029457,E01029458,E01029459,E01029460,E01029461,E01029462,E01029463,E01029464,E01029465,E01029466,E01029467,E01029468,E01029469,E01029470,E01029471,E01029472,E01029473,E01029474,E01029475,E01029476,E01029477,E01029478,E01029480,E01029482,E01029483,E01029484,E01029485,E01029486,E01029487,E01029488,E01029489,E01029490,E01029491,E01029492,E01029493,E01029494,E01029495,E01029496,E01029498,E01029499,E01029500,E01029501,E01029502,E01029503,E01029504,E01029505,E01029506,E01029507,E01029508,E01029509,E01029511,E01029512&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_056.json.gz + content_sha256: 5676d1faffca42028dab24e147ab1cbb356de1e239b814dc692e11fdbe78ce01 +- id: census_lsoa_tenure5a_bedrooms_057 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 057 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01029513,E01029514,E01029515,E01029516,E01029517,E01029518,E01029519,E01029520,E01029521,E01029522,E01029523,E01029524,E01029525,E01029526,E01029527,E01029528,E01029529,E01029531,E01029532,E01029533,E01029534,E01029535,E01029536,E01029537,E01029538,E01029539,E01029540,E01029541,E01029542,E01029543,E01029544,E01029545,E01029546,E01029547,E01029548,E01029549,E01029551,E01029552,E01029553,E01029554,E01029555,E01029556,E01029557,E01029558,E01029559,E01029560,E01029561,E01029562,E01029563,E01029564,E01029565,E01029566,E01029567,E01029568,E01029569,E01029570,E01029571,E01029572,E01029573,E01029574,E01029575,E01029576,E01029577,E01029578,E01029579,E01029580,E01029581,E01029582,E01029583,E01029584,E01029585,E01029586,E01029587,E01029588,E01029589,E01029590,E01029591,E01029593,E01029594,E01029595,E01029596,E01029597,E01029598,E01029599,E01029600,E01029601,E01029602,E01029603,E01029604,E01029605,E01029606,E01029607,E01029608,E01029609,E01029610,E01029611,E01029612,E01029613,E01029614,E01029615,E01029616,E01029617,E01029618,E01029619,E01029620,E01029621,E01029622,E01029623,E01029624,E01029625,E01029626,E01029627,E01029628,E01029629,E01029630,E01029631,E01029632,E01029633,E01029634,E01029635,E01029636,E01029637,E01029638,E01029639,E01029640,E01029641,E01029642,E01029643,E01029644,E01029645,E01029646,E01029647,E01029648,E01029649,E01029650,E01029651,E01029652,E01029653,E01029654,E01029655,E01029656,E01029657,E01029658,E01029659,E01029660,E01029661,E01029662,E01029663,E01029664,E01029665,E01029666,E01029667,E01029668,E01029669,E01029670,E01029671,E01029672,E01029673,E01029674,E01029675,E01029676,E01029677,E01029678,E01029679,E01029680,E01029681,E01029682,E01029683,E01029684,E01029685,E01029686,E01029687,E01029688,E01029689,E01029690,E01029691,E01029692,E01029693,E01029694,E01029695,E01029696,E01029697,E01029698,E01029699,E01029700,E01029702,E01029703,E01029704,E01029705,E01029706,E01029707,E01029708,E01029709,E01029710,E01029711,E01029712,E01029713,E01029714,E01029715,E01029716,E01029717,E01029718,E01029719,E01029720,E01029721,E01029722,E01029723,E01029724,E01029725,E01029726,E01029727,E01029728,E01029729,E01029733,E01029734,E01029735,E01029736,E01029737,E01029738,E01029739,E01029740,E01029741,E01029742,E01029743,E01029744,E01029745,E01029746,E01029747,E01029748,E01029749,E01029750,E01029751,E01029752,E01029753,E01029754,E01029755,E01029756,E01029757,E01029758,E01029759,E01029760,E01029761,E01029762,E01029763,E01029764,E01029765,E01029766,E01029767,E01029768,E01029769,E01029770,E01029771,E01029772,E01029773,E01029774,E01029775,E01029776,E01029777,E01029778,E01029779,E01029780,E01029781,E01029782,E01029783,E01029784,E01029785,E01029786,E01029787,E01029788,E01029789,E01029790,E01029791,E01029792,E01029793,E01029794,E01029795,E01029796,E01029797,E01029798,E01029799,E01029800,E01029801,E01029802,E01029803,E01029804,E01029805,E01029806,E01029807,E01029808,E01029809,E01029810,E01029811,E01029812,E01029813,E01029814,E01029815,E01029816,E01029817,E01029818,E01029819,E01029820,E01029821,E01029822,E01029823,E01029824,E01029825,E01029826,E01029827,E01029828,E01029829,E01029830,E01029831,E01029832,E01029833,E01029834,E01029835,E01029836,E01029837,E01029838,E01029839,E01029840,E01029841,E01029842,E01029843,E01029844,E01029845,E01029846,E01029847,E01029848,E01029849,E01029850,E01029851,E01029852,E01029853,E01029854,E01029855,E01029856,E01029857,E01029858,E01029859,E01029860,E01029861,E01029862,E01029863,E01029864,E01029865,E01029867,E01029868,E01029869,E01029870,E01029871,E01029872,E01029873,E01029874,E01029875,E01029876,E01029877,E01029878,E01029879,E01029880,E01029881,E01029882,E01029883,E01029884,E01029885,E01029886,E01029887,E01029888,E01029889,E01029890,E01029891,E01029892,E01029894,E01029895,E01029896,E01029897,E01029898,E01029899,E01029900,E01029901,E01029902,E01029903,E01029904,E01029905,E01029906,E01029907,E01029908,E01029909,E01029910,E01029911,E01029912,E01029913,E01029914,E01029915,E01029916,E01029917,E01029918,E01029919,E01029920,E01029921,E01029922,E01029923,E01029925,E01029926,E01029927,E01029928,E01029929,E01029930,E01029937,E01029938,E01029939,E01029940,E01029941,E01029942,E01029944,E01029945,E01029946,E01029947,E01029949,E01029950,E01029951,E01029952,E01029953,E01029955,E01029956,E01029957,E01029958,E01029960,E01029961,E01029962,E01029963,E01029964,E01029965,E01029966,E01029967,E01029968,E01029969,E01029970,E01029971,E01029973,E01029974,E01029975,E01029976,E01029977,E01029978,E01029979,E01029980,E01029981,E01029982,E01029983,E01029984,E01029985,E01029986,E01029987,E01029988,E01029990,E01029991,E01029992,E01029994,E01029995,E01029996,E01029997,E01029998,E01029999,E01030000,E01030001,E01030002,E01030003,E01030004,E01030005,E01030006,E01030007,E01030008,E01030009,E01030010,E01030011,E01030012,E01030013,E01030014,E01030015,E01030016,E01030017,E01030018,E01030019,E01030020,E01030021,E01030022,E01030023,E01030024,E01030025,E01030026,E01030027,E01030028,E01030029,E01030030,E01030031,E01030032,E01030033,E01030034,E01030035&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_057.json.gz + content_sha256: a56380236b3ba115265d14756944f7e58b8d086c7b80300ffb55bceafca3dcef +- id: census_lsoa_tenure5a_bedrooms_058 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 058 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01030036,E01030037,E01030038,E01030039,E01030040,E01030041,E01030042,E01030043,E01030044,E01030045,E01030046,E01030047,E01030048,E01030049,E01030050,E01030051,E01030052,E01030053,E01030054,E01030055,E01030056,E01030057,E01030058,E01030059,E01030060,E01030061,E01030062,E01030063,E01030064,E01030065,E01030066,E01030067,E01030068,E01030069,E01030070,E01030071,E01030072,E01030073,E01030075,E01030076,E01030077,E01030078,E01030079,E01030080,E01030081,E01030083,E01030084,E01030085,E01030086,E01030087,E01030088,E01030089,E01030090,E01030091,E01030092,E01030093,E01030094,E01030095,E01030096,E01030097,E01030098,E01030099,E01030100,E01030101,E01030104,E01030105,E01030106,E01030107,E01030108,E01030109,E01030110,E01030111,E01030112,E01030113,E01030114,E01030115,E01030116,E01030117,E01030118,E01030119,E01030121,E01030122,E01030123,E01030124,E01030125,E01030127,E01030128,E01030129,E01030130,E01030131,E01030132,E01030133,E01030134,E01030135,E01030137,E01030138,E01030139,E01030140,E01030141,E01030142,E01030143,E01030144,E01030145,E01030146,E01030147,E01030148,E01030149,E01030150,E01030151,E01030152,E01030153,E01030154,E01030155,E01030158,E01030159,E01030160,E01030161,E01030162,E01030163,E01030164,E01030165,E01030166,E01030167,E01030168,E01030169,E01030170,E01030171,E01030172,E01030173,E01030174,E01030175,E01030176,E01030179,E01030180,E01030181,E01030183,E01030184,E01030185,E01030186,E01030187,E01030188,E01030189,E01030190,E01030191,E01030192,E01030193,E01030194,E01030195,E01030196,E01030197,E01030198,E01030199,E01030200,E01030201,E01030203,E01030204,E01030205,E01030206,E01030207,E01030208,E01030209,E01030210,E01030211,E01030212,E01030214,E01030215,E01030216,E01030217,E01030218,E01030219,E01030220,E01030221,E01030222,E01030223,E01030224,E01030225,E01030226,E01030227,E01030228,E01030229,E01030230,E01030231,E01030232,E01030233,E01030234,E01030235,E01030236,E01030237,E01030238,E01030239,E01030240,E01030241,E01030242,E01030243,E01030244,E01030245,E01030246,E01030247,E01030248,E01030249,E01030250,E01030251,E01030252,E01030253,E01030254,E01030255,E01030256,E01030257,E01030258,E01030259,E01030260,E01030261,E01030262,E01030263,E01030264,E01030265,E01030266,E01030267,E01030268,E01030269,E01030270,E01030271,E01030272,E01030273,E01030274,E01030275,E01030276,E01030277,E01030278,E01030279,E01030280,E01030281,E01030283,E01030285,E01030286,E01030287,E01030288,E01030289,E01030290,E01030291,E01030292,E01030293,E01030294,E01030295,E01030296,E01030297,E01030298,E01030299,E01030300,E01030301,E01030302,E01030303,E01030304,E01030305,E01030306,E01030307,E01030308,E01030309,E01030310,E01030311,E01030312,E01030313,E01030314,E01030315,E01030316,E01030317,E01030318,E01030319,E01030320,E01030321,E01030322,E01030323,E01030324,E01030325,E01030326,E01030327,E01030328,E01030329,E01030330,E01030331,E01030332,E01030333,E01030334,E01030335,E01030336,E01030337,E01030338,E01030339,E01030340,E01030341,E01030342,E01030343,E01030344,E01030345,E01030346,E01030347,E01030348,E01030349,E01030350,E01030351,E01030352,E01030353,E01030354,E01030355,E01030356,E01030357,E01030358,E01030360,E01030361,E01030362,E01030363,E01030364,E01030365,E01030366,E01030367,E01030368,E01030369,E01030370,E01030371,E01030372,E01030373,E01030374,E01030375,E01030376,E01030377,E01030378,E01030379,E01030380,E01030381,E01030382,E01030384,E01030385,E01030386,E01030387,E01030388,E01030389,E01030390,E01030391,E01030392,E01030393,E01030394,E01030395,E01030396,E01030398,E01030399,E01030400,E01030401,E01030402,E01030403,E01030404,E01030405,E01030406,E01030407,E01030408,E01030409,E01030410,E01030412,E01030413,E01030414,E01030415,E01030416,E01030417,E01030418,E01030419,E01030420,E01030421,E01030422,E01030423,E01030424,E01030425,E01030426,E01030427,E01030428,E01030429,E01030430,E01030431,E01030432,E01030433,E01030434,E01030435,E01030436,E01030437,E01030438,E01030439,E01030440,E01030441,E01030442,E01030443,E01030444,E01030445,E01030446,E01030447,E01030448,E01030449,E01030450,E01030451,E01030452,E01030453,E01030454,E01030455,E01030456,E01030457,E01030458,E01030459,E01030460,E01030461,E01030462,E01030463,E01030464,E01030465,E01030466,E01030467,E01030468,E01030469,E01030470,E01030471,E01030472,E01030473,E01030474,E01030475,E01030476,E01030477,E01030478,E01030479,E01030480,E01030481,E01030482,E01030483,E01030484,E01030485,E01030486,E01030487,E01030488,E01030489,E01030490,E01030491,E01030492,E01030493,E01030494,E01030495,E01030496,E01030497,E01030498,E01030499,E01030500,E01030501,E01030502,E01030503,E01030504,E01030505,E01030506,E01030507,E01030508,E01030509,E01030510,E01030511,E01030512,E01030513,E01030514,E01030515,E01030516,E01030517,E01030518,E01030519,E01030520,E01030521,E01030522,E01030523,E01030524,E01030525,E01030526,E01030527,E01030528,E01030529,E01030530,E01030531,E01030532,E01030533,E01030534,E01030535,E01030536,E01030537,E01030538,E01030539,E01030540,E01030541,E01030542,E01030543,E01030544,E01030545,E01030546,E01030547,E01030548,E01030549,E01030550,E01030551,E01030552,E01030553,E01030554,E01030555&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_058.json.gz + content_sha256: 8112e503327781f9fbabb6acde99a6bb7729b380ca9e384d356da3cb33924f70 +- id: census_lsoa_tenure5a_bedrooms_059 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 059 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01030556,E01030557,E01030558,E01030559,E01030560,E01030561,E01030562,E01030563,E01030564,E01030565,E01030566,E01030567,E01030568,E01030569,E01030570,E01030571,E01030572,E01030573,E01030574,E01030576,E01030577,E01030578,E01030579,E01030580,E01030581,E01030582,E01030583,E01030585,E01030586,E01030587,E01030588,E01030589,E01030590,E01030591,E01030592,E01030593,E01030594,E01030595,E01030596,E01030597,E01030598,E01030599,E01030600,E01030601,E01030602,E01030603,E01030604,E01030605,E01030606,E01030607,E01030608,E01030609,E01030610,E01030613,E01030614,E01030615,E01030616,E01030617,E01030618,E01030619,E01030620,E01030621,E01030622,E01030623,E01030624,E01030625,E01030626,E01030627,E01030628,E01030629,E01030630,E01030631,E01030632,E01030633,E01030634,E01030635,E01030636,E01030637,E01030638,E01030639,E01030640,E01030641,E01030642,E01030643,E01030644,E01030645,E01030646,E01030647,E01030648,E01030649,E01030650,E01030651,E01030652,E01030653,E01030654,E01030655,E01030656,E01030657,E01030658,E01030659,E01030660,E01030661,E01030662,E01030663,E01030664,E01030665,E01030666,E01030667,E01030668,E01030669,E01030670,E01030671,E01030672,E01030673,E01030674,E01030675,E01030676,E01030677,E01030678,E01030679,E01030680,E01030681,E01030682,E01030683,E01030684,E01030685,E01030686,E01030687,E01030688,E01030689,E01030690,E01030691,E01030692,E01030693,E01030694,E01030695,E01030696,E01030697,E01030698,E01030699,E01030700,E01030701,E01030702,E01030703,E01030704,E01030705,E01030706,E01030707,E01030708,E01030709,E01030710,E01030711,E01030712,E01030713,E01030714,E01030715,E01030716,E01030717,E01030718,E01030719,E01030720,E01030721,E01030722,E01030723,E01030724,E01030725,E01030726,E01030727,E01030728,E01030729,E01030730,E01030731,E01030732,E01030733,E01030734,E01030735,E01030737,E01030738,E01030739,E01030740,E01030741,E01030742,E01030743,E01030744,E01030745,E01030746,E01030747,E01030748,E01030749,E01030750,E01030751,E01030752,E01030753,E01030754,E01030755,E01030756,E01030757,E01030758,E01030759,E01030760,E01030761,E01030762,E01030763,E01030764,E01030765,E01030766,E01030767,E01030768,E01030769,E01030770,E01030771,E01030772,E01030773,E01030774,E01030775,E01030776,E01030777,E01030778,E01030779,E01030780,E01030781,E01030782,E01030783,E01030784,E01030785,E01030786,E01030787,E01030788,E01030789,E01030790,E01030791,E01030792,E01030793,E01030794,E01030795,E01030796,E01030797,E01030798,E01030799,E01030800,E01030801,E01030802,E01030803,E01030804,E01030805,E01030806,E01030807,E01030808,E01030809,E01030810,E01030811,E01030812,E01030813,E01030814,E01030815,E01030816,E01030817,E01030818,E01030819,E01030820,E01030821,E01030822,E01030823,E01030824,E01030825,E01030826,E01030827,E01030828,E01030829,E01030830,E01030831,E01030832,E01030833,E01030834,E01030835,E01030836,E01030837,E01030838,E01030839,E01030840,E01030841,E01030842,E01030843,E01030844,E01030845,E01030846,E01030847,E01030848,E01030850,E01030851,E01030852,E01030853,E01030854,E01030855,E01030856,E01030857,E01030858,E01030859,E01030861,E01030862,E01030863,E01030864,E01030865,E01030866,E01030867,E01030868,E01030869,E01030870,E01030871,E01030872,E01030873,E01030874,E01030875,E01030876,E01030877,E01030878,E01030879,E01030880,E01030881,E01030882,E01030883,E01030884,E01030885,E01030886,E01030887,E01030888,E01030889,E01030890,E01030891,E01030892,E01030893,E01030894,E01030895,E01030896,E01030897,E01030898,E01030899,E01030900,E01030901,E01030902,E01030903,E01030904,E01030905,E01030906,E01030907,E01030908,E01030909,E01030910,E01030911,E01030912,E01030913,E01030914,E01030915,E01030916,E01030917,E01030918,E01030919,E01030920,E01030921,E01030922,E01030923,E01030924,E01030925,E01030926,E01030927,E01030928,E01030929,E01030930,E01030931,E01030932,E01030933,E01030934,E01030935,E01030937,E01030938,E01030939,E01030940,E01030941,E01030942,E01030943,E01030944,E01030945,E01030946,E01030947,E01030948,E01030949,E01030950,E01030951,E01030952,E01030953,E01030954,E01030955,E01030956,E01030957,E01030958,E01030959,E01030960,E01030961,E01030962,E01030963,E01030964,E01030965,E01030966,E01030967,E01030968,E01030969,E01030970,E01030971,E01030972,E01030974,E01030975,E01030976,E01030977,E01030978,E01030979,E01030980,E01030981,E01030983,E01030984,E01030986,E01030987,E01030988,E01030989,E01030990,E01030991,E01030992,E01030994,E01030995,E01030996,E01030997,E01030998,E01030999,E01031000,E01031001,E01031002,E01031003,E01031004,E01031005,E01031006,E01031007,E01031008,E01031009,E01031010,E01031011,E01031012,E01031013,E01031014,E01031015,E01031016,E01031017,E01031018,E01031019,E01031020,E01031021,E01031022,E01031023,E01031024,E01031025,E01031026,E01031027,E01031028,E01031029,E01031030,E01031031,E01031032,E01031033,E01031034,E01031035,E01031036,E01031037,E01031038,E01031039,E01031040,E01031041,E01031042,E01031043,E01031044,E01031045,E01031046,E01031047,E01031048,E01031049,E01031050,E01031051,E01031052,E01031053,E01031054,E01031055,E01031056,E01031057,E01031058,E01031059,E01031060,E01031061,E01031062,E01031063,E01031064,E01031065,E01031066,E01031067&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_059.json.gz + content_sha256: 9261bad8eaaf0c057542f5d1ba0ccd54045fb9f7c53dc91c7adc87381710d64e +- id: census_lsoa_tenure5a_bedrooms_060 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 060 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01031068,E01031069,E01031070,E01031073,E01031074,E01031075,E01031077,E01031078,E01031079,E01031080,E01031081,E01031082,E01031083,E01031084,E01031085,E01031086,E01031087,E01031088,E01031089,E01031090,E01031091,E01031092,E01031093,E01031094,E01031095,E01031096,E01031097,E01031098,E01031099,E01031100,E01031101,E01031102,E01031104,E01031105,E01031106,E01031107,E01031108,E01031109,E01031110,E01031111,E01031112,E01031114,E01031115,E01031116,E01031117,E01031118,E01031119,E01031120,E01031121,E01031122,E01031123,E01031124,E01031125,E01031127,E01031129,E01031130,E01031131,E01031132,E01031133,E01031134,E01031135,E01031136,E01031137,E01031138,E01031139,E01031140,E01031142,E01031143,E01031144,E01031145,E01031146,E01031148,E01031149,E01031150,E01031151,E01031152,E01031153,E01031154,E01031155,E01031156,E01031157,E01031158,E01031159,E01031160,E01031161,E01031162,E01031163,E01031165,E01031166,E01031167,E01031168,E01031169,E01031170,E01031171,E01031172,E01031173,E01031174,E01031175,E01031176,E01031177,E01031178,E01031179,E01031180,E01031181,E01031182,E01031183,E01031184,E01031185,E01031186,E01031187,E01031188,E01031189,E01031190,E01031191,E01031192,E01031193,E01031194,E01031195,E01031196,E01031197,E01031198,E01031199,E01031200,E01031201,E01031202,E01031203,E01031204,E01031205,E01031206,E01031207,E01031208,E01031209,E01031210,E01031211,E01031213,E01031214,E01031215,E01031216,E01031217,E01031218,E01031219,E01031220,E01031221,E01031222,E01031223,E01031224,E01031225,E01031227,E01031228,E01031229,E01031231,E01031232,E01031233,E01031234,E01031235,E01031236,E01031237,E01031238,E01031239,E01031240,E01031241,E01031242,E01031243,E01031244,E01031245,E01031246,E01031247,E01031248,E01031249,E01031251,E01031252,E01031253,E01031254,E01031255,E01031256,E01031257,E01031258,E01031259,E01031260,E01031261,E01031262,E01031263,E01031264,E01031265,E01031266,E01031267,E01031268,E01031269,E01031271,E01031272,E01031273,E01031274,E01031275,E01031276,E01031277,E01031278,E01031279,E01031280,E01031281,E01031282,E01031283,E01031284,E01031285,E01031286,E01031287,E01031288,E01031289,E01031290,E01031291,E01031292,E01031293,E01031294,E01031295,E01031296,E01031297,E01031298,E01031299,E01031300,E01031301,E01031302,E01031303,E01031304,E01031305,E01031306,E01031307,E01031308,E01031309,E01031310,E01031311,E01031312,E01031313,E01031314,E01031315,E01031316,E01031317,E01031319,E01031320,E01031321,E01031322,E01031323,E01031324,E01031325,E01031327,E01031328,E01031329,E01031330,E01031331,E01031332,E01031333,E01031334,E01031335,E01031336,E01031337,E01031338,E01031339,E01031340,E01031341,E01031342,E01031343,E01031344,E01031345,E01031346,E01031347,E01031348,E01031349,E01031350,E01031351,E01031352,E01031353,E01031354,E01031355,E01031356,E01031357,E01031358,E01031359,E01031360,E01031361,E01031362,E01031363,E01031364,E01031365,E01031366,E01031367,E01031368,E01031369,E01031370,E01031371,E01031372,E01031373,E01031374,E01031375,E01031376,E01031377,E01031378,E01031379,E01031380,E01031381,E01031382,E01031383,E01031384,E01031385,E01031386,E01031387,E01031389,E01031390,E01031391,E01031392,E01031393,E01031394,E01031395,E01031396,E01031397,E01031398,E01031399,E01031400,E01031402,E01031403,E01031404,E01031405,E01031406,E01031407,E01031408,E01031409,E01031410,E01031411,E01031412,E01031413,E01031414,E01031415,E01031416,E01031417,E01031418,E01031419,E01031420,E01031422,E01031423,E01031424,E01031425,E01031426,E01031427,E01031428,E01031429,E01031430,E01031431,E01031432,E01031433,E01031434,E01031435,E01031436,E01031437,E01031438,E01031439,E01031440,E01031441,E01031442,E01031443,E01031444,E01031445,E01031446,E01031447,E01031448,E01031449,E01031450,E01031451,E01031452,E01031453,E01031454,E01031455,E01031456,E01031457,E01031458,E01031459,E01031460,E01031461,E01031462,E01031463,E01031464,E01031465,E01031466,E01031469,E01031470,E01031471,E01031472,E01031473,E01031474,E01031475,E01031476,E01031477,E01031478,E01031479,E01031480,E01031481,E01031482,E01031483,E01031484,E01031485,E01031486,E01031487,E01031489,E01031490,E01031491,E01031492,E01031493,E01031494,E01031495,E01031496,E01031497,E01031498,E01031499,E01031500,E01031501,E01031502,E01031503,E01031504,E01031505,E01031506,E01031507,E01031508,E01031511,E01031512,E01031514,E01031515,E01031516,E01031517,E01031518,E01031519,E01031520,E01031521,E01031522,E01031523,E01031524,E01031525,E01031526,E01031527,E01031528,E01031529,E01031530,E01031531,E01031532,E01031533,E01031534,E01031535,E01031536,E01031538,E01031539,E01031540,E01031541,E01031542,E01031543,E01031544,E01031545,E01031546,E01031547,E01031548,E01031549,E01031550,E01031551,E01031552,E01031553,E01031554,E01031555,E01031556,E01031557,E01031558,E01031559,E01031560,E01031561,E01031562,E01031563,E01031564,E01031565,E01031566,E01031567,E01031568,E01031569,E01031570,E01031571,E01031572,E01031573,E01031574,E01031575,E01031576,E01031577,E01031578,E01031579,E01031580,E01031581,E01031582,E01031583,E01031584,E01031585,E01031586,E01031588,E01031589,E01031590,E01031591,E01031592,E01031593,E01031594,E01031595&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_060.json.gz + content_sha256: a929fdf15d96a4626b78cf5b877ef64b67e5674df6e82f1f0a6dcb848549499b +- id: census_lsoa_tenure5a_bedrooms_061 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 061 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01031596,E01031597,E01031598,E01031599,E01031600,E01031601,E01031603,E01031604,E01031605,E01031606,E01031607,E01031608,E01031609,E01031610,E01031611,E01031612,E01031614,E01031615,E01031616,E01031617,E01031618,E01031620,E01031621,E01031622,E01031623,E01031624,E01031625,E01031626,E01031627,E01031628,E01031629,E01031630,E01031631,E01031632,E01031633,E01031634,E01031635,E01031638,E01031639,E01031640,E01031641,E01031642,E01031643,E01031644,E01031645,E01031646,E01031647,E01031648,E01031649,E01031650,E01031651,E01031652,E01031653,E01031654,E01031655,E01031656,E01031657,E01031658,E01031659,E01031660,E01031661,E01031662,E01031663,E01031664,E01031665,E01031666,E01031667,E01031668,E01031669,E01031670,E01031671,E01031672,E01031673,E01031674,E01031675,E01031677,E01031678,E01031679,E01031680,E01031681,E01031682,E01031683,E01031684,E01031685,E01031686,E01031687,E01031688,E01031689,E01031690,E01031691,E01031693,E01031694,E01031695,E01031696,E01031697,E01031698,E01031699,E01031700,E01031701,E01031702,E01031703,E01031704,E01031705,E01031706,E01031707,E01031708,E01031709,E01031710,E01031712,E01031713,E01031714,E01031715,E01031716,E01031717,E01031718,E01031719,E01031720,E01031721,E01031722,E01031723,E01031724,E01031725,E01031726,E01031727,E01031729,E01031730,E01031731,E01031732,E01031733,E01031734,E01031735,E01031736,E01031737,E01031738,E01031739,E01031740,E01031741,E01031743,E01031744,E01031745,E01031746,E01031747,E01031748,E01031749,E01031750,E01031751,E01031752,E01031753,E01031754,E01031755,E01031757,E01031758,E01031759,E01031760,E01031763,E01031764,E01031765,E01031766,E01031767,E01031768,E01031769,E01031770,E01031771,E01031772,E01031773,E01031774,E01031775,E01031776,E01031777,E01031778,E01031779,E01031780,E01031781,E01031782,E01031783,E01031785,E01031786,E01031787,E01031788,E01031790,E01031791,E01031792,E01031793,E01031794,E01031795,E01031796,E01031797,E01031798,E01031799,E01031800,E01031801,E01031802,E01031803,E01031804,E01031805,E01031806,E01031807,E01031808,E01031809,E01031810,E01031811,E01031812,E01031813,E01031814,E01031815,E01031816,E01031817,E01031818,E01031820,E01031821,E01031822,E01031823,E01031824,E01031825,E01031826,E01031827,E01031828,E01031829,E01031830,E01031831,E01031832,E01031833,E01031834,E01031835,E01031836,E01031837,E01031838,E01031839,E01031840,E01031841,E01031842,E01031843,E01031845,E01031846,E01031847,E01031848,E01031849,E01031850,E01031851,E01031852,E01031853,E01031854,E01031855,E01031856,E01031857,E01031858,E01031859,E01031860,E01031861,E01031862,E01031863,E01031864,E01031865,E01031866,E01031867,E01031868,E01031869,E01031870,E01031871,E01031872,E01031873,E01031874,E01031876,E01031877,E01031879,E01031882,E01031883,E01031884,E01031885,E01031886,E01031887,E01031888,E01031889,E01031890,E01031892,E01031893,E01031894,E01031895,E01031896,E01031897,E01031898,E01031901,E01031902,E01031903,E01031904,E01031905,E01031906,E01031907,E01031908,E01031909,E01031910,E01031911,E01031912,E01031913,E01031914,E01031915,E01031916,E01031917,E01031918,E01031919,E01031920,E01031921,E01031922,E01031923,E01031924,E01031925,E01031926,E01031927,E01031928,E01031929,E01031930,E01031931,E01031932,E01031933,E01031934,E01031935,E01031936,E01031937,E01031938,E01031939,E01031940,E01031941,E01031942,E01031944,E01031946,E01031947,E01031948,E01031949,E01031950,E01031951,E01031952,E01031955,E01031956,E01031957,E01031958,E01031959,E01031960,E01031961,E01031962,E01031963,E01031964,E01031965,E01031966,E01031967,E01031968,E01031969,E01031970,E01031971,E01031972,E01031973,E01031974,E01031975,E01031976,E01031978,E01031979,E01031980,E01031981,E01031982,E01031983,E01031984,E01031985,E01031986,E01031988,E01031989,E01031990,E01031991,E01031992,E01031993,E01031994,E01031995,E01031996,E01031997,E01031999,E01032000,E01032001,E01032002,E01032003,E01032004,E01032005,E01032006,E01032007,E01032008,E01032009,E01032010,E01032012,E01032013,E01032014,E01032015,E01032016,E01032017,E01032018,E01032019,E01032020,E01032021,E01032022,E01032023,E01032024,E01032025,E01032026,E01032027,E01032029,E01032030,E01032031,E01032032,E01032033,E01032034,E01032035,E01032036,E01032037,E01032038,E01032039,E01032040,E01032041,E01032042,E01032043,E01032044,E01032045,E01032046,E01032047,E01032048,E01032049,E01032051,E01032052,E01032053,E01032054,E01032055,E01032056,E01032057,E01032058,E01032059,E01032060,E01032061,E01032062,E01032063,E01032064,E01032065,E01032066,E01032067,E01032068,E01032069,E01032070,E01032072,E01032073,E01032074,E01032075,E01032076,E01032077,E01032078,E01032079,E01032080,E01032081,E01032082,E01032083,E01032085,E01032087,E01032088,E01032089,E01032090,E01032091,E01032092,E01032093,E01032094,E01032095,E01032096,E01032097,E01032098,E01032100,E01032101,E01032102,E01032103,E01032104,E01032105,E01032106,E01032107,E01032108,E01032109,E01032110,E01032111,E01032112,E01032113,E01032114,E01032115,E01032117,E01032118,E01032119,E01032121,E01032122,E01032123,E01032124,E01032125,E01032126,E01032127,E01032128,E01032129,E01032131,E01032132,E01032133,E01032134,E01032135,E01032136&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_061.json.gz + content_sha256: 224c3d13d6aedfdbbdc03f3d27d6c2f0c499387a5e2fc3e501ac4d29e6951613 +- id: census_lsoa_tenure5a_bedrooms_062 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 062 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01032137,E01032138,E01032139,E01032140,E01032141,E01032142,E01032143,E01032144,E01032145,E01032146,E01032147,E01032148,E01032149,E01032150,E01032151,E01032152,E01032153,E01032154,E01032155,E01032156,E01032157,E01032158,E01032159,E01032160,E01032161,E01032162,E01032168,E01032169,E01032170,E01032171,E01032172,E01032173,E01032174,E01032175,E01032176,E01032177,E01032178,E01032179,E01032180,E01032181,E01032182,E01032183,E01032184,E01032185,E01032186,E01032187,E01032188,E01032189,E01032190,E01032191,E01032192,E01032193,E01032194,E01032195,E01032196,E01032197,E01032198,E01032199,E01032200,E01032201,E01032202,E01032203,E01032204,E01032205,E01032206,E01032207,E01032208,E01032209,E01032210,E01032211,E01032212,E01032213,E01032214,E01032215,E01032216,E01032217,E01032218,E01032219,E01032220,E01032221,E01032222,E01032223,E01032224,E01032225,E01032226,E01032227,E01032228,E01032229,E01032230,E01032231,E01032232,E01032234,E01032235,E01032236,E01032237,E01032238,E01032239,E01032240,E01032241,E01032242,E01032243,E01032244,E01032245,E01032246,E01032247,E01032248,E01032249,E01032250,E01032251,E01032252,E01032253,E01032254,E01032255,E01032256,E01032257,E01032258,E01032259,E01032260,E01032261,E01032262,E01032263,E01032264,E01032265,E01032266,E01032267,E01032268,E01032269,E01032270,E01032271,E01032272,E01032273,E01032274,E01032275,E01032276,E01032277,E01032278,E01032279,E01032280,E01032281,E01032282,E01032283,E01032284,E01032285,E01032286,E01032287,E01032288,E01032289,E01032290,E01032292,E01032294,E01032296,E01032297,E01032298,E01032299,E01032300,E01032301,E01032302,E01032303,E01032304,E01032305,E01032306,E01032307,E01032308,E01032309,E01032310,E01032311,E01032312,E01032313,E01032314,E01032315,E01032316,E01032317,E01032318,E01032319,E01032320,E01032321,E01032322,E01032323,E01032324,E01032325,E01032326,E01032327,E01032328,E01032329,E01032330,E01032331,E01032332,E01032333,E01032334,E01032335,E01032336,E01032337,E01032338,E01032339,E01032340,E01032341,E01032342,E01032344,E01032345,E01032346,E01032347,E01032348,E01032349,E01032350,E01032351,E01032352,E01032353,E01032355,E01032356,E01032357,E01032358,E01032359,E01032360,E01032361,E01032363,E01032364,E01032365,E01032366,E01032367,E01032368,E01032369,E01032370,E01032371,E01032372,E01032373,E01032374,E01032375,E01032376,E01032377,E01032378,E01032379,E01032380,E01032381,E01032382,E01032383,E01032384,E01032385,E01032386,E01032387,E01032388,E01032389,E01032390,E01032391,E01032392,E01032393,E01032394,E01032395,E01032396,E01032397,E01032398,E01032399,E01032400,E01032401,E01032402,E01032403,E01032404,E01032405,E01032406,E01032407,E01032408,E01032409,E01032410,E01032411,E01032412,E01032413,E01032414,E01032415,E01032416,E01032417,E01032418,E01032419,E01032420,E01032421,E01032422,E01032423,E01032424,E01032425,E01032426,E01032427,E01032428,E01032429,E01032430,E01032431,E01032432,E01032433,E01032434,E01032435,E01032436,E01032437,E01032438,E01032439,E01032440,E01032441,E01032442,E01032443,E01032444,E01032445,E01032446,E01032447,E01032448,E01032449,E01032451,E01032452,E01032453,E01032454,E01032455,E01032456,E01032457,E01032458,E01032459,E01032460,E01032461,E01032462,E01032463,E01032464,E01032465,E01032466,E01032467,E01032468,E01032469,E01032471,E01032472,E01032473,E01032474,E01032475,E01032476,E01032477,E01032478,E01032479,E01032480,E01032481,E01032482,E01032483,E01032484,E01032485,E01032486,E01032487,E01032488,E01032489,E01032490,E01032491,E01032492,E01032493,E01032494,E01032496,E01032497,E01032498,E01032499,E01032500,E01032501,E01032502,E01032503,E01032504,E01032505,E01032506,E01032507,E01032508,E01032509,E01032510,E01032511,E01032512,E01032513,E01032514,E01032515,E01032516,E01032517,E01032518,E01032519,E01032520,E01032522,E01032523,E01032524,E01032526,E01032527,E01032528,E01032529,E01032530,E01032532,E01032533,E01032534,E01032535,E01032536,E01032537,E01032538,E01032540,E01032541,E01032542,E01032543,E01032544,E01032545,E01032546,E01032548,E01032549,E01032551,E01032552,E01032554,E01032555,E01032556,E01032557,E01032558,E01032559,E01032560,E01032561,E01032562,E01032563,E01032564,E01032565,E01032566,E01032567,E01032568,E01032569,E01032570,E01032571,E01032572,E01032573,E01032574,E01032575,E01032576,E01032577,E01032579,E01032580,E01032581,E01032582,E01032583,E01032584,E01032585,E01032586,E01032587,E01032588,E01032589,E01032590,E01032591,E01032592,E01032593,E01032594,E01032595,E01032596,E01032597,E01032599,E01032600,E01032601,E01032602,E01032603,E01032604,E01032605,E01032606,E01032607,E01032608,E01032609,E01032610,E01032611,E01032612,E01032613,E01032614,E01032615,E01032616,E01032617,E01032618,E01032619,E01032620,E01032621,E01032622,E01032623,E01032624,E01032625,E01032626,E01032627,E01032628,E01032631,E01032632,E01032633,E01032634,E01032635,E01032636,E01032637,E01032638,E01032639,E01032640,E01032643,E01032644,E01032645,E01032646,E01032647,E01032648,E01032649,E01032650,E01032651,E01032652,E01032653,E01032655,E01032656,E01032657,E01032658,E01032659,E01032660,E01032661,E01032662,E01032664,E01032665,E01032666&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_062.json.gz + content_sha256: 43fd1e175a047cab541de95c0bc759a0b2da9f654aa497688f2a66c41036bbaf +- id: census_lsoa_tenure5a_bedrooms_063 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 063 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01032667,E01032668,E01032669,E01032670,E01032671,E01032672,E01032673,E01032675,E01032676,E01032677,E01032678,E01032679,E01032680,E01032681,E01032682,E01032683,E01032684,E01032688,E01032689,E01032690,E01032691,E01032692,E01032693,E01032694,E01032695,E01032696,E01032697,E01032699,E01032700,E01032701,E01032702,E01032703,E01032704,E01032705,E01032706,E01032707,E01032708,E01032709,E01032710,E01032711,E01032712,E01032713,E01032714,E01032715,E01032716,E01032719,E01032724,E01032726,E01032728,E01032729,E01032730,E01032731,E01032732,E01032733,E01032734,E01032735,E01032737,E01032738,E01032739,E01032740,E01032741,E01032742,E01032743,E01032744,E01032745,E01032746,E01032748,E01032750,E01032751,E01032753,E01032755,E01032759,E01032764,E01032765,E01032767,E01032768,E01032769,E01032770,E01032771,E01032772,E01032774,E01032775,E01032776,E01032777,E01032779,E01032780,E01032781,E01032782,E01032783,E01032784,E01032785,E01032786,E01032787,E01032788,E01032789,E01032790,E01032792,E01032794,E01032799,E01032800,E01032802,E01032803,E01032807,E01032808,E01032810,E01032811,E01032812,E01032813,E01032814,E01032815,E01032816,E01032817,E01032818,E01032819,E01032820,E01032821,E01032822,E01032823,E01032824,E01032825,E01032826,E01032827,E01032828,E01032829,E01032830,E01032831,E01032832,E01032833,E01032834,E01032835,E01032836,E01032837,E01032838,E01032839,E01032841,E01032842,E01032843,E01032844,E01032845,E01032846,E01032847,E01032848,E01032849,E01032850,E01032852,E01032853,E01032854,E01032855,E01032856,E01032857,E01032858,E01032859,E01032860,E01032862,E01032863,E01032865,E01032868,E01032870,E01032871,E01032872,E01032873,E01032876,E01032877,E01032878,E01032879,E01032880,E01032881,E01032883,E01032884,E01032885,E01032886,E01032888,E01032891,E01032893,E01032894,E01032895,E01032896,E01032897,E01032898,E01032899,E01032900,E01032901,E01032902,E01032904,E01032905,E01032906,E01032909,E01032912,E01032914,E01032915,E01032920,E01032922,E01032923,E01032924,E01032925,E01032926,E01032927,E01032930,E01032931,E01032932,E01032933,E01032935,E01032937,E01032938,E01032939,E01032940,E01032941,E01032942,E01032943,E01032944,E01032946,E01032947,E01032948,E01032949,E01032950,E01032951,E01032952,E01032953,E01032955,E01032956,E01032957,E01032958,E01032961,E01032962,E01032963,E01032964,E01032965,E01032966,E01032967,E01032969,E01032970,E01032971,E01032972,E01032973,E01032974,E01032976,E01032978,E01032979,E01032980,E01032981,E01032982,E01032983,E01032984,E01032985,E01032986,E01032987,E01032988,E01032989,E01032991,E01032992,E01032993,E01032994,E01032995,E01032996,E01032997,E01032998,E01032999,E01033000,E01033002,E01033003,E01033008,E01033010,E01033011,E01033013,E01033015,E01033016,E01033021,E01033022,E01033023,E01033024,E01033025,E01033026,E01033027,E01033028,E01033029,E01033030,E01033031,E01033033,E01033034,E01033035,E01033036,E01033037,E01033038,E01033039,E01033040,E01033041,E01033042,E01033043,E01033044,E01033045,E01033046,E01033047,E01033048,E01033049,E01033050,E01033051,E01033052,E01033053,E01033054,E01033055,E01033056,E01033058,E01033059,E01033060,E01033061,E01033062,E01033063,E01033064,E01033067,E01033068,E01033069,E01033070,E01033071,E01033072,E01033073,E01033076,E01033077,E01033078,E01033079,E01033080,E01033081,E01033082,E01033083,E01033084,E01033086,E01033087,E01033088,E01033089,E01033091,E01033092,E01033094,E01033095,E01033097,E01033098,E01033099,E01033100,E01033102,E01033103,E01033104,E01033105,E01033107,E01033109,E01033111,E01033112,E01033113,E01033114,E01033115,E01033116,E01033117,E01033118,E01033120,E01033121,E01033122,E01033123,E01033124,E01033125,E01033126,E01033127,E01033128,E01033129,E01033130,E01033131,E01033132,E01033133,E01033135,E01033137,E01033138,E01033139,E01033140,E01033142,E01033144,E01033145,E01033146,E01033148,E01033150,E01033151,E01033156,E01033158,E01033160,E01033161,E01033163,E01033166,E01033167,E01033168,E01033169,E01033170,E01033171,E01033172,E01033173,E01033174,E01033175,E01033177,E01033179,E01033180,E01033181,E01033182,E01033184,E01033185,E01033186,E01033188,E01033189,E01033190,E01033191,E01033192,E01033195,E01033197,E01033198,E01033200,E01033205,E01033206,E01033208,E01033209,E01033210,E01033211,E01033212,E01033213,E01033214,E01033215,E01033217,E01033218,E01033219,E01033220,E01033223,E01033224,E01033226,E01033228,E01033229,E01033232,E01033234,E01033235,E01033236,E01033237,E01033239,E01033241,E01033242,E01033243,E01033244,E01033245,E01033246,E01033247,E01033248,E01033249,E01033250,E01033251,E01033252,E01033253,E01033254,E01033255,E01033256,E01033257,E01033259,E01033260,E01033261,E01033262,E01033263,E01033264,E01033265,E01033268,E01033269,E01033270,E01033271,E01033272,E01033273,E01033274,E01033275,E01033276,E01033277,E01033279,E01033280,E01033281,E01033283,E01033285,E01033286,E01033288,E01033289,E01033291,E01033292,E01033294,E01033296,E01033297,E01033299,E01033300,E01033302,E01033303,E01033305,E01033306,E01033308,E01033310,E01033311,E01033313,E01033314,E01033316,E01033317,E01033319,E01033320,E01033322,E01033324,E01033325,E01033327,E01033328&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_063.json.gz + content_sha256: c6f2e01d108b961bbf608e60e0a774d2d5194e913f13ddd5806f9c89118c4a34 +- id: census_lsoa_tenure5a_bedrooms_064 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 064 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01033329,E01033330,E01033334,E01033336,E01033338,E01033339,E01033341,E01033342,E01033344,E01033347,E01033348,E01033350,E01033352,E01033353,E01033356,E01033358,E01033359,E01033361,E01033362,E01033364,E01033366,E01033367,E01033369,E01033370,E01033372,E01033373,E01033375,E01033376,E01033378,E01033380,E01033381,E01033383,E01033384,E01033386,E01033387,E01033388,E01033389,E01033390,E01033391,E01033392,E01033394,E01033395,E01033396,E01033397,E01033398,E01033399,E01033400,E01033402,E01033407,E01033409,E01033410,E01033411,E01033412,E01033413,E01033414,E01033415,E01033417,E01033418,E01033420,E01033421,E01033422,E01033423,E01033425,E01033426,E01033427,E01033429,E01033430,E01033431,E01033434,E01033435,E01033436,E01033437,E01033438,E01033440,E01033441,E01033442,E01033443,E01033444,E01033445,E01033446,E01033447,E01033448,E01033449,E01033450,E01033452,E01033454,E01033455,E01033456,E01033457,E01033458,E01033459,E01033460,E01033461,E01033462,E01033463,E01033465,E01033466,E01033467,E01033469,E01033470,E01033471,E01033472,E01033473,E01033474,E01033475,E01033476,E01033479,E01033480,E01033481,E01033482,E01033485,E01033486,E01033487,E01033488,E01033489,E01033490,E01033491,E01033493,E01033494,E01033495,E01033496,E01033497,E01033498,E01033499,E01033500,E01033501,E01033503,E01033506,E01033508,E01033511,E01033514,E01033515,E01033517,E01033519,E01033520,E01033522,E01033523,E01033526,E01033527,E01033528,E01033530,E01033532,E01033533,E01033534,E01033535,E01033536,E01033537,E01033539,E01033540,E01033541,E01033543,E01033545,E01033547,E01033548,E01033550,E01033551,E01033553,E01033556,E01033557,E01033559,E01033561,E01033562,E01033564,E01033565,E01033567,E01033569,E01033570,E01033571,E01033579,E01033580,E01033581,E01033582,E01033584,E01033586,E01033587,E01033589,E01033590,E01033591,E01033592,E01033593,E01033594,E01033597,E01033598,E01033599,E01033601,E01033602,E01033603,E01033604,E01033605,E01033609,E01033610,E01033611,E01033612,E01033613,E01033614,E01033615,E01033616,E01033617,E01033618,E01033620,E01033622,E01033623,E01033624,E01033625,E01033626,E01033627,E01033629,E01033630,E01033638,E01033640,E01033642,E01033643,E01033646,E01033648,E01033649,E01033650,E01033651,E01033653,E01033654,E01033655,E01033656,E01033658,E01033660,E01033661,E01033662,E01033664,E01033665,E01033667,E01033668,E01033669,E01033670,E01033671,E01033672,E01033673,E01033674,E01033675,E01033676,E01033677,E01033678,E01033679,E01033680,E01033681,E01033682,E01033684,E01033685,E01033686,E01033687,E01033688,E01033689,E01033690,E01033691,E01033692,E01033693,E01033694,E01033695,E01033696,E01033697,E01033699,E01033700,E01033702,E01033703,E01033704,E01033705,E01033706,E01033708,E01033709,E01033710,E01033711,E01033712,E01033713,E01033714,E01033715,E01033716,E01033717,E01033718,E01033719,E01033720,E01033721,E01033722,E01033727,E01033728,E01033729,E01033732,E01033734,E01033735,E01033736,E01033737,E01033738,E01033739,E01033740,E01033741,E01033742,E01033743,E01033744,E01033745,E01033746,E01033747,E01033748,E01033750,E01033751,E01033756,E01033757,E01033758,E01033760,E01033761,E01033762,E01033763,E01033765,E01033767,E01033768,E01033769,E01033770,E01033771,E01033772,E01033773,E01033774,E01033775,E01033776,E01033777,E01033778,E01033779,E01033780,E01033781,E01033782,E01033783,E01033784,E01033785,E01033786,E01033787,E01033788,E01033789,E01033790,E01033791,E01033792,E01033793,E01033794,E01033795,E01033796,E01033797,E01033798,E01033799,E01033800,E01033801,E01033802,E01033803,E01033804,E01033805,E01033806,E01033807,E01033808,E01033809,E01033810,E01033811,E01033812,E01033813,E01033814,E01033815,E01033816,E01033817,E01033818,E01033819,E01033820,E01033821,E01033822,E01033823,E01033824,E01033825,E01033826,E01033827,E01033828,E01033829,E01033830,E01033831,E01033832,E01033833,E01033834,E01033835,E01033836,E01033837,E01033838,E01033839,E01033840,E01033841,E01033842,E01033843,E01033844,E01033845,E01033846,E01033847,E01033848,E01033849,E01033850,E01033851,E01033852,E01033853,E01033854,E01033855,E01033856,E01033857,E01033858,E01033859,E01033860,E01033861,E01033862,E01033863,E01033864,E01033865,E01033866,E01033867,E01033868,E01033869,E01033870,E01033871,E01033872,E01033873,E01033874,E01033875,E01033876,E01033877,E01033878,E01033879,E01033880,E01033881,E01033882,E01033883,E01033884,E01033885,E01033886,E01033887,E01033888,E01033889,E01033890,E01033891,E01033892,E01033893,E01033894,E01033895,E01033896,E01033897,E01033898,E01033899,E01033900,E01033901,E01033902,E01033903,E01033904,E01033905,E01033906,E01033907,E01033908,E01033909,E01033910,E01033911,E01033912,E01033913,E01033914,E01033915,E01033916,E01033917,E01033918,E01033919,E01033920,E01033921,E01033922,E01033923,E01033924,E01033925,E01033926,E01033927,E01033928,E01033929,E01033930,E01033931,E01033932,E01033933,E01033934,E01033935,E01033936,E01033937,E01033938,E01033939,E01033940,E01033941,E01033942,E01033943,E01033944,E01033945,E01033946,E01033947,E01033948,E01033949,E01033950,E01033951,E01033952,E01033953,E01033954,E01033955,E01033956,E01033957,E01033958&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_064.json.gz + content_sha256: 85d74d6f7105f986cede580cdd5104f002ec7e2d74775bba5b55284a3b82ce63 +- id: census_lsoa_tenure5a_bedrooms_065 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 065 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01033959,E01033960,E01033961,E01033962,E01033963,E01033964,E01033965,E01033966,E01033967,E01033968,E01033969,E01033970,E01033971,E01033972,E01033973,E01033974,E01033975,E01033976,E01033977,E01033978,E01033979,E01033980,E01033981,E01033982,E01033983,E01033984,E01033985,E01033986,E01033987,E01033988,E01033989,E01033990,E01033991,E01033992,E01033993,E01033994,E01033995,E01033996,E01033997,E01033998,E01033999,E01034000,E01034001,E01034002,E01034003,E01034004,E01034005,E01034006,E01034007,E01034008,E01034009,E01034010,E01034011,E01034012,E01034013,E01034014,E01034015,E01034016,E01034017,E01034018,E01034019,E01034020,E01034021,E01034022,E01034023,E01034024,E01034025,E01034026,E01034027,E01034028,E01034029,E01034030,E01034031,E01034032,E01034033,E01034034,E01034035,E01034036,E01034037,E01034038,E01034039,E01034040,E01034041,E01034042,E01034043,E01034044,E01034045,E01034046,E01034047,E01034048,E01034049,E01034050,E01034051,E01034052,E01034053,E01034054,E01034055,E01034056,E01034057,E01034058,E01034059,E01034060,E01034061,E01034062,E01034063,E01034064,E01034065,E01034066,E01034067,E01034068,E01034069,E01034070,E01034071,E01034072,E01034073,E01034074,E01034075,E01034076,E01034077,E01034078,E01034079,E01034080,E01034081,E01034082,E01034083,E01034084,E01034085,E01034086,E01034087,E01034088,E01034089,E01034090,E01034091,E01034092,E01034093,E01034094,E01034095,E01034096,E01034097,E01034098,E01034099,E01034100,E01034101,E01034102,E01034103,E01034104,E01034105,E01034106,E01034107,E01034108,E01034109,E01034110,E01034111,E01034112,E01034113,E01034114,E01034115,E01034116,E01034117,E01034118,E01034119,E01034120,E01034121,E01034122,E01034123,E01034124,E01034125,E01034126,E01034127,E01034128,E01034129,E01034130,E01034131,E01034132,E01034133,E01034134,E01034135,E01034136,E01034137,E01034138,E01034139,E01034140,E01034141,E01034142,E01034143,E01034144,E01034145,E01034146,E01034147,E01034148,E01034149,E01034150,E01034151,E01034152,E01034153,E01034154,E01034155,E01034156,E01034157,E01034158,E01034159,E01034160,E01034161,E01034162,E01034165,E01034166,E01034167,E01034168,E01034169,E01034170,E01034171,E01034172,E01034173,E01034174,E01034175,E01034176,E01034177,E01034178,E01034179,E01034180,E01034181,E01034182,E01034183,E01034184,E01034185,E01034186,E01034187,E01034188,E01034189,E01034190,E01034191,E01034192,E01034193,E01034194,E01034195,E01034196,E01034198,E01034199,E01034200,E01034201,E01034202,E01034203,E01034204,E01034205,E01034206,E01034207,E01034208,E01034209,E01034210,E01034211,E01034212,E01034213,E01034214,E01034215,E01034216,E01034217,E01034218,E01034219,E01034220,E01034221,E01034222,E01034223,E01034224,E01034225,E01034226,E01034227,E01034228,E01034229,E01034230,E01034231,E01034232,E01034233,E01034234,E01034235,E01034236,E01034237,E01034238,E01034239,E01034240,E01034241,E01034242,E01034243,E01034244,E01034245,E01034246,E01034247,E01034248,E01034249,E01034250,E01034251,E01034252,E01034253,E01034254,E01034255,E01034256,E01034257,E01034258,E01034259,E01034260,E01034261,E01034262,E01034263,E01034264,E01034265,E01034266,E01034267,E01034268,E01034269,E01034270,E01034271,E01034272,E01034273,E01034274,E01034275,E01034276,E01034277,E01034278,E01034279,E01034280,E01034281,E01034282,E01034283,E01034284,E01034285,E01034286,E01034287,E01034288,E01034289,E01034290,E01034291,E01034292,E01034293,E01034294,E01034295,E01034296,E01034297,E01034298,E01034299,E01034300,E01034301,E01034302,E01034303,E01034304,E01034305,E01034306,E01034307,E01034308,E01034309,E01034310,E01034311,E01034312,E01034313,E01034314,E01034315,E01034316,E01034317,E01034318,E01034319,E01034320,E01034321,E01034322,E01034323,E01034324,E01034325,E01034326,E01034327,E01034328,E01034329,E01034330,E01034331,E01034332,E01034333,E01034334,E01034335,E01034336,E01034337,E01034338,E01034339,E01034340,E01034341,E01034342,E01034343,E01034344,E01034345,E01034346,E01034347,E01034348,E01034349,E01034350,E01034351,E01034352,E01034353,E01034354,E01034355,E01034356,E01034357,E01034358,E01034359,E01034360,E01034361,E01034362,E01034363,E01034364,E01034365,E01034366,E01034367,E01034368,E01034369,E01034370,E01034371,E01034372,E01034373,E01034374,E01034375,E01034376,E01034377,E01034378,E01034379,E01034380,E01034381,E01034382,E01034383,E01034384,E01034385,E01034386,E01034387,E01034388,E01034389,E01034390,E01034391,E01034392,E01034393,E01034394,E01034395,E01034396,E01034397,E01034398,E01034399,E01034400,E01034401,E01034402,E01034403,E01034404,E01034405,E01034406,E01034407,E01034408,E01034409,E01034410,E01034411,E01034412,E01034413,E01034414,E01034415,E01034416,E01034417,E01034418,E01034419,E01034420,E01034421,E01034422,E01034423,E01034424,E01034425,E01034426,E01034427,E01034428,E01034429,E01034430,E01034431,E01034432,E01034433,E01034434,E01034435,E01034436,E01034437,E01034438,E01034439,E01034440,E01034441,E01034442,E01034443,E01034444,E01034445,E01034446,E01034447,E01034448,E01034449,E01034450,E01034451,E01034452,E01034453,E01034454,E01034455,E01034456,E01034457,E01034458,E01034459,E01034460,E01034461&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_065.json.gz + content_sha256: 135531545463a7a2ed838c00370ff00ac7dcd18f9ec77be39c6e3770f6ac8569 +- id: census_lsoa_tenure5a_bedrooms_066 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 066 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01034462,E01034463,E01034464,E01034465,E01034466,E01034467,E01034468,E01034469,E01034470,E01034471,E01034472,E01034473,E01034474,E01034475,E01034476,E01034477,E01034478,E01034479,E01034480,E01034481,E01034482,E01034483,E01034484,E01034485,E01034486,E01034487,E01034488,E01034489,E01034490,E01034491,E01034492,E01034493,E01034494,E01034495,E01034496,E01034497,E01034498,E01034499,E01034500,E01034501,E01034502,E01034503,E01034504,E01034505,E01034506,E01034507,E01034508,E01034509,E01034510,E01034511,E01034512,E01034513,E01034514,E01034515,E01034516,E01034517,E01034518,E01034519,E01034520,E01034521,E01034522,E01034523,E01034524,E01034525,E01034526,E01034527,E01034528,E01034529,E01034530,E01034531,E01034532,E01034533,E01034534,E01034535,E01034536,E01034537,E01034538,E01034539,E01034540,E01034541,E01034542,E01034543,E01034544,E01034545,E01034546,E01034547,E01034548,E01034549,E01034550,E01034551,E01034552,E01034553,E01034554,E01034555,E01034556,E01034557,E01034558,E01034559,E01034560,E01034561,E01034562,E01034563,E01034564,E01034565,E01034566,E01034567,E01034568,E01034569,E01034570,E01034571,E01034572,E01034573,E01034574,E01034575,E01034576,E01034577,E01034578,E01034579,E01034580,E01034581,E01034582,E01034583,E01034584,E01034585,E01034586,E01034587,E01034588,E01034589,E01034590,E01034591,E01034592,E01034593,E01034594,E01034595,E01034596,E01034597,E01034598,E01034599,E01034600,E01034601,E01034602,E01034603,E01034604,E01034605,E01034606,E01034607,E01034608,E01034609,E01034610,E01034611,E01034612,E01034613,E01034614,E01034615,E01034616,E01034617,E01034618,E01034619,E01034620,E01034621,E01034622,E01034623,E01034624,E01034625,E01034626,E01034627,E01034628,E01034629,E01034630,E01034631,E01034632,E01034633,E01034634,E01034635,E01034636,E01034637,E01034638,E01034639,E01034640,E01034641,E01034642,E01034643,E01034644,E01034645,E01034646,E01034647,E01034648,E01034649,E01034650,E01034651,E01034652,E01034653,E01034654,E01034655,E01034656,E01034657,E01034658,E01034659,E01034660,E01034661,E01034662,E01034663,E01034664,E01034665,E01034666,E01034667,E01034668,E01034669,E01034670,E01034671,E01034672,E01034673,E01034674,E01034675,E01034676,E01034677,E01034678,E01034679,E01034680,E01034681,E01034682,E01034683,E01034684,E01034685,E01034686,E01034687,E01034688,E01034689,E01034690,E01034691,E01034692,E01034693,E01034694,E01034695,E01034696,E01034697,E01034698,E01034699,E01034700,E01034701,E01034702,E01034703,E01034704,E01034705,E01034706,E01034707,E01034708,E01034709,E01034710,E01034711,E01034712,E01034713,E01034714,E01034715,E01034716,E01034717,E01034718,E01034719,E01034720,E01034721,E01034722,E01034723,E01034724,E01034725,E01034726,E01034727,E01034728,E01034729,E01034730,E01034731,E01034732,E01034733,E01034734,E01034735,E01034736,E01034737,E01034738,E01034739,E01034740,E01034741,E01034742,E01034743,E01034744,E01034745,E01034746,E01034747,E01034748,E01034749,E01034750,E01034751,E01034752,E01034753,E01034754,E01034755,E01034756,E01034757,E01034758,E01034759,E01034760,E01034761,E01034762,E01034763,E01034764,E01034765,E01034766,E01034767,E01034768,E01034769,E01034770,E01034771,E01034772,E01034773,E01034774,E01034775,E01034776,E01034777,E01034778,E01034779,E01034780,E01034781,E01034782,E01034783,E01034784,E01034785,E01034786,E01034787,E01034788,E01034789,E01034790,E01034791,E01034792,E01034793,E01034794,E01034795,E01034796,E01034797,E01034798,E01034799,E01034800,E01034801,E01034802,E01034803,E01034804,E01034805,E01034806,E01034807,E01034808,E01034809,E01034810,E01034811,E01034812,E01034813,E01034814,E01034815,E01034816,E01034817,E01034818,E01034819,E01034820,E01034821,E01034822,E01034823,E01034824,E01034825,E01034826,E01034827,E01034828,E01034829,E01034830,E01034831,E01034832,E01034833,E01034834,E01034835,E01034836,E01034837,E01034838,E01034839,E01034840,E01034841,E01034842,E01034843,E01034844,E01034845,E01034846,E01034847,E01034848,E01034849,E01034850,E01034851,E01034852,E01034853,E01034854,E01034855,E01034856,E01034857,E01034858,E01034859,E01034860,E01034862,E01034863,E01034864,E01034865,E01034866,E01034867,E01034868,E01034869,E01034913,E01034914,E01034915,E01034916,E01034917,E01034918,E01034919,E01034920,E01034921,E01034922,E01034923,E01034924,E01034925,E01034926,E01034927,E01034928,E01034929,E01034930,E01034931,E01034932,E01034933,E01034934,E01034935,E01034936,E01034937,E01034938,E01034939,E01034940,E01034941,E01034942,E01034943,E01034944,E01034945,E01034946,E01034947,E01034948,E01034949,E01034950,E01034951,E01034952,E01034953,E01034954,E01034955,E01034956,E01034957,E01034958,E01034959,E01034960,E01034961,E01034962,E01034963,E01034964,E01034965,E01034966,E01034967,E01034968,E01034969,E01034970,E01034971,E01034972,E01034973,E01034974,E01034975,E01034976,E01034977,E01034978,E01034979,E01034980,E01034981,E01034982,E01034983,E01034984,E01034985,E01034986,E01034987,E01034988,E01034989,E01034990,E01034991,E01034992,E01034993,E01034994,E01034995,E01034996,E01034997,E01034998,E01034999,E01035000,E01035001,E01035002,E01035003,E01035004,E01035005&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_066.json.gz + content_sha256: 6bdd4223863583e57e40ff82659baf39ab5a7d0319a89c2bc90b1880c5d86c18 +- id: census_lsoa_tenure5a_bedrooms_067 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 067 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01035006,E01035007,E01035008,E01035009,E01035010,E01035011,E01035012,E01035013,E01035014,E01035015,E01035016,E01035017,E01035018,E01035019,E01035020,E01035021,E01035022,E01035023,E01035024,E01035025,E01035026,E01035027,E01035028,E01035029,E01035030,E01035031,E01035032,E01035033,E01035034,E01035035,E01035036,E01035037,E01035038,E01035039,E01035040,E01035041,E01035042,E01035043,E01035044,E01035045,E01035046,E01035047,E01035048,E01035049,E01035050,E01035051,E01035052,E01035053,E01035054,E01035055,E01035056,E01035057,E01035058,E01035059,E01035060,E01035061,E01035062,E01035063,E01035064,E01035065,E01035066,E01035067,E01035068,E01035069,E01035070,E01035071,E01035072,E01035073,E01035074,E01035075,E01035076,E01035077,E01035078,E01035079,E01035080,E01035081,E01035082,E01035083,E01035084,E01035085,E01035086,E01035087,E01035088,E01035089,E01035090,E01035091,E01035092,E01035093,E01035094,E01035095,E01035096,E01035097,E01035098,E01035099,E01035100,E01035101,E01035102,E01035103,E01035104,E01035105,E01035106,E01035107,E01035108,E01035109,E01035110,E01035111,E01035112,E01035113,E01035114,E01035115,E01035116,E01035117,E01035118,E01035119,E01035120,E01035121,E01035122,E01035123,E01035124,E01035125,E01035126,E01035127,E01035128,E01035129,E01035130,E01035131,E01035132,E01035133,E01035134,E01035135,E01035136,E01035137,E01035138,E01035139,E01035140,E01035141,E01035142,E01035143,E01035144,E01035145,E01035146,E01035147,E01035148,E01035149,E01035150,E01035151,E01035152,E01035153,E01035154,E01035155,E01035156,E01035157,E01035158,E01035159,E01035160,E01035161,E01035162,E01035163,E01035164,E01035165,E01035166,E01035167,E01035168,E01035169,E01035170,E01035171,E01035172,E01035173,E01035174,E01035175,E01035176,E01035177,E01035178,E01035179,E01035180,E01035181,E01035182,E01035183,E01035184,E01035185,E01035186,E01035187,E01035188,E01035189,E01035190,E01035191,E01035192,E01035193,E01035194,E01035195,E01035196,E01035197,E01035198,E01035199,E01035200,E01035201,E01035202,E01035203,E01035204,E01035205,E01035206,E01035207,E01035208,E01035209,E01035210,E01035211,E01035212,E01035213,E01035214,E01035215,E01035216,E01035217,E01035218,E01035219,E01035220,E01035221,E01035222,E01035223,E01035224,E01035225,E01035226,E01035227,E01035228,E01035229,E01035230,E01035231,E01035232,E01035233,E01035234,E01035235,E01035236,E01035237,E01035238,E01035239,E01035240,E01035241,E01035242,E01035243,E01035244,E01035245,E01035246,E01035247,E01035248,E01035249,E01035250,E01035251,E01035252,E01035253,E01035254,E01035255,E01035256,E01035257,E01035258,E01035259,E01035260,E01035261,E01035262,E01035263,E01035264,E01035265,E01035266,E01035267,E01035268,E01035269,E01035270,E01035271,E01035272,E01035273,E01035274,E01035275,E01035276,E01035277,E01035278,E01035279,E01035280,E01035281,E01035282,E01035283,E01035284,E01035285,E01035286,E01035287,E01035288,E01035289,E01035290,E01035291,E01035292,E01035293,E01035294,E01035295,E01035296,E01035297,E01035298,E01035299,E01035300,E01035301,E01035302,E01035303,E01035304,E01035305,E01035306,E01035307,E01035308,E01035309,E01035310,E01035311,E01035312,E01035313,E01035314,E01035315,E01035316,E01035317,E01035318,E01035319,E01035320,E01035321,E01035322,E01035323,E01035324,E01035325,E01035326,E01035327,E01035328,E01035329,E01035330,E01035331,E01035332,E01035333,E01035334,E01035335,E01035336,E01035337,E01035338,E01035339,E01035340,E01035341,E01035342,E01035343,E01035344,E01035345,E01035346,E01035347,E01035348,E01035349,E01035350,E01035351,E01035352,E01035353,E01035354,E01035355,E01035356,E01035357,E01035358,E01035359,E01035360,E01035361,E01035362,E01035363,E01035364,E01035365,E01035366,E01035367,E01035368,E01035369,E01035370,E01035371,E01035372,E01035373,E01035374,E01035375,E01035376,E01035377,E01035378,E01035379,E01035380,E01035381,E01035382,E01035383,E01035384,E01035385,E01035386,E01035387,E01035388,E01035389,E01035390,E01035391,E01035392,E01035393,E01035394,E01035395,E01035396,E01035397,E01035398,E01035399,E01035400,E01035401,E01035402,E01035403,E01035404,E01035405,E01035406,E01035407,E01035408,E01035409,E01035410,E01035411,E01035412,E01035413,E01035414,E01035415,E01035416,E01035417,E01035418,E01035419,E01035420,E01035421,E01035422,E01035423,E01035424,E01035425,E01035426,E01035427,E01035428,E01035429,E01035430,E01035431,E01035432,E01035433,E01035434,E01035435,E01035436,E01035437,E01035438,E01035439,E01035440,E01035441,E01035442,E01035443,E01035444,E01035445,E01035446,E01035447,E01035448,E01035449,E01035450,E01035451,E01035452,E01035453,E01035454,E01035455,E01035456,E01035457,E01035458,E01035459,E01035460,E01035461,E01035462,E01035463,E01035464,E01035465,E01035466,E01035467,E01035468,E01035469,E01035470,E01035471,E01035472,E01035473,E01035474,E01035475,E01035476,E01035477,E01035478,E01035479,E01035480,E01035481,E01035482,E01035483,E01035484,E01035485,E01035486,E01035487,E01035488,E01035489,E01035490,E01035491,E01035492,E01035493,E01035494,E01035495,E01035496,E01035497,E01035498,E01035499,E01035500,E01035501,E01035502,E01035503,E01035504,E01035505&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_067.json.gz + content_sha256: 5e778d7c2fe058e32b70bc5ed241f7e50ffdba4593dc28a8085389a43907cb96 +- id: census_lsoa_tenure5a_bedrooms_068 + publisher: Office for National Statistics + title: Census 2021 English LSOA21 households by 5a tenure and bedrooms, batch 068 + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,E01035506,E01035507,E01035508,E01035509,E01035510,E01035511,E01035512,E01035513,E01035514,E01035515,E01035516,E01035517,E01035518,E01035519,E01035520,E01035521,E01035522,E01035523,E01035524,E01035525,E01035526,E01035527,E01035528,E01035529,E01035530,E01035531,E01035532,E01035533,E01035534,E01035535,E01035536,E01035537,E01035538,E01035539,E01035540,E01035541,E01035542,E01035543,E01035544,E01035545,E01035546,E01035547,E01035548,E01035549,E01035551,E01035552,E01035553,E01035554,E01035555,E01035556,E01035557,E01035558,E01035559,E01035560,E01035561,E01035562,E01035563,E01035564,E01035565,E01035566,E01035567,E01035568,E01035569,E01035570,E01035571,E01035572,E01035573,E01035574,E01035575,E01035576,E01035577,E01035578,E01035579,E01035580,E01035581,E01035582,E01035583,E01035584,E01035585,E01035586,E01035587,E01035588,E01035589,E01035590,E01035591,E01035592,E01035593,E01035594,E01035595,E01035596,E01035597,E01035598,E01035599,E01035600,E01035601,E01035602,E01035603,E01035604,E01035605,E01035606,E01035607,E01035608,E01035609,E01035610,E01035611,E01035612,E01035613,E01035614,E01035615,E01035616,E01035617,E01035618,E01035619,E01035620,E01035621,E01035622,E01035623,E01035624,E01035625,E01035626,E01035627,E01035628,E01035629,E01035630,E01035631,E01035632,E01035633,E01035634,E01035635,E01035636,E01035637,E01035638,E01035639,E01035640,E01035641,E01035642,E01035643,E01035644,E01035645,E01035646,E01035647,E01035648,E01035649,E01035650,E01035651,E01035652,E01035653,E01035654,E01035655,E01035656,E01035657,E01035658,E01035659,E01035660,E01035661,E01035662,E01035663,E01035664,E01035665,E01035666,E01035667,E01035668,E01035669,E01035670,E01035671,E01035672,E01035673,E01035674,E01035675,E01035676,E01035677,E01035678,E01035679,E01035680,E01035681,E01035682,E01035683,E01035684,E01035685,E01035686,E01035687,E01035688,E01035689,E01035690,E01035691,E01035692,E01035693,E01035694,E01035695,E01035696,E01035697,E01035698,E01035699,E01035700,E01035701,E01035702,E01035703,E01035704,E01035705,E01035706,E01035707,E01035708,E01035709,E01035710,E01035711,E01035712,E01035713,E01035714,E01035715,E01035716,E01035717,E01035718,E01035719,E01035720,E01035721,E01035722,E01035723,E01035724,E01035725,E01035726,E01035727,E01035728,E01035729,E01035730,E01035731,E01035733,E01035734,E01035735,E01035736,E01035737,E01035738,E01035739,E01035740,E01035741,E01035742,E01035743,E01035744,E01035745,E01035746,E01035747,E01035748,E01035749,E01035750,E01035751,E01035752,E01035753,E01035754,E01035755,E01035756,E01035757,E01035758,E01035759,E01035760,E01035761,E01035762&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_lsoa_tenure5a_bedrooms_068.json.gz + content_sha256: 3c2d87d64a00c752c1ea0de6b14693fdae032b592992953c3a6d68ae0003cef3 +- id: ons_geo_lsoa21_pwc + publisher: Office for National Statistics + title: Lower layer Super Output Areas (December 2021) EW Population Weighted Centroids + url: https://open-geography-portalx-ons.hub.arcgis.com/api/download/v1/items/32729e42d05e4e23bc7e43a36aa4ae8b/shapefile?layers=0 + landing_page: https://geoportal.statistics.gov.uk/datasets/32729e42d05e4e23bc7e43a36aa4ae8b/about + sha256: 52ad61266629ca2a312c9840a93a12c4f76efa1162ac53d71cd942beaebf59c2 + licence: 'Open Government Licence v3.0; ONS Geography licence terms: https://www.ons.gov.uk/methodology/geography/licences' + notes: Official ONS V4 population-weighted centroids; source contains both ONS and Ordnance Survey IPR. + PWC for E01027305 was revised to reflect Boundary-Line topological improvements. + filename: ons_geo_lsoa21_pwc.zip +- id: ons_geo_oa21_lsoa21 + publisher: Office for National Statistics + title: Output Area (2021) to LSOA to MSOA to LAD (December 2021) Exact Fit Lookup in EW (V3) + url: https://open-geography-portalx-ons.hub.arcgis.com/api/download/v1/items/b9ca90c10aaa4b8d9791e9859a38ca67/csv?layers=0 + landing_page: https://geoportal.statistics.gov.uk/datasets/b9ca90c10aaa4b8d9791e9859a38ca67/about + sha256: 1b7e715936374c586efbe669d82e3f3d6d093dc5295c2d99ce6ea2349f85153a + licence: 'Open Government Licence v3.0; ONS Geography licence terms: https://www.ons.gov.uk/methodology/geography/licences' + notes: Official exact-fit OA21-to-LSOA21 hierarchy; join with ons_geo_oa21_region on OA21CD, require + all constituent OAs of each LSOA have one government office region. + filename: ons_geo_oa21_lsoa21.csv +- id: ons_geo_oa21_region + publisher: Office for National Statistics + title: Output Area (2021) to Region (December 2021) Exact Fit Lookup in EW + url: https://www.arcgis.com/sharing/rest/content/items/efda0d0e14da4badbd8bdf8ae31d2f00/data + landing_page: https://geoportal.statistics.gov.uk/datasets/efda0d0e14da4badbd8bdf8ae31d2f00/about + sha256: 87bc05c0f667e0578f052ab9f3a7f21628aa658c37a3bf3fba8e5482dd6b2f60 + licence: 'Open Government Licence v3.0; ONS Geography licence terms: https://www.ons.gov.uk/methodology/geography/licences' + notes: Official exact-fit OA21-to-government office region hierarchy; fields use RGN22 names despite + December 2021 title. + filename: ons_geo_oa21_region.csv +- id: voa_english_brma_may2020 + publisher: Valuation Office Agency + title: 'English BRMA GIS: Broad Rental Market Area boundary layer applicable May 2020' + url: https://assets.publishing.service.gov.uk/media/5ee0ef64d3bf7f1ec05388df/GML.zip + landing_page: https://www.gov.uk/government/publications/broad-rental-market-area-boundary-layer-for-geographical-information-system-gis-applicable-may-2020 + sha256: 66515b0a1403e4557e6501d2d5ada5e7e17b29deef2da9165ba515a66907f6c6 + licence: Open Government Licence v3.0 (GOV.UK publication footer; no separately stated file licence) + notes: Official VOA download published 4 June 2020 for May 2020. The ZIP contains GML and XSD, despite + the landing page calling it a shapefile. Direct XML parsing preserves all polygon members in nine + MultiPolygons incorrectly declared Polygon by the XSD, including 63 Kernow West components. Shapely + make_valid repairs self-intersections in Basingstoke, Exeter, Mid & West Dorset, Newbury, Oxford, + Reading and West Cheshire. All 152 BRMAs are valid and nonempty, EPSG:27700. + filename: brma_england_voa_may2020.zip +- id: ons_nomis_ts054 + publisher: Office for National Statistics + title: 'Census 2021 TS054 tenure of household: England and Wales bulk CSV release' + url: https://www.nomisweb.co.uk/output/census/2021/census2021-ts054.zip + landing_page: https://www.nomisweb.co.uk/output/census/2021/census2021-ts054.zip + sha256: aa07311021776a93fdd7e8f6b3ad261b919305ef821ae68174fb1a66b85304c2 + licence: Open Government Licence v3.0 + notes: 'Nomis Census 2021 TS054 bulk, metadata version 2. Exact private-rented totals per English and + Welsh LSOA21: private landlord/letting agency plus other private rented. Aggregate equals both components; + rent-free is excluded.' + filename: census_nomis_ts054.zip +- id: geo_lsoa21_wales_pwc + publisher: Office for National Statistics + title: 'Lower layer Super Output Areas (December 2021) EW Population Weighted Centroids: Welsh LSOAs' + url: https://services1.arcgis.com/ESMARspQHYMw9BZ9/arcgis/rest/services/LSOA_PopCentroids_EW_2021_V4/FeatureServer/0/query?where=LSOA21CD+LIKE+%27W%25%27&outFields=%2A&outSR=27700&returnGeometry=true&orderByFields=LSOA21CD&f=geojson + landing_page: https://www.data.gov.uk/dataset/e3e903a6-1864-4083-8837-017b6bdf8cc5/lower-layer-super-output-areas-december-2021-ew-population-weighted-centroids1 + sha256: 4a072579da4bc4913949d19e742009280ed8dbe97712e75dd9fc1a5c977291a3 + licence: Open Government Licence v3.0; contains Ordnance Survey and ONS intellectual property rights + notes: Unmodified ArcGIS GeoJSON response; 1,917 Welsh LSOAs selected by LSOA21CD LIKE W%; all fit below + 2,000 feature query limit. Spatial reference EPSG:27700. The V4 revision adjusts only an English centroid. + filename: geo_lsoa21_wales_pwc.geojson +- id: geo_brma_wales_2014 + publisher: Welsh Government / Rent Officers Wales + title: 'Broad Rental Market Areas (Wales): Rent Officers Wales release of 23 September 2014' + url: https://datashare.ed.ac.uk/bitstreams/c2fe4c38-fd3e-4498-a4f9-62ac32163311/download + landing_page: https://datashare.ed.ac.uk/handle/10283/2615?show=full + sha256: 49de861258ba945eb659648d2a040aef1e9089ac80374f0bf4e85fcb062edd6c + licence: Open Government Licence + notes: Third-party archived copy of an official Rent Officers Wales release, deposited at Edinburgh + DataShare by Owen Boswarva. ZIP encloses the official 23 September 2014 correspondence explicitly + granting OGL and stating that West Cheshire covers north-east Wales. The May 2012 ESRI shapefile is + used; depositor-created MapInfo files are excluded. Contains 22 Welsh BRMAs plus West Cheshire; make_valid + repairs three invalid geometries. + filename: geo_brma_wales_2014.zip +- id: census_wales_lsoa_tenure5a_bedrooms_001 + publisher: Office for National Statistics + title: 'Census 2021 Welsh LSOA households by tenure5a and bedrooms: batch 001' + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,W01000003,W01000004,W01000005,W01000006,W01000007,W01000008,W01000009,W01000010,W01000011,W01000012,W01000013,W01000014,W01000015,W01000016,W01000017,W01000018,W01000019,W01000021,W01000022,W01000023,W01000024,W01000025,W01000026,W01000027,W01000028,W01000029,W01000030,W01000031,W01000033,W01000034,W01000035,W01000036,W01000037,W01000038,W01000040,W01000041,W01000042,W01000044,W01000047,W01000050,W01000051,W01000052,W01000053,W01000054,W01000056,W01000057,W01000059,W01000060,W01000061,W01000062,W01000063,W01000064,W01000065,W01000066,W01000067,W01000068,W01000070,W01000071,W01000072,W01000073,W01000074,W01000075,W01000076,W01000077,W01000078,W01000080,W01000081,W01000082,W01000083,W01000084,W01000085,W01000086,W01000087,W01000088,W01000089,W01000090,W01000091,W01000092,W01000093,W01000094,W01000095,W01000096,W01000097,W01000098,W01000099,W01000100,W01000101,W01000102,W01000103,W01000104,W01000105,W01000106,W01000107,W01000108,W01000109,W01000110,W01000111,W01000112,W01000113,W01000114,W01000115,W01000116,W01000117,W01000118,W01000119,W01000121,W01000122,W01000123,W01000124,W01000125,W01000126,W01000127,W01000128,W01000129,W01000130,W01000131,W01000132,W01000133,W01000134,W01000135,W01000136,W01000137,W01000138,W01000139,W01000140,W01000141,W01000142,W01000143,W01000144,W01000145,W01000146,W01000147,W01000148,W01000149,W01000150,W01000151,W01000152,W01000153,W01000154,W01000155,W01000156,W01000157,W01000158,W01000159,W01000162,W01000163,W01000164,W01000165,W01000166,W01000167,W01000168,W01000169,W01000170,W01000171,W01000172,W01000173,W01000174,W01000175,W01000176,W01000177,W01000178,W01000179,W01000180,W01000181,W01000182,W01000183,W01000184,W01000185,W01000186,W01000187,W01000188,W01000189,W01000190,W01000191,W01000192,W01000193,W01000194,W01000195,W01000196,W01000197,W01000198,W01000199,W01000200,W01000201,W01000202,W01000203,W01000204,W01000205,W01000206,W01000207,W01000208,W01000209,W01000210,W01000211,W01000212,W01000213,W01000214,W01000215,W01000216,W01000217,W01000218,W01000219,W01000220,W01000221,W01000222,W01000223,W01000224,W01000225,W01000226,W01000227,W01000228,W01000229,W01000230,W01000231,W01000232,W01000233,W01000234,W01000235,W01000236,W01000237,W01000238,W01000239,W01000240,W01000241,W01000242,W01000243,W01000244,W01000245,W01000246,W01000247,W01000248,W01000249,W01000250,W01000251,W01000252,W01000253,W01000254,W01000255,W01000256,W01000257,W01000258,W01000259,W01000260,W01000261,W01000262,W01000263,W01000264,W01000265,W01000266,W01000267,W01000268,W01000269,W01000270,W01000271,W01000272,W01000273,W01000274,W01000275,W01000276,W01000277,W01000278,W01000279,W01000280,W01000281,W01000282,W01000283,W01000284,W01000285,W01000286,W01000287,W01000288,W01000289,W01000290,W01000291,W01000292,W01000293,W01000294,W01000295,W01000296,W01000297,W01000298,W01000299,W01000300,W01000301,W01000302,W01000303,W01000304,W01000305,W01000306,W01000307,W01000308,W01000309,W01000310,W01000311,W01000312,W01000313,W01000314,W01000315,W01000316,W01000317,W01000318,W01000319,W01000320,W01000321,W01000322,W01000323,W01000324,W01000325,W01000326,W01000327,W01000328,W01000329,W01000330,W01000331,W01000332,W01000333,W01000334,W01000335,W01000336,W01000337,W01000338,W01000339,W01000340,W01000341,W01000342,W01000343,W01000344,W01000345,W01000346,W01000347,W01000348,W01000349,W01000350,W01000351,W01000354,W01000355,W01000356,W01000359,W01000360,W01000361,W01000362,W01000363,W01000364,W01000365,W01000366,W01000367,W01000368,W01000369,W01000370,W01000371,W01000372,W01000373,W01000374,W01000375,W01000376,W01000377,W01000378,W01000379,W01000380,W01000381,W01000382,W01000384,W01000385,W01000386,W01000387,W01000388,W01000389,W01000390,W01000391,W01000392,W01000393,W01000394,W01000395,W01000398,W01000399,W01000400,W01000401,W01000402,W01000403,W01000404,W01000405,W01000406,W01000407,W01000408,W01000409,W01000410,W01000411,W01000412,W01000413,W01000414,W01000415,W01000416,W01000417,W01000418,W01000419,W01000420,W01000422,W01000423,W01000424,W01000425,W01000426,W01000427,W01000428,W01000429,W01000430,W01000431,W01000432,W01000433,W01000434,W01000438,W01000439,W01000440,W01000441,W01000442,W01000443,W01000444,W01000445,W01000446,W01000447,W01000448,W01000449,W01000450,W01000451,W01000452,W01000453,W01000454,W01000455,W01000456,W01000457,W01000458,W01000459,W01000460,W01000461,W01000464,W01000465,W01000466,W01000467,W01000470,W01000471,W01000472,W01000473,W01000474,W01000475,W01000476,W01000477,W01000478,W01000479,W01000480,W01000481,W01000482,W01000483,W01000484,W01000485,W01000486,W01000487,W01000488,W01000489,W01000492,W01000493,W01000494,W01000496,W01000497,W01000498,W01000499,W01000500,W01000501,W01000502,W01000503,W01000504,W01000505,W01000506,W01000507,W01000508,W01000509,W01000510,W01000511,W01000512,W01000513,W01000515,W01000516,W01000517,W01000518,W01000519,W01000522,W01000523,W01000524,W01000525,W01000527,W01000528,W01000531,W01000533,W01000534,W01000535,W01000536,W01000537,W01000538,W01000539,W01000540,W01000541,W01000542&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_wales_lsoa_tenure5a_bedrooms_001.json.gz + content_sha256: 349cc31457a195d673c7edf6ce46a3dfa5f02d344e783e3bcc099da800f7d861 +- id: census_wales_lsoa_tenure5a_bedrooms_002 + publisher: Office for National Statistics + title: 'Census 2021 Welsh LSOA households by tenure5a and bedrooms: batch 002' + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,W01000543,W01000545,W01000546,W01000547,W01000548,W01000549,W01000550,W01000551,W01000552,W01000553,W01000554,W01000555,W01000556,W01000557,W01000558,W01000559,W01000560,W01000561,W01000562,W01000563,W01000564,W01000565,W01000566,W01000567,W01000569,W01000570,W01000571,W01000572,W01000573,W01000574,W01000575,W01000576,W01000577,W01000578,W01000579,W01000580,W01000581,W01000582,W01000583,W01000584,W01000585,W01000586,W01000587,W01000588,W01000589,W01000590,W01000591,W01000592,W01000594,W01000595,W01000596,W01000597,W01000598,W01000599,W01000600,W01000601,W01000602,W01000603,W01000604,W01000605,W01000606,W01000607,W01000608,W01000609,W01000610,W01000611,W01000612,W01000613,W01000614,W01000617,W01000618,W01000619,W01000622,W01000623,W01000624,W01000625,W01000626,W01000627,W01000628,W01000629,W01000630,W01000631,W01000632,W01000633,W01000634,W01000635,W01000636,W01000637,W01000638,W01000639,W01000640,W01000641,W01000642,W01000643,W01000644,W01000645,W01000646,W01000647,W01000648,W01000649,W01000650,W01000651,W01000652,W01000653,W01000654,W01000655,W01000656,W01000657,W01000658,W01000659,W01000660,W01000662,W01000663,W01000664,W01000665,W01000666,W01000667,W01000670,W01000671,W01000672,W01000673,W01000674,W01000675,W01000676,W01000677,W01000678,W01000679,W01000680,W01000681,W01000682,W01000683,W01000684,W01000685,W01000686,W01000687,W01000688,W01000689,W01000690,W01000691,W01000692,W01000693,W01000694,W01000695,W01000696,W01000697,W01000698,W01000699,W01000700,W01000701,W01000702,W01000703,W01000704,W01000705,W01000706,W01000707,W01000708,W01000709,W01000710,W01000711,W01000712,W01000713,W01000714,W01000715,W01000716,W01000717,W01000718,W01000719,W01000720,W01000721,W01000722,W01000723,W01000724,W01000725,W01000728,W01000729,W01000730,W01000731,W01000732,W01000733,W01000734,W01000735,W01000736,W01000737,W01000738,W01000739,W01000740,W01000741,W01000742,W01000744,W01000745,W01000746,W01000747,W01000749,W01000750,W01000751,W01000752,W01000753,W01000754,W01000755,W01000756,W01000757,W01000758,W01000759,W01000760,W01000761,W01000762,W01000763,W01000764,W01000765,W01000766,W01000767,W01000768,W01000769,W01000770,W01000771,W01000772,W01000774,W01000775,W01000776,W01000777,W01000778,W01000779,W01000781,W01000782,W01000784,W01000785,W01000786,W01000787,W01000788,W01000789,W01000790,W01000791,W01000792,W01000793,W01000794,W01000795,W01000797,W01000798,W01000799,W01000800,W01000801,W01000802,W01000803,W01000804,W01000805,W01000806,W01000807,W01000808,W01000809,W01000810,W01000811,W01000812,W01000813,W01000814,W01000815,W01000816,W01000817,W01000818,W01000819,W01000820,W01000821,W01000822,W01000823,W01000824,W01000825,W01000826,W01000827,W01000828,W01000829,W01000830,W01000831,W01000832,W01000833,W01000834,W01000835,W01000836,W01000837,W01000838,W01000839,W01000840,W01000841,W01000842,W01000843,W01000844,W01000845,W01000846,W01000847,W01000848,W01000849,W01000851,W01000852,W01000853,W01000854,W01000855,W01000856,W01000857,W01000858,W01000859,W01000860,W01000861,W01000862,W01000863,W01000864,W01000865,W01000866,W01000867,W01000868,W01000869,W01000870,W01000871,W01000872,W01000873,W01000874,W01000875,W01000876,W01000877,W01000878,W01000879,W01000880,W01000881,W01000882,W01000883,W01000884,W01000885,W01000886,W01000887,W01000888,W01000889,W01000890,W01000891,W01000892,W01000893,W01000894,W01000895,W01000896,W01000897,W01000898,W01000899,W01000900,W01000901,W01000904,W01000905,W01000907,W01000908,W01000909,W01000910,W01000911,W01000912,W01000913,W01000914,W01000915,W01000916,W01000918,W01000919,W01000921,W01000922,W01000925,W01000926,W01000927,W01000928,W01000929,W01000930,W01000931,W01000932,W01000933,W01000934,W01000935,W01000936,W01000937,W01000938,W01000939,W01000940,W01000941,W01000942,W01000943,W01000944,W01000945,W01000946,W01000947,W01000948,W01000949,W01000950,W01000951,W01000952,W01000953,W01000954,W01000955,W01000956,W01000957,W01000958,W01000959,W01000960,W01000961,W01000962,W01000963,W01000964,W01000965,W01000966,W01000967,W01000968,W01000969,W01000970,W01000971,W01000973,W01000974,W01000975,W01000976,W01000977,W01000978,W01000979,W01000980,W01000981,W01000982,W01000983,W01000984,W01000985,W01000986,W01000987,W01000989,W01000990,W01000991,W01000992,W01000993,W01000994,W01000995,W01000996,W01000997,W01000999,W01001000,W01001001,W01001002,W01001003,W01001004,W01001005,W01001006,W01001007,W01001008,W01001009,W01001010,W01001011,W01001012,W01001013,W01001014,W01001015,W01001016,W01001017,W01001018,W01001019,W01001020,W01001021,W01001022,W01001023,W01001024,W01001025,W01001026,W01001027,W01001028,W01001029,W01001030,W01001031,W01001032,W01001033,W01001034,W01001035,W01001036,W01001037,W01001038,W01001039,W01001040,W01001041,W01001042,W01001043,W01001044,W01001045,W01001046,W01001047,W01001048,W01001049,W01001050,W01001051,W01001052,W01001053,W01001054,W01001055,W01001056,W01001057,W01001058,W01001059,W01001060,W01001062,W01001063,W01001064,W01001065,W01001066,W01001067,W01001068,W01001069,W01001070,W01001071,W01001072&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_wales_lsoa_tenure5a_bedrooms_002.json.gz + content_sha256: dab6a9b66947188d8e37bea9f4cbddfe7fc1ec1cdafdd643fe7d8b6afeabae92 +- id: census_wales_lsoa_tenure5a_bedrooms_003 + publisher: Office for National Statistics + title: 'Census 2021 Welsh LSOA households by tenure5a and bedrooms: batch 003' + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,W01001073,W01001075,W01001076,W01001077,W01001078,W01001079,W01001080,W01001081,W01001082,W01001083,W01001084,W01001085,W01001086,W01001087,W01001088,W01001089,W01001090,W01001091,W01001092,W01001093,W01001094,W01001095,W01001096,W01001097,W01001098,W01001099,W01001100,W01001101,W01001102,W01001103,W01001104,W01001105,W01001106,W01001107,W01001108,W01001109,W01001110,W01001111,W01001112,W01001113,W01001114,W01001115,W01001116,W01001117,W01001119,W01001120,W01001121,W01001122,W01001123,W01001124,W01001125,W01001127,W01001128,W01001129,W01001130,W01001131,W01001132,W01001133,W01001134,W01001135,W01001136,W01001137,W01001138,W01001139,W01001140,W01001141,W01001142,W01001143,W01001144,W01001145,W01001146,W01001147,W01001148,W01001149,W01001150,W01001151,W01001152,W01001153,W01001154,W01001155,W01001156,W01001157,W01001158,W01001159,W01001160,W01001162,W01001164,W01001165,W01001166,W01001167,W01001168,W01001169,W01001170,W01001171,W01001172,W01001173,W01001174,W01001175,W01001176,W01001177,W01001178,W01001179,W01001180,W01001181,W01001184,W01001185,W01001186,W01001187,W01001188,W01001189,W01001190,W01001192,W01001193,W01001194,W01001195,W01001196,W01001197,W01001198,W01001199,W01001202,W01001203,W01001204,W01001205,W01001206,W01001207,W01001208,W01001209,W01001210,W01001211,W01001212,W01001214,W01001216,W01001217,W01001218,W01001219,W01001220,W01001221,W01001222,W01001223,W01001224,W01001225,W01001226,W01001227,W01001228,W01001229,W01001230,W01001231,W01001232,W01001233,W01001234,W01001235,W01001236,W01001237,W01001238,W01001239,W01001240,W01001241,W01001242,W01001243,W01001244,W01001245,W01001246,W01001247,W01001248,W01001249,W01001250,W01001251,W01001252,W01001253,W01001255,W01001256,W01001257,W01001258,W01001259,W01001260,W01001261,W01001262,W01001263,W01001264,W01001265,W01001266,W01001267,W01001268,W01001269,W01001270,W01001271,W01001272,W01001273,W01001274,W01001275,W01001276,W01001277,W01001278,W01001279,W01001280,W01001281,W01001282,W01001283,W01001284,W01001285,W01001286,W01001287,W01001288,W01001289,W01001290,W01001291,W01001292,W01001293,W01001294,W01001295,W01001296,W01001297,W01001298,W01001299,W01001300,W01001301,W01001302,W01001305,W01001306,W01001307,W01001308,W01001309,W01001310,W01001311,W01001312,W01001313,W01001314,W01001315,W01001317,W01001318,W01001319,W01001320,W01001321,W01001322,W01001324,W01001325,W01001326,W01001327,W01001328,W01001329,W01001330,W01001331,W01001332,W01001333,W01001334,W01001335,W01001336,W01001337,W01001338,W01001339,W01001340,W01001341,W01001342,W01001343,W01001344,W01001345,W01001346,W01001347,W01001348,W01001349,W01001350,W01001351,W01001352,W01001353,W01001354,W01001355,W01001356,W01001357,W01001358,W01001359,W01001360,W01001361,W01001362,W01001363,W01001364,W01001365,W01001366,W01001367,W01001368,W01001369,W01001370,W01001371,W01001372,W01001373,W01001374,W01001375,W01001376,W01001377,W01001378,W01001379,W01001380,W01001381,W01001382,W01001383,W01001384,W01001385,W01001386,W01001387,W01001388,W01001389,W01001390,W01001391,W01001392,W01001393,W01001394,W01001395,W01001396,W01001397,W01001398,W01001399,W01001400,W01001401,W01001402,W01001403,W01001404,W01001405,W01001406,W01001407,W01001408,W01001409,W01001410,W01001411,W01001412,W01001413,W01001414,W01001415,W01001416,W01001417,W01001418,W01001419,W01001420,W01001421,W01001422,W01001423,W01001424,W01001425,W01001426,W01001427,W01001428,W01001429,W01001430,W01001431,W01001432,W01001433,W01001434,W01001435,W01001436,W01001437,W01001438,W01001439,W01001440,W01001441,W01001442,W01001443,W01001444,W01001445,W01001446,W01001447,W01001448,W01001449,W01001450,W01001451,W01001452,W01001453,W01001454,W01001455,W01001456,W01001457,W01001458,W01001459,W01001460,W01001461,W01001462,W01001463,W01001464,W01001465,W01001466,W01001467,W01001468,W01001469,W01001470,W01001471,W01001472,W01001473,W01001474,W01001475,W01001478,W01001479,W01001480,W01001481,W01001482,W01001483,W01001484,W01001485,W01001486,W01001487,W01001488,W01001489,W01001490,W01001491,W01001492,W01001493,W01001494,W01001495,W01001496,W01001497,W01001498,W01001499,W01001500,W01001501,W01001502,W01001503,W01001504,W01001505,W01001506,W01001507,W01001508,W01001509,W01001510,W01001511,W01001512,W01001513,W01001514,W01001515,W01001516,W01001517,W01001518,W01001519,W01001520,W01001521,W01001522,W01001523,W01001524,W01001525,W01001526,W01001527,W01001528,W01001529,W01001530,W01001531,W01001532,W01001533,W01001534,W01001535,W01001536,W01001537,W01001538,W01001539,W01001540,W01001541,W01001542,W01001543,W01001545,W01001546,W01001548,W01001549,W01001551,W01001552,W01001554,W01001555,W01001556,W01001557,W01001558,W01001559,W01001560,W01001561,W01001562,W01001563,W01001565,W01001568,W01001569,W01001571,W01001572,W01001573,W01001574,W01001575,W01001576,W01001577,W01001578,W01001579,W01001580,W01001581,W01001582,W01001583,W01001584,W01001585,W01001586,W01001587,W01001588,W01001589,W01001590,W01001591,W01001592,W01001593,W01001594,W01001595,W01001596,W01001597,W01001598,W01001599&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_wales_lsoa_tenure5a_bedrooms_003.json.gz + content_sha256: e5c35c196eca90ca87b32f79d91458c9be40655a56044b9bc1bea9a3877691c6 +- id: census_wales_lsoa_tenure5a_bedrooms_004 + publisher: Office for National Statistics + title: 'Census 2021 Welsh LSOA households by tenure5a and bedrooms: batch 004' + url: https://api.beta.ons.gov.uk/v1/population-types/HH/census-observations?area-type=lsoa,W01001600,W01001601,W01001602,W01001603,W01001604,W01001605,W01001606,W01001607,W01001608,W01001609,W01001610,W01001611,W01001612,W01001613,W01001614,W01001615,W01001616,W01001617,W01001618,W01001619,W01001620,W01001621,W01001622,W01001623,W01001624,W01001625,W01001626,W01001627,W01001628,W01001629,W01001630,W01001631,W01001632,W01001633,W01001634,W01001635,W01001636,W01001637,W01001638,W01001639,W01001640,W01001641,W01001642,W01001643,W01001645,W01001646,W01001648,W01001650,W01001651,W01001652,W01001653,W01001654,W01001655,W01001657,W01001658,W01001659,W01001660,W01001661,W01001662,W01001663,W01001664,W01001665,W01001666,W01001667,W01001668,W01001669,W01001670,W01001671,W01001673,W01001674,W01001675,W01001676,W01001677,W01001678,W01001679,W01001680,W01001681,W01001682,W01001683,W01001684,W01001685,W01001686,W01001687,W01001689,W01001690,W01001691,W01001692,W01001693,W01001694,W01001695,W01001696,W01001697,W01001698,W01001699,W01001702,W01001703,W01001704,W01001705,W01001706,W01001707,W01001708,W01001710,W01001711,W01001712,W01001713,W01001714,W01001715,W01001716,W01001717,W01001718,W01001719,W01001720,W01001721,W01001722,W01001724,W01001725,W01001726,W01001727,W01001728,W01001729,W01001730,W01001731,W01001732,W01001733,W01001734,W01001735,W01001736,W01001737,W01001738,W01001739,W01001740,W01001741,W01001742,W01001743,W01001744,W01001745,W01001746,W01001747,W01001748,W01001749,W01001750,W01001751,W01001752,W01001753,W01001754,W01001755,W01001756,W01001757,W01001758,W01001759,W01001760,W01001761,W01001762,W01001764,W01001765,W01001766,W01001767,W01001768,W01001769,W01001770,W01001771,W01001772,W01001773,W01001774,W01001775,W01001776,W01001777,W01001778,W01001779,W01001780,W01001781,W01001782,W01001783,W01001784,W01001785,W01001786,W01001787,W01001788,W01001789,W01001790,W01001791,W01001792,W01001793,W01001794,W01001795,W01001796,W01001797,W01001798,W01001799,W01001800,W01001802,W01001803,W01001804,W01001805,W01001806,W01001807,W01001808,W01001809,W01001810,W01001811,W01001812,W01001813,W01001814,W01001815,W01001816,W01001817,W01001818,W01001819,W01001820,W01001821,W01001822,W01001823,W01001824,W01001825,W01001826,W01001827,W01001828,W01001829,W01001830,W01001831,W01001832,W01001833,W01001834,W01001835,W01001836,W01001837,W01001838,W01001839,W01001840,W01001841,W01001842,W01001844,W01001846,W01001847,W01001848,W01001849,W01001850,W01001851,W01001852,W01001853,W01001854,W01001855,W01001856,W01001857,W01001858,W01001859,W01001860,W01001861,W01001862,W01001863,W01001864,W01001865,W01001866,W01001867,W01001868,W01001869,W01001870,W01001871,W01001872,W01001873,W01001874,W01001876,W01001877,W01001878,W01001879,W01001880,W01001881,W01001882,W01001883,W01001884,W01001885,W01001886,W01001887,W01001888,W01001889,W01001890,W01001891,W01001892,W01001893,W01001894,W01001895,W01001896,W01001897,W01001898,W01001899,W01001900,W01001901,W01001902,W01001903,W01001904,W01001905,W01001906,W01001907,W01001908,W01001910,W01001911,W01001912,W01001913,W01001914,W01001915,W01001916,W01001917,W01001918,W01001919,W01001920,W01001921,W01001922,W01001923,W01001924,W01001925,W01001926,W01001927,W01001928,W01001929,W01001930,W01001931,W01001932,W01001933,W01001935,W01001936,W01001937,W01001940,W01001942,W01001943,W01001944,W01001946,W01001947,W01001948,W01001949,W01001950,W01001951,W01001952,W01001953,W01001954,W01001955,W01001956,W01001958,W01001959,W01001960,W01001961,W01001962,W01001963,W01001964,W01001965,W01001966,W01001967,W01001968,W01001969,W01001970,W01001971,W01001972,W01001973,W01001974,W01001975,W01001976,W01001977,W01001978,W01001979,W01001980,W01001981,W01001982,W01001983,W01001984,W01001985,W01001986,W01001987,W01001988,W01001989,W01001990,W01001991,W01001992,W01001993,W01001994,W01001995,W01001996,W01001997,W01001998,W01001999,W01002000,W01002001,W01002002,W01002003,W01002004,W01002005,W01002007,W01002008,W01002009,W01002010,W01002011,W01002012,W01002013,W01002014,W01002016,W01002017,W01002018,W01002019,W01002020,W01002021,W01002022,W01002023,W01002024,W01002025,W01002026,W01002027,W01002028,W01002029,W01002030,W01002031,W01002032,W01002033,W01002034,W01002035,W01002036,W01002037,W01002038,W01002039,W01002040&dimensions=hh_tenure_5a,number_bedrooms_5a + landing_page: https://www.ons.gov.uk/datasets/create + licence: Open Government Licence v3.0 + notes: 'Census 2021 HH custom query: hh_tenure_5a × number_bedrooms_5a, explicit LSOA21 batch. Category + 3 (private rented or lives rent free) supplies bedroom proportions multiplied by exact TS054 private-rented + totals; no blocked areas. content_sha256 pins the decoded JSON bytes, without parsing or reserialising. + Cache may contain gzip entity bytes or the decoded body; transport compression is not pinned.' + filename: census_wales_lsoa_tenure5a_bedrooms_004.json.gz + content_sha256: 18f40e236f6d052fc8dc8095af2337abf0edead62fe8abfcb141e67ff63bf546 +- id: scot_brma_boundaries_2009 + publisher: Scottish Government + title: Broad Rental Market Areas (2009 boundaries, revised 28 July 2015) + url: https://maps.gov.scot/ATOM/shapefiles/SG_BroadRentalMarketAreas_2009.zip + landing_page: https://www.data.gov.uk/dataset/39d08296-874a-4604-9ca4-6fe807aee4a8/broad-rental-market-areas + sha256: 4d121236a35ce896edeb663a7c2c390053c0deebe0cc149c84696bbfd4bddec0 + licence: 'Open Government Licence v3.0; attribution: Copyright Scottish Government, contains Ordnance + Survey data © Crown copyright and database right 2026' + notes: Official 18 BRMA polygons. ZIP original unchanged; shapefile components dated 29 July 2015. Metadata + records revision 2015-07-28. + filename: scot_brma_boundaries_2009.zip +- id: scot_foi_postcodes_brma_2023 + publisher: Scottish Government + title: FOI 202300368850 Information Released - Postcodes + url: https://www.gov.scot/binaries/content/documents/govscot/publications/foi-eir-release/2023/11/foi-202300368850/documents/foi-202300368850---information-released---postcodes/foi-202300368850---information-released---postcodes/govscot%3Adocument/FOI%2B202300368850%2B-%2BInformation%2BReleased%2B-%2BPostcodes.xlsx + landing_page: https://www.gov.scot/publications/foi-202300368850/ + sha256: 50366fea2b87bd6b697e7aa8736fbc870838b5e327458213294f31c3de7ede5e + licence: Open Government Licence v3.0 + notes: Official exact postcode-to-BRMA candidate sets supply nine missing polygon assignments and correct + 59 unique Balloch OA assignments. Two further conflicting ambiguous candidate sets are resolved by + the documented West Dunbartonshire council overrides in build.py, established on 2 October 2026. + filename: scot_foi_postcodes_brma_2023.xlsx +- id: scot_oa2022_population_weighted_centroids + publisher: National Records of Scotland + title: 2022 Census Output Area Population Weighted Centroids + url: https://www.nrscotland.gov.uk/media/gm4dvdsv/output-area-2022-pwc.zip + landing_page: https://www.nrscotland.gov.uk/publications/2022-census-geography-products/ + sha256: 509d7d937c8cc1477259dcd8e4e0e61240f5cc782721a79e9c279bd589e0ec0c + licence: 'Open Government Licence v3.0; attribution: Copyright National Records of Scotland, contains + Ordnance Survey data © Crown copyright and database right 2026' + notes: 46,363 output area population-weighted centroids, selected from OA master postcodes; EPSG:27700. + Original ZIP unchanged. + filename: scot_oa2022_population_weighted_centroids.zip +- id: scot_census2022_geography_index + publisher: National Records of Scotland + title: '2022 Census Index: Postcode to OA and OA to higher areas' + url: https://www.nrscotland.gov.uk/media/utrbt5ze/census_2022_index.zip + landing_page: https://www.nrscotland.gov.uk/publications/2022-census-geography-products/ + sha256: 0e4096a321cba2318dc5d2e35c197bf815ac333aebdf4cb0ddce82112b57a261 + licence: Open Government Licence v3.0 + notes: OA_TO_HIGHER_AREAS.csv supplies OA-to-2022 electoral ward and 2019 council membership. Household + counts come from the centroid file; geography census counts are independently perturbed. + filename: scot_census2022_geography_index.zip +- id: nrs_census_2022_ward2022_tenure_bedrooms + publisher: National Records of Scotland + title: Scotland Census 2022 electoral-ward households by detailed tenure and bedrooms + url: https://www.scotlandscensus.gov.uk/webapi/downloadTable?type=csv + landing_page: https://www.scotlandscensus.gov.uk/webapi/home + sha256: 03d6157d34bd3df44e79ded1c03510954dee55e9e05d3c276b26ad463a565677 + licence: Crown copyright; Open Government Licence v3.0 + notes: 'Manual browser download: 1. Open https://www.scotlandscensus.gov.uk/webapi/home; continue as + a guest and read and accept the site terms yourself. No account is needed. 2. Select the Census 2022 + Household dataset for larger geographies (database household2022ftb). 3. Add all 355 Electoral Ward + 2022 values as rows, displaying ward codes rather than names (field SXV4__Census20223CHHv1__F_GEOGRAPHY__EW2022_FLD). + 4. Add Number of bedrooms as columns (field SXV4__Census20223CHHv1__F_HOUSEHOLD__BEDROOMS_CAT_H_FLD; + all five values, One to Five or more, and Total). 5. Add Household tenure as wafers/layers (field + SXV4__Census20223CHHv1__F_HOUSEHOLD__TENURE_LANDLORD_CAT_H_FLD; all eight values and Total); keep + Counting: Households. 6. Retrieve the complete table, select Download CSV, and save the unmodified + export in the cache as census_2022_ward2022_tenure_bedrooms.csv. The downloadTable URL is session-dependent; + this script never accepts terms. The pinned export includes independently perturbed cells and margins; + future exports must match its SHA256 exactly.' + filename: census_2022_ward2022_tenure_bedrooms.csv + manual: true +- id: nisra_tenure_7_data_zones + publisher: Northern Ireland Statistics and Research Agency (NISRA) + title: 'Census 2021 households by tenure: Data Zone 2021, seven categories' + url: https://build.nisra.gov.uk/en/custom/table.csv?d=HOUSEHOLD&v=DZ21&v=HH_TENURE_AGG7 + landing_page: https://build.nisra.gov.uk/ + sha256: 933303a4430b7b9075d55b7cace165a2b8114c9f1bde57e2895ed8a79a920c76 + licence: Open Government Licence v3.0; Crown copyright (NISRA crown-copyright page) + notes: Seven tenure categories for all 3,780 Data Zones. Codes 5 and 6 are private rented; no bedroom + question was asked in Northern Ireland. + filename: tenure_7_data_zones.csv +- id: nihe_lha_brma_membership_archive_2021 + publisher: Northern Ireland Housing Executive (NIHE) + title: 'NIHE Current LHA rent levels: official 80 postcode-district BRMA definition, 2021 archive' + url: https://web.archive.org/web/20210802181148id_/https://www.nihe.gov.uk/Housing-Help/Local-Housing-Allowance/Current-LHA-rent-levels + landing_page: https://www.nihe.gov.uk/Housing-Help/Local-Housing-Allowance/Current-LHA-rent-levels + sha256: ba71c9e5d63f11614b6c80284a63b8e0e0d2ae77ca07e107c1190c8331624a81 + licence: Copyright Northern Ireland Housing Executive; no express open reuse licence found in archived + page. + notes: Official-page archive on 2021-08-02. Geography membership only is used; no LHA rates extracted. + Live NIHE requests returned HTTP 403. Matches the 2024 membership list exactly. + filename: nihe_current_lha_archive_2021.html +- id: nisra_census2021_postcode_households + publisher: Northern Ireland Statistics and Research Agency (NISRA) + title: Census 2021 person and household estimates for postcodes in Northern Ireland + url: https://www.nisra.gov.uk/system/files/statistics/census-2021-person-and-household-estimates-for-postcodes-in-northern-ireland.xlsx + landing_page: https://www.nisra.gov.uk/publications/census-2021-person-and-household-estimates-postcodes-northern-ireland + sha256: 61a77375ccf91b6504c6b267fec13d4cac61d15c9a4db5cc3f946530ee796ee0 + licence: 'Open Government Licence v3.0; Source: NISRA, www.nisra.gov.uk. Excludes third-party LPS mapping + data.' + notes: Households as at 21 March 2021, published 29 February 2024; 5,591 postcode household counts suppressed. + Mixed-BRMA Data Zones use the published postcode-district averages. Worksheet district keys are stripped + before mapping, so BT1–BT9 suppressed postcodes receive their averages. + filename: nisra_census2021_postcode_households.xlsx +- id: ons_onspd_feb2026_ni_page_0 + publisher: Office for National Statistics + title: 'ONS Postcode Directory February 2026: Northern Ireland filtered API page 1' + url: https://services1.arcgis.com/ESMARspQHYMw9BZ9/arcgis/rest/services/ONS_Postcode_Directory_(February_2026)_for_the_UK_(Hosted_Table)/FeatureServer/0/query?f=json&where=ctry25cd%3D%27N92000002%27&outFields=ObjectId%2Cpcds%2Coa21cd%2Clsoa21cd%2Cdoterm&returnGeometry=false&resultRecordCount=32000&orderByFields=ObjectId&resultType=standard + landing_page: https://geoportal.statistics.gov.uk/datasets/7efd49be24fb4ed8b21eedeb2540ea8c/about + sha256: 1d247eb01fdc973ee4cc00bed3b4d35fc33e6dd28daff4de7ee27af39dfdfdc5 + licence: LPS Northern Ireland End User Licence (LPS Crown copyright), internal business use only; BT + records excluded from general OGL. https://www.ons.gov.uk/methodology/geography/licences + notes: Original API response; page 1 of 2. Filter country N92000002, ordered ObjectId, 32000-row standard + pages. Together 63179 current/terminated postcode records. Census weights joined exactly by postcode + identifier, never by coordinates. Cache privately; do not redistribute the Northern Ireland postcode + extract. + filename: ons_onspd_feb2026_ni_p0.json +- id: ons_onspd_feb2026_ni_page_1 + publisher: Office for National Statistics + title: 'ONS Postcode Directory February 2026: Northern Ireland filtered API page 2' + url: https://services1.arcgis.com/ESMARspQHYMw9BZ9/arcgis/rest/services/ONS_Postcode_Directory_(February_2026)_for_the_UK_(Hosted_Table)/FeatureServer/0/query?f=json&where=ctry25cd%3D%27N92000002%27&outFields=ObjectId%2Cpcds%2Coa21cd%2Clsoa21cd%2Cdoterm&returnGeometry=false&resultRecordCount=32000&orderByFields=ObjectId&resultType=standard&resultOffset=32000 + landing_page: https://geoportal.statistics.gov.uk/datasets/7efd49be24fb4ed8b21eedeb2540ea8c/about + sha256: 665eb8bd8b4abae1962b2bca3e8b7b36fcefb9a4d5c7fed2f459e4ae918bcf3d + licence: LPS Northern Ireland End User Licence (LPS Crown copyright), internal business use only; BT + records excluded from general OGL. https://www.ons.gov.uk/methodology/geography/licences + notes: Original API response; page 2 of 2. Filter country N92000002, ordered ObjectId, 32000-row standard + pages. Together 63179 current/terminated postcode records. Census weights joined exactly by postcode + identifier, never by coordinates. Cache privately; do not redistribute the Northern Ireland postcode + extract. + filename: ons_onspd_feb2026_ni_p1.json From ae9b9b1028ca7b76b090276a4994137c2969a599 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 03:34:23 -0400 Subject: [PATCH 16/70] Address review: OGL-only Northern Ireland weights and stronger tests - Northern Ireland: build each BRMA's private-rented households from NISRA's postcode-district household counts and NI's private-rented share, dropping the ONS Postcode Directory Northern Ireland records, whose LPS end user licence does not clearly allow publishing derived figures. BRMA shares move by 1.5 points on average. - Move the household pick into brma.pick_household_brmas and test it. - Test that every category uses its bedroom band, with spot values; give each region's BRMAs distinct names in the property tests; make the fail-closed test remove a cell rather than skip. - Decode enum regions; assert Scotland's bedroom headers exactly. - Docs: Cardiff Bay and Balloch overrides, centroid wording, what the validation correlates. Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/datasets/brma.py | 16 +++ policyengine_uk_data/datasets/frs.py | 23 +--- .../storage/BRMA_DATA_SOURCES.md | 18 +-- .../brma_private_rented_households.csv | 16 +-- .../tests/test_brma_assignment.py | 60 +++++++++- tools/brma_households/README.md | 105 +++++++----------- tools/brma_households/build.py | 88 +++++---------- tools/brma_households/sources.yaml | 26 ----- 8 files changed, 166 insertions(+), 186 deletions(-) diff --git a/policyengine_uk_data/datasets/brma.py b/policyengine_uk_data/datasets/brma.py index 18566c43d..9aec9bc62 100644 --- a/policyengine_uk_data/datasets/brma.py +++ b/policyengine_uk_data/datasets/brma.py @@ -71,6 +71,8 @@ def assign_brmas( """ if weights is None: weights = load_brma_weights() + if hasattr(region, "decode_to_str"): # EnumArray of region codes + region = region.decode_to_str() region = np.asarray(region).astype(str) lha_category = np.asarray(lha_category).astype(str) brma = np.empty(len(region), dtype=object) @@ -88,3 +90,17 @@ def assign_brmas( cells = sorted(set(zip(region[missing], lha_category[missing]))) raise ValueError(f"No BRMA weights for region × LHA category cells {cells}.") return brma + + +def pick_household_brmas( + brma: np.ndarray, household_id: np.ndarray, rng: np.random.Generator +) -> pd.Series: + """Give each household the BRMA of one of its benefit units, chosen at random. + + ``brma`` and ``household_id`` are per benefit unit; returns a Series + indexed by household ID. + """ + units = pd.DataFrame({"brma": brma, "household_id": household_id}) + return units.groupby("household_id").brma.aggregate( + lambda x: x.sample(n=1, random_state=rng).iloc[0] + ) diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index bbe037a95..96b4f4532 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -19,7 +19,7 @@ from policyengine_uk.variables.household.income.employment_status import ( EmploymentStatus, ) -from policyengine_uk_data.datasets.brma import assign_brmas +from policyengine_uk_data.datasets.brma import assign_brmas, pick_household_brmas from policyengine_uk_data.datasets.disability_benefits import ( add_disability_benefit_categories_from_reported_amounts, add_disability_benefit_flags_from_reported_amounts, @@ -1418,23 +1418,12 @@ def determine_education_level(fted_val, typeed2_val, age_val): brma_rng = np.random.default_rng(0) brma = assign_brmas(region, lha_category, brma_rng) - # Convert benunit-level BRMAs to household-level BRMAs (pick a random one) - - df = pd.DataFrame( - { - "brma": brma, - "household_id": sim.populations["benunit"].household( - "household_id", sim.dataset.time_period - ), - } + household_brma = pick_household_brmas( + brma, + sim.populations["benunit"].household("household_id", dataset.time_period), + brma_rng, ) - - df = df.groupby("household_id").brma.aggregate( - lambda x: x.sample(n=1, random_state=brma_rng).iloc[0] - ) - brmas = df[sim.calculate("household_id")].values - - pe_household["brma"] = brmas + pe_household["brma"] = household_brma[sim.calculate("household_id")].values pe_person = add_disability_benefit_flags_from_reported_amounts( pe_person, diff --git a/policyengine_uk_data/storage/BRMA_DATA_SOURCES.md b/policyengine_uk_data/storage/BRMA_DATA_SOURCES.md index 1a2547d45..2c01e058b 100644 --- a/policyengine_uk_data/storage/BRMA_DATA_SOURCES.md +++ b/policyengine_uk_data/storage/BRMA_DATA_SOURCES.md @@ -8,10 +8,12 @@ File: `brma_private_rented_households.csv`, with columns `region, brma, bedrooms | Nation | Households | BRMA geography | |---|---|---| -| England | Census 2021 (ONS). Private-rented households per LSOA from TS054, split by bedrooms using the LSOA's mix for "private rented or lives rent free" (custom table `hh_tenure_5a` × `number_bedrooms_5a`). Rent-free households are 0.3-1.2% of that category. | VOA BRMA boundary layer, May 2020. Each LSOA is assigned by its population-weighted centroid. Five border LSOAs fall outside the English layer and take the Welsh BRMA that VOA's LHA lookup returns at their centroids. | -| Wales | As for England. | Rent Officers Wales BRMA layer. 11 LSOAs fall in West Cheshire. | -| Scotland | Scotland's Census 2022 (NRS), tenure by bedrooms by 2022 electoral ward. This is the finest geography at which the table is not suppressed. | Scottish Government BRMA polygons. Each ward is split by its output areas' household-weighted centroids, corrected by Rent Service Scotland's postcode-to-BRMA lookup (FOI 202300368850). | -| Northern Ireland | NISRA Census 2021, tenure by Data Zone 2021. | NIHE postcode-district definition of BRMAs. Data Zones that span BRMAs are split by Census 2021 postcode household counts, with suppressed postcodes given NISRA's published district averages. Postcode-to-Data Zone links come from the ONS Postcode Directory, whose Northern Ireland records are under the LPS end user licence; only these BRMA aggregates are published. | +| England | Census 2021 (ONS). Private-rented households per LSOA from TS054, split by bedrooms using the LSOA's mix for "private rented or lives rent free" (custom table `hh_tenure_5a` × `number_bedrooms_5a`). This is the only tenure × bedrooms split ONS releases for every LSOA; rent-free households are 0.3-1.2% of the category. | VOA BRMA boundary layer, May 2020. Each LSOA is assigned by its population-weighted centroid. Five border LSOAs fall outside the English layer and take the Welsh BRMA that VOA's LHA lookup returns near their centroids. | +| Wales | As for England. | Rent Officers Wales BRMA layer (2012 boundaries, 2014 release). 11 LSOAs fall in West Cheshire. Cardiff Bay (W01002024) lies outside the layer and is assigned to Cardiff, as VOA's lookup returns for its postcodes. | +| Scotland | Scotland's Census 2022 (NRS), tenure by bedrooms by 2022 electoral ward. This is the finest geography at which the table is not suppressed. | Scottish Government BRMA polygons. Each ward is split across BRMAs by its output areas' household counts, placing each output area by its population-weighted centroid. Rent Service Scotland's postcode-to-BRMA lookup (FOI 202300368850) moves 61 Balloch output areas to West Dunbartonshire: 59 on unique postcode matches and 2 via the council's own lookup. | +| Northern Ireland | NISRA Census 2021 households by postcode district, times Northern Ireland's private-rented share (NISRA tenure by Data Zone, 17.2%). | NIHE's definition of each BRMA as a set of postcode districts. | + +Northern Ireland's private-rented households are not split by area within the nation. Linking NISRA's tenure areas to postcode districts would need the ONS Postcode Directory's Northern Ireland records, whose licence (LPS end user licence) does not clearly allow publishing derived figures. Using every BRMA's all-tenure households instead moves BRMA shares by 1.5 percentage points on average; for example, Belfast gets 20.1% of NI's private renters where the private-rented split would give 23.5%. Totals reconcile with the published national private-rented counts to within 0.03%: @@ -20,7 +22,7 @@ Totals reconcile with the published national private-rented counts to within 0.0 | England | 4,795,158 | 4,794,889 | | Wales | 228,601 | 228,642 | | Scotland | 323,001 | 323,042 | -| Northern Ireland | 132,466 | 132,436 | +| Northern Ireland | 132,449 | 132,436 | Small-area census counts are perturbed for disclosure control, so their sums differ slightly from national tables. @@ -28,7 +30,9 @@ Small-area census counts are perturbed for disclosure control, so their sums dif The check below correlates, within each region, the BRMA shares of each candidate weight with DWP's count of Universal Credit households whose housing costs are assessed under LHA ("LHA covers rent" plus "does not cover rent"). The DWP figures are the mean of April 2019 to November 2020 (UC statistics supplementary table 3.2, February 2021). -| Nation | Census (this file) | `lha_list_of_rents.csv.gz` row counts (previous weights) | +To make the comparison, each BRMA's households from this file are summed across bedroom bands and region parts, then placed in policyengine-uk's single region for that BRMA. + +| Nation | This file | `lha_list_of_rents.csv.gz` row counts (previous weights) | |---|---|---| | England | 0.94 | 0.82 | | Wales | 0.95 | 0.23 | @@ -42,4 +46,4 @@ Against the genuine list-of-rents category counts, the census bedroom bands corr ## Rebuilding -`tools/brma_households/` (from the repository root) downloads every source, checks each one against its pinned sha256 and rebuilds this file byte for byte; see its `README.md`. +`tools/brma_households/` (run from the repository root) downloads every source, checks each one against a pinned sha256 and rebuilds this file byte for byte; see its `README.md`. diff --git a/policyengine_uk_data/storage/brma_private_rented_households.csv b/policyengine_uk_data/storage/brma_private_rented_households.csv index d07a7fbc9..fd84570e3 100644 --- a/policyengine_uk_data/storage/brma_private_rented_households.csv +++ b/policyengine_uk_data/storage/brma_private_rented_households.csv @@ -251,14 +251,14 @@ LONDON,OUTER_WEST_LONDON,1,13522 LONDON,OUTER_WEST_LONDON,2,19527 LONDON,OUTER_WEST_LONDON,3,16016 LONDON,OUTER_WEST_LONDON,4+,7743 -NORTHERN_IRELAND,BELFAST,all,31175 -NORTHERN_IRELAND,LOUGH_NEAGH_LOWER,all,15652 -NORTHERN_IRELAND,LOUGH_NEAGH_UPPER,all,23933 -NORTHERN_IRELAND,NORTH_NI,all,7169 -NORTHERN_IRELAND,NORTH_WEST_NI,all,12592 -NORTHERN_IRELAND,SOUTH_EAST_NI,all,19530 -NORTHERN_IRELAND,SOUTH_NI,all,12697 -NORTHERN_IRELAND,SOUTH_WEST_NI,all,9718 +NORTHERN_IRELAND,BELFAST,all,26599 +NORTHERN_IRELAND,LOUGH_NEAGH_LOWER,all,14176 +NORTHERN_IRELAND,LOUGH_NEAGH_UPPER,all,26520 +NORTHERN_IRELAND,NORTH_NI,all,6892 +NORTHERN_IRELAND,NORTH_WEST_NI,all,11924 +NORTHERN_IRELAND,SOUTH_EAST_NI,all,25164 +NORTHERN_IRELAND,SOUTH_NI,all,12101 +NORTHERN_IRELAND,SOUTH_WEST_NI,all,9073 NORTH_EAST,DARLINGTON,1,1231 NORTH_EAST,DARLINGTON,2,6387 NORTH_EAST,DARLINGTON,3,4590 diff --git a/policyengine_uk_data/tests/test_brma_assignment.py b/policyengine_uk_data/tests/test_brma_assignment.py index e6fa57aa1..8de49f999 100644 --- a/policyengine_uk_data/tests/test_brma_assignment.py +++ b/policyengine_uk_data/tests/test_brma_assignment.py @@ -7,12 +7,15 @@ 2. Determinism: the same generator state gives the same BRMAs. 3. Fail closed: a benefit unit in a cell with no positive weight raises. 4. Proportionality: draws converge on the cell's weights. + +``pick_household_brmas`` gives each household one of its benefit units' BRMAs, +deterministically for a given generator state. """ import numpy as np import pandas as pd import pytest -from hypothesis import given, settings +from hypothesis import assume, given, settings from hypothesis import strategies as st from policyengine_uk.variables.household.demographic.locations import BRMAName @@ -21,6 +24,7 @@ LHA_CATEGORY_BEDROOMS, assign_brmas, load_brma_weights, + pick_household_brmas, ) REGIONS = [ @@ -105,6 +109,28 @@ def test_shared_and_one_bedroom_categories_use_the_same_weights(weights): pd.testing.assert_frame_equal(a.reset_index(drop=True), b.reset_index(drop=True)) +def test_each_category_uses_its_bedroom_band(households, weights): + banded = households[households.bedrooms != "all"] + for category, band in LHA_CATEGORY_BEDROOMS.items(): + got = weights[weights.lha_category == category].set_index(["region", "brma"]) + want = banded[banded.bedrooms == band].set_index(["region", "brma"]) + assert ( + got.weight.drop("NORTHERN_IRELAND") + .sort_index() + .equals(want.households.sort_index().rename("weight")) + ), category + # Spot values: Lothian's two-, three- and four-plus-bedroom private renters + # (Census 2022) and Belfast, the same for every category. + lothian = weights[(weights.region == "SCOTLAND") & (weights.brma == "LOTHIAN")] + assert lothian.set_index("lha_category").weight[["C", "D", "E"]].tolist() == [ + 30012, + 10044, + 4327, + ] + belfast = weights[weights.brma == "BELFAST"] + assert len(belfast) == 5 and belfast.weight.nunique() == 1 + + def test_large_draw_matches_scottish_two_bedroom_weights(weights): cell = weights[(weights.region == "SCOTLAND") & (weights.lha_category == "C")] n = 400_000 @@ -124,12 +150,13 @@ def weights_and_units(draw): regions = draw( st.lists(st.sampled_from(REGIONS), min_size=1, max_size=3, unique=True) ) - brmas = [f"B{i}" for i in range(draw(st.integers(1, 5)))] + count = draw(st.integers(1, 5)) + # BRMA names are unique to a region, so a draw from the wrong region is caught. rows = [ - (region, category, brma, draw(st.sampled_from([0, 0.5, 1, 7, 1000]))) + (region, category, f"{region}_{i}", draw(st.sampled_from([0, 0.5, 1, 7, 1000]))) for region in regions for category in CATEGORIES - for brma in brmas + for i in range(count) ] table = pd.DataFrame(rows, columns=["region", "lha_category", "brma", "weight"]) table = table[table.weight > 0] @@ -155,14 +182,35 @@ def test_draws_stay_on_positive_weights_and_are_deterministic(case): @given(weights_and_units(), st.sampled_from(REGIONS), st.sampled_from(CATEGORIES)) def test_cells_without_positive_weight_fail_closed(case, region, category): table, *_ = case - if ((table.region == region) & (table.lha_category == category)).any(): - return + # Remove the cell, so every example exercises a missing one. + table = table[~((table.region == region) & (table.lha_category == category))] + assume(len(table)) with pytest.raises(ValueError, match="No BRMA weights"): assign_brmas( np.array([region]), np.array([category]), np.random.default_rng(0), table ) +@settings(max_examples=200, deadline=None, derandomize=True) +@given( + st.lists( + st.tuples(st.integers(0, 6), st.sampled_from(["X", "Y", "Z"])), + min_size=1, + max_size=30, + ), + st.integers(0, 2**32 - 1), +) +def test_households_take_one_of_their_benefit_units_brmas(units, seed): + household_id = np.array([h for h, _ in units]) + brma = np.array([b for _, b in units], dtype=object) + first = pick_household_brmas(brma, household_id, np.random.default_rng(seed)) + second = pick_household_brmas(brma, household_id, np.random.default_rng(seed)) + assert first.equals(second) + assert set(first.index) == set(household_id) + for household, chosen in first.items(): + assert chosen in set(brma[household_id == household]) + + def test_built_dataset_brmas_lie_in_their_regions_weights(enhanced_frs, weights): household = enhanced_frs.household supported = set(zip(weights.region, weights.brma)) diff --git a/tools/brma_households/README.md b/tools/brma_households/README.md index 0a2462144..08206015a 100644 --- a/tools/brma_households/README.md +++ b/tools/brma_households/README.md @@ -1,79 +1,60 @@ # BRMA private-rented households -`policyengine_uk_data/storage/brma_private_rented_households.csv` (the default `--output`) contains 936 rows: `region,brma,bedrooms,households`. -It counts private landlord/letting agency and other private-rented households by -Broad Rental Market Area (BRMA), retaining each area's census region. Bedrooms are -`1`, `2`, `3`, `4+`; Northern Ireland uses `all` because its census did not ask bedrooms. - -## Sources and method - -- **England, Census 2021:** ONS/Nomis TS054 LSOA private-rented totals multiplied - by each LSOA's ONS custom-API tenure5a code 3 bedroom proportions. ONS V4 - population-weighted centroids intersect VOA May 2020 BRMA polygons; regions - come from ONS OA-to-LSOA and OA-to-region lookups. GML is parsed directly to - preserve nine incorrectly declared MultiPolygons; `make_valid` repairs seven - self-intersections. Five border LSOAs use documented official VOA lookup overrides: - E01014018 → Brecon and Radnor; E01022272–E01022275 → Monmouthshire. -- **Wales, Census 2021:** the same TS054 × tenure5a method and Welsh ONS V4 - centroids, with the archived Rent Officers Wales polygons (May 2012 geometry, - September 2014 release). Invalid geometry is repaired. Cardiff Bay W01002024 - uses a fixed override established by 13 official postcode replies on 2 October 2026. - Eleven Welsh LSOAs in West Cheshire retain region `WALES`. -- **Scotland, Census 2022:** NRS ward tenure × bedrooms, allocated using OA - household-weighted centroid shares in Scottish Government BRMA polygons. - Official postcode candidates supply nine missing assignments and correct 61 - Balloch OAs; two ambiguous candidates use West Dunbartonshire council membership. - Four and five-or-more bedrooms combine into `4+`. -- **Northern Ireland, Census 2021:** NISRA Data Zone tenure codes 5 and 6, - allocated using NIHE postcode-district BRMAs and ONSPD postcode-to-zone records. - Single-BRMA zones receive share 1; mixed zones use census postcode household - counts, substituting NISRA district averages after stripping district-key whitespace. - -BRMA cells are rounded to whole households with pandas; zero rows are dropped. -No national balancing adjustment is made. Each of 89 inputs has its exact URL and cache filename in `sources.yaml`. -The 72 ONS custom-API batches pin decoded JSON bytes with `content_sha256`; -other inputs pin original bytes with `sha256`. Gzip and plain JSON are accepted -without parsing or reserialising for verification. Live reply pages and postcode -extracts used only to establish overrides are excluded, as are research checks. -All eight overrides have dated evidence comments in `build.py`; exact unresolved -area sets are asserted before assignment to guard against boundary changes. +`build.py` writes `policyengine_uk_data/storage/brma_private_rented_households.csv` (936 rows: `region,brma,bedrooms,households`). The table counts private-rented households (private landlord or letting agency, plus other private rented) by Broad Rental Market Area (BRMA), keeping each area's census region. Bedrooms are `1`, `2`, `3` or `4+`; Northern Ireland uses `all` because its census did not ask about bedrooms. Sources, method and validation are summarised in `policyengine_uk_data/storage/BRMA_DATA_SOURCES.md`. + +## Method + +- **England, Census 2021.** + - Each LSOA's TS054 private-rented total is split by that LSOA's bedroom mix for ONS custom-API tenure category 3, "private rented or lives rent free". + - The LSOA's ONS population-weighted centroid places it in a VOA May 2020 BRMA polygon. + - Regions come from the ONS OA-to-LSOA and OA-to-region lookups. + - The GML is parsed directly so that nine MultiPolygons declared as Polygons keep all their parts. `make_valid` repairs seven self-intersections. +- **Wales, Census 2021.** + - Same method as England, using the archived Rent Officers Wales polygons (May 2012 geometry, September 2014 release). + - Eleven Welsh LSOAs fall in West Cheshire and keep region `WALES`. +- **Scotland, Census 2022.** + - NRS ward tenure × bedrooms tables are split across BRMAs by output-area household counts. Each output area is placed by its population-weighted centroid in the Scottish Government BRMA polygons. + - Official postcode candidates assign nine output areas whose centroids fall outside every polygon. + - Rent Service Scotland's postcode lookup moves 61 Balloch output areas to West Dunbartonshire: 59 on unique postcode matches and 2 via the council's own lookup. + - Four and five-or-more bedrooms are combined into `4+`. +- **Northern Ireland, Census 2021.** + - NISRA households by postcode district are summed into NIHE's postcode-district BRMAs. + - The totals are scaled by Northern Ireland's private-rented share from NISRA tenure by Data Zone. + - A private-rented split by area would need ONS Postcode Directory Northern Ireland records, which are under the LPS end user licence, so it is not attempted. +- **Overrides.** Eight area assignments come from official lookups rather than polygons: five English border LSOAs, Cardiff Bay and two Scottish output areas. Each carries a dated evidence comment in `build.py`. The build asserts the exact set of areas needing an override, so a boundary change fails loudly. +- **Output.** Cells are rounded to whole households, and empty cells are dropped. There is no national balancing adjustment. + +## Inputs + +`sources.yaml` lists the 87 inputs with their URLs, landing pages, licences and cache file names. +- The 72 ONS custom-API batches are pinned on the sha256 of the decoded JSON (`content_sha256`), because their gzip bytes vary between downloads. +- Every other input is pinned on the sha256 of its original bytes. ## Rebuild -Run from the repository root. The sole browser/session download is Scotland's -ward export; follow its `manual: true` manifest instructions and place it in the -cache. Scripts never log in or accept terms. Both commands verify all input pins; -the builder uses only cached originals and checks the expected output digest. +Run from the repository root. Scotland's ward table is the one manual download: follow its `manual: true` instructions in `sources.yaml` and place the file in the cache. The scripts never log in or accept terms. Both scripts check every input's hash, and `build.py` reads only cached originals and checks the output's digest. ```sh nice -n 10 uvx --with pandas --with geopandas --with shapely --with pyogrio --with openpyxl --with pyyaml python tools/brma_households/fetch.py .brma-cache nice -n 10 uvx --with pandas --with geopandas --with shapely --with pyogrio --with openpyxl --with pyyaml python tools/brma_households/build.py .brma-cache ``` -`fetch.py --only SOURCE_ID ...` supports selected download checks; `build.py ---output PATH` chooses the output destination. Missing files or changed hashes fail. +- `fetch.py --only SOURCE_ID ...` fetches or checks only the listed sources. +- `build.py --output PATH` writes the table elsewhere. ## Licences and limits -Census and most geography inputs use the Open Government Licence; retain ONS, -NRS, Scottish/Welsh Government and Ordnance Survey attributions in the manifest. -NIHE's archived page has no stated open reuse licence; live VOA replies are not inputs. -**NI postcode geography comes from ONSPD records under the LPS Northern Ireland -End User Licence; only aggregated BRMA counts are published, never raw BT records.** -Centroids and ward/postcode shares approximate household locations. England/Wales -bedroom proportions include rent-free households; census cells are perturbed. -Geography vintages differ and bedrooms describe accommodation, not LHA entitlement. -The 34 postcode records without Data Zone codes do not contribute to mixed-zone shares. +- **Licences.** Census and geography inputs are under the Open Government Licence. NIHE's archived BRMA page has no stated reuse licence; the build uses only its postcode-district lists. +- **Locations are approximate.** Centroids and ward shares approximate where households live. +- **Rent-free households.** England and Wales bedroom mixes include them. +- **Disclosure control.** Census cells are perturbed. +- **Geography vintages differ** between nations. +- **Bedrooms describe the home,** not the household's LHA entitlement. +- **Northern Ireland has one private-rented share for every BRMA.** ## Verification -On 2 October 2026, all 89 inputs copied from retained originals passed `fetch.py` -verification with no downloads, including all 72 decoded-content hashes. -Fresh `fetch.py` downloads of eight originals covered all seven publishers; -both an English and a Welsh custom-API batch passed decoded-content verification. -The corrected full rebuild was byte-identical to the updated reference, 936 rows: -`3ba714d4f5267656f19cd60785da379804420f633aa4c5745bdd0fba20473e72`. -The NI key fix changes Belfast by +1 and South East NI by −1 household. -Changed-content, missing-manual and override-set mismatch checks were rejected. -Scotland's manual export was verified from its retained original, not re-exported. -`nice -n 10` was invoked; the sandbox refused priority changes and Git index writes. +On 2 October 2026: +- All inputs passed `fetch.py` against a cache filled from retained originals. +- Fresh downloads of eight originals, covering all seven publishers and including an English and a Welsh ONS batch, matched their pins. +- The rebuild has 936 rows, sha256 `fd40dae019e5eefb8c976873f69c66f9b74a0747505326e8098b0ad99cc2ae1f`. diff --git a/tools/brma_households/build.py b/tools/brma_households/build.py index b5172a61e..115c8b317 100644 --- a/tools/brma_households/build.py +++ b/tools/brma_households/build.py @@ -346,6 +346,7 @@ def postcode(value): tenure = tenures.get(label) elif label == "Number of bedrooms": headers = row[1:] + assert {h for h in headers if h} == set(bands) | {"Total"}, headers elif tenure and re.fullmatch(r"S13\d{6}", label): for bedroom, value in zip(headers, row[1:], strict=True): if bedroom in bands: @@ -368,7 +369,17 @@ def postcode(value): def northern_ireland(cache): - """Allocate Data Zone private tenure totals by NIHE postcode-district BRMA.""" + """Private-rented households by NIHE BRMA, from Open Government Licence data. + + NIHE defines each BRMA as a set of postcode districts, and NISRA publishes + Census 2021 households for every postcode district (no suppression at that + level). Tenure is published only for census areas, and linking those to + postcode districts needs ONS Postcode Directory records whose Northern + Ireland licence (LPS end user licence) does not clearly allow publishing + derived figures. So each BRMA's private-rented households are its census + households times Northern Ireland's private-rented share (NISRA tenure by + Data Zone, summed). + """ names = { "Belfast": "BELFAST", "Lough Neagh Lower": "LOUGH_NEAGH_LOWER", @@ -395,61 +406,15 @@ def northern_ireland(cache): assert district not in memberships memberships[district] = names[name] assert len(memberships) == 80 - pages = [ - json.loads((cache / f"ons_onspd_feb2026_ni_p{i}.json").read_text()) - for i in range(2) - ] - onspd = pd.DataFrame([f["attributes"] for page in pages for f in page["features"]]) - assert len(onspd) == 63179 and onspd.pcds.is_unique - onspd["district"] = onspd.pcds.str.split().str[0] - onspd["brma"] = onspd.district.map(memberships) - obsolete = onspd[onspd.brma.isna()] - assert obsolete.doterm.notna().all() and obsolete.doterm.le("202103").all() - onspd = onspd[onspd.brma.notna()].copy() - census = pd.read_excel( + districts = pd.read_excel( cache / "nisra_census2021_postcode_households.xlsx", - sheet_name="Postcode", - header=5, - ).rename(columns={"Postcode": "pcds"}) - census = census.merge(onspd, on="pcds", how="left", validate="one_to_one") - assert census.brma.notna().all() - census["households"] = pd.to_numeric(census.Households, errors="coerce") - suppressed = census.Households.eq("*") - assert (census.households.notna() | suppressed).all() - averages = pd.read_excel( - cache / "nisra_census2021_postcode_households.xlsx", - sheet_name="Suppressed averages", + sheet_name="Postcode district", header=5, ) - averages = averages.set_index(averages["Postcode district"].str.strip())[ - "Average households per supressed Postcode" - ] - census.loc[suppressed, "households"] = census.loc[suppressed, "district"].map( - averages - ) - assert census.households.notna().all(), ( - "Suppressed postcode missing district average" - ) - # Whole-zone assignment follows every in-scope ONSPD postcode, not just census ones. - singleton = onspd.groupby("oa21cd").brma.agg( - lambda s: s.iloc[0] if s.nunique() == 1 else None - ) - singleton = singleton.dropna().rename("brma").reset_index() - singleton["share"] = 1.0 - mixed = census[census.oa21cd.notna() & ~census.oa21cd.isin(singleton.oa21cd)] - weights = mixed.groupby(["oa21cd", "brma"]).households.sum() - shares = ( - (weights / weights.groupby(level=0).transform("sum")) - .rename("share") - .reset_index() - ) - # The lane excludes zero-weight shares on mixed zones without suppressed counts. - shares = shares[shares.share > 0] - crosswalk = pd.concat([singleton, shares], ignore_index=True).rename( - columns={"oa21cd": "area_code"} - ) - assert crosswalk.area_code.nunique() == 3780 - assert crosswalk.groupby("area_code").share.sum().sub(1).abs().max() < 1e-9 + districts["district"] = districts["Postcode district"].astype(str).str.strip() + districts = districts[districts.district.str.fullmatch(r"BT\d+")] + assert set(districts.district) == set(memberships) + households = districts.groupby(districts.district.map(memberships)).Households.sum() tenure = pd.read_csv(cache / "tenure_7_data_zones.csv") tenure.columns = [ "area_code", @@ -459,13 +424,16 @@ def northern_ireland(cache): "households", ] assert len(tenure) == 3780 * 7 and tenure.area_code.nunique() == 3780 - private = ( - tenure[tenure.tenure_code.isin([5, 6])].groupby("area_code").households.sum() + private_share = ( + tenure.loc[tenure.tenure_code.isin([5, 6]), "households"].sum() + / tenure.households.sum() + ) + out = ( + (households * private_share) + .rename("households") + .rename_axis("brma") + .reset_index() ) - assert set(private.index) == set(crosswalk.area_code) - out = crosswalk.merge(private.rename("households"), on="area_code") - out["households"] *= out.share - out = out.groupby("brma", as_index=False).households.sum() out["region"], out["bedrooms"] = "NORTHERN_IRELAND", "all" return out[["region", "brma", "bedrooms", "households"]] @@ -498,7 +466,7 @@ def main(): .encode("utf-8") ) digest = hashlib.sha256(data).hexdigest() - expected = "3ba714d4f5267656f19cd60785da379804420f633aa4c5745bdd0fba20473e72" + expected = "fd40dae019e5eefb8c976873f69c66f9b74a0747505326e8098b0ad99cc2ae1f" if digest != expected: raise ValueError(f"Rebuilt table differs: expected {expected}, got {digest}") args.output.write_bytes(data) diff --git a/tools/brma_households/sources.yaml b/tools/brma_households/sources.yaml index 9135569da..39929e889 100644 --- a/tools/brma_households/sources.yaml +++ b/tools/brma_households/sources.yaml @@ -1035,29 +1035,3 @@ Mixed-BRMA Data Zones use the published postcode-district averages. Worksheet district keys are stripped before mapping, so BT1–BT9 suppressed postcodes receive their averages. filename: nisra_census2021_postcode_households.xlsx -- id: ons_onspd_feb2026_ni_page_0 - publisher: Office for National Statistics - title: 'ONS Postcode Directory February 2026: Northern Ireland filtered API page 1' - url: https://services1.arcgis.com/ESMARspQHYMw9BZ9/arcgis/rest/services/ONS_Postcode_Directory_(February_2026)_for_the_UK_(Hosted_Table)/FeatureServer/0/query?f=json&where=ctry25cd%3D%27N92000002%27&outFields=ObjectId%2Cpcds%2Coa21cd%2Clsoa21cd%2Cdoterm&returnGeometry=false&resultRecordCount=32000&orderByFields=ObjectId&resultType=standard - landing_page: https://geoportal.statistics.gov.uk/datasets/7efd49be24fb4ed8b21eedeb2540ea8c/about - sha256: 1d247eb01fdc973ee4cc00bed3b4d35fc33e6dd28daff4de7ee27af39dfdfdc5 - licence: LPS Northern Ireland End User Licence (LPS Crown copyright), internal business use only; BT - records excluded from general OGL. https://www.ons.gov.uk/methodology/geography/licences - notes: Original API response; page 1 of 2. Filter country N92000002, ordered ObjectId, 32000-row standard - pages. Together 63179 current/terminated postcode records. Census weights joined exactly by postcode - identifier, never by coordinates. Cache privately; do not redistribute the Northern Ireland postcode - extract. - filename: ons_onspd_feb2026_ni_p0.json -- id: ons_onspd_feb2026_ni_page_1 - publisher: Office for National Statistics - title: 'ONS Postcode Directory February 2026: Northern Ireland filtered API page 2' - url: https://services1.arcgis.com/ESMARspQHYMw9BZ9/arcgis/rest/services/ONS_Postcode_Directory_(February_2026)_for_the_UK_(Hosted_Table)/FeatureServer/0/query?f=json&where=ctry25cd%3D%27N92000002%27&outFields=ObjectId%2Cpcds%2Coa21cd%2Clsoa21cd%2Cdoterm&returnGeometry=false&resultRecordCount=32000&orderByFields=ObjectId&resultType=standard&resultOffset=32000 - landing_page: https://geoportal.statistics.gov.uk/datasets/7efd49be24fb4ed8b21eedeb2540ea8c/about - sha256: 665eb8bd8b4abae1962b2bca3e8b7b36fcefb9a4d5c7fed2f459e4ae918bcf3d - licence: LPS Northern Ireland End User Licence (LPS Crown copyright), internal business use only; BT - records excluded from general OGL. https://www.ons.gov.uk/methodology/geography/licences - notes: Original API response; page 2 of 2. Filter country N92000002, ordered ObjectId, 32000-row standard - pages. Together 63179 current/terminated postcode records. Census weights joined exactly by postcode - identifier, never by coordinates. Cache privately; do not redistribute the Northern Ireland postcode - extract. - filename: ons_onspd_feb2026_ni_p1.json From 29e1bd7a18a80942cc9014946d2dc8bea7e40b44 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 07:57:21 -0400 Subject: [PATCH 17/70] Describe the Northern Ireland postcode workbook as the build now uses it Co-Authored-By: Claude Opus 5.5 --- tools/brma_households/sources.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/brma_households/sources.yaml b/tools/brma_households/sources.yaml index 39929e889..262d8a919 100644 --- a/tools/brma_households/sources.yaml +++ b/tools/brma_households/sources.yaml @@ -1031,7 +1031,7 @@ sha256: 61a77375ccf91b6504c6b267fec13d4cac61d15c9a4db5cc3f946530ee796ee0 licence: 'Open Government Licence v3.0; Source: NISRA, www.nisra.gov.uk. Excludes third-party LPS mapping data.' - notes: Households as at 21 March 2021, published 29 February 2024; 5,591 postcode household counts suppressed. - Mixed-BRMA Data Zones use the published postcode-district averages. Worksheet district keys are stripped - before mapping, so BT1–BT9 suppressed postcodes receive their averages. + notes: Households as at 21 March 2021, published 29 February 2024. Only the "Postcode district" sheet + is used; district totals are not suppressed. Each NIHE BRMA's households are the sum of its districts, + scaled by Northern Ireland's private-rented share from the Data Zone tenure table. filename: nisra_census2021_postcode_households.xlsx From f8b21d31c3b165598b08ec9d3055919604784000 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 08:16:28 -0400 Subject: [PATCH 18/70] Draw each cloned household's Output Area from its own FRS region clone_and_assign sampled a household's OA by population from anywhere in its country, then wrote the OA's region, LA and constituency onto the household without touching `region`. In release 1.57.4, 88.5% of English households (86% of English weight) carry an OA in a different region from the one the FRS recorded, and the median English LA draws 93% of its weight from households surveyed in another region. policyengine.py groups households by `constituency_code_oa` / `la_code_oa` for its constituency and local-authority impacts and for area-scoped simulations, so every English area was reporting an England-wide mix. assign_random_geography now takes the households' regions and samples within the region (Wales and Scotland are one region each; a household with no region below the country falls back to its country). Collision avoidance draws from the same region. A region with no OAs in the crosswalk, a region that contradicts the country, or an unrecognised region value raises. Called without regions it draws exactly as before: seed 42 reproduces the released `oa_code` column. Adds Hypothesis to the dev extras for the property tests. Co-Authored-By: Claude Opus 5.5 --- changelog.d/oa-region-constrained.fixed.md | 1 + docs/oa_calibration_pipeline.md | 5 +- .../calibration/clone_and_assign.py | 15 +- .../calibration/oa_assignment.py | 223 ++++++-- .../tests/test_oa_region_assignment.py | 491 ++++++++++++++++++ pyproject.toml | 1 + uv.lock | 73 ++- 7 files changed, 755 insertions(+), 54 deletions(-) create mode 100644 changelog.d/oa-region-constrained.fixed.md create mode 100644 policyengine_uk_data/tests/test_oa_region_assignment.py diff --git a/changelog.d/oa-region-constrained.fixed.md b/changelog.d/oa-region-constrained.fixed.md new file mode 100644 index 000000000..740395723 --- /dev/null +++ b/changelog.d/oa-region-constrained.fixed.md @@ -0,0 +1 @@ +Draw each cloned household's Output Area from its own FRS region rather than from anywhere in its country, so `region_code_oa`, `la_code_oa` and `constituency_code_oa` no longer contradict `region` (88.5% of English households in release 1.57.4 carried an OA from another region). diff --git a/docs/oa_calibration_pipeline.md b/docs/oa_calibration_pipeline.md index 8339931f0..be147e61c 100644 --- a/docs/oa_calibration_pipeline.md +++ b/docs/oa_calibration_pipeline.md @@ -23,7 +23,7 @@ Build the OA crosswalk and population-weighted assignment function. **Deliverables:** - `policyengine_uk_data/calibration/oa_crosswalk.py` — downloads/builds the OA → LSOA → MSOA → LA → constituency → region → country crosswalk - `policyengine_uk_data/storage/oa_crosswalk.csv.gz` — compressed crosswalk file -- `policyengine_uk_data/calibration/oa_assignment.py` — assigns cloned records to OAs (population-weighted, country-constrained) +- `policyengine_uk_data/calibration/oa_assignment.py` — assigns cloned records to OAs (population-weighted within the household's FRS region) - Tests validating crosswalk completeness and assignment correctness **Data sources:** @@ -48,7 +48,8 @@ Clone each FRS household N times and assign each clone a different OA. **Key design:** - N=10 clones in production, N=2 in testing mode - Constituency collision avoidance: each clone gets a different constituency where possible -- Country constraint preserved: English households → English OAs only +- Region constraint: each clone's OA is drawn from the household's own FRS region (Wales and Scotland are one region each), so `region_code_oa`, `la_code_oa` and `constituency_code_oa` never contradict `region`. A household with no region below the country falls back to its country. No LA or constituency straddles a region, so every OA stays reachable +- Collision avoidance draws from the same region; the smallest (North East) has 27 constituencies, more than the 10 production clones - Weights divided by N so population totals are preserved - Pure pandas/numpy operations — no simulation required, fast execution diff --git a/policyengine_uk_data/calibration/clone_and_assign.py b/policyengine_uk_data/calibration/clone_and_assign.py index 397567c1f..bc710ab61 100644 --- a/policyengine_uk_data/calibration/clone_and_assign.py +++ b/policyengine_uk_data/calibration/clone_and_assign.py @@ -1,9 +1,9 @@ """Clone-and-assign: duplicate FRS households and assign OA geography. Each FRS household is cloned N times. Each clone gets a different -Output Area (population-weighted, country-constrained, with -constituency collision avoidance). Weights are divided by N so -population totals are preserved. +Output Area (population-weighted, drawn from the household's FRS +region, with constituency collision avoidance). Weights are divided +by N so population totals are preserved. This is the UK equivalent of policyengine-us-data's clone-and-assign approach (PRs #457, #531). @@ -76,9 +76,11 @@ def clone_and_assign( ) -> UKSingleYearDataset: """Clone each FRS household N times and assign OA geography. - Each clone gets a population-weighted random Output Area, - constrained to its country, with constituency collision - avoidance across clones. + Each clone gets a population-weighted random Output Area in + its household's FRS region (Wales and Scotland are one region + each), with constituency collision avoidance across clones. + The OA's region, LA and constituency therefore never + contradict the household's ``region``. Household weights are divided by n_clones so aggregate population totals are preserved. @@ -145,6 +147,7 @@ def clone_and_assign( n_clones=n_clones, seed=seed, crosswalk_path=crosswalk_path, + household_regions=hh["region"].values[has_oa], ) else: geography = None diff --git a/policyengine_uk_data/calibration/oa_assignment.py b/policyengine_uk_data/calibration/oa_assignment.py index d57c10a49..15f3e59ee 100644 --- a/policyengine_uk_data/calibration/oa_assignment.py +++ b/policyengine_uk_data/calibration/oa_assignment.py @@ -3,8 +3,10 @@ Assigns population-weighted random Output Areas to household clones, with constituency collision avoidance (each clone of the same household gets a different constituency where -possible) and country constraints (English households get -English OAs only, etc.). +possible) and region constraints (a London household gets a +London OA, a Welsh household a Welsh OA, and so on). The FRS +region is the finest geography the survey records, so it bounds +where a household's OA can be. Analogous to policyengine-us-data's clone_and_assign.py. """ @@ -39,6 +41,32 @@ "NORTHERN_IRELAND": "Northern Ireland", } +# FRS regions (the policyengine-uk ``region`` enum) to the region codes +# the OA crosswalk carries: ONS RGN codes in England, and the +# crosswalk's country-level pseudo-codes elsewhere. +FRS_REGION_TO_CODE = { + "NORTH_EAST": "E12000001", + "NORTH_WEST": "E12000002", + "YORKSHIRE": "E12000003", + "EAST_MIDLANDS": "E12000004", + "WEST_MIDLANDS": "E12000005", + "EAST_OF_ENGLAND": "E12000006", + "LONDON": "E12000007", + "SOUTH_EAST": "E12000008", + "SOUTH_WEST": "E12000009", + "WALES": "W99999999", + "SCOTLAND": "S99999999", + "NORTHERN_IRELAND": "N99999999", +} +_REGION_CODE_PREFIX_TO_COUNTRY = { + "E": "England", + "W": "Wales", + "S": "Scotland", + "N": "Northern Ireland", +} +# Region values that carry no location below the country. +_UNKNOWN_REGIONS = {"", "UNKNOWN"} + @dataclass class GeographyAssignment: @@ -60,6 +88,54 @@ class GeographyAssignment: n_clones: int +def _distribution(subset: pd.DataFrame) -> Dict[str, np.ndarray]: + """Population-weighted sampling frame for a set of OAs.""" + pop = subset["population"].values.astype(np.float64) + total = pop.sum() + if total == 0: + # Uniform if no population data + probs = np.ones(len(subset)) / len(subset) + else: + probs = pop / total + + return { + "oa_codes": subset["oa_code"].values, + "constituencies": subset["constituency_code"].values, + "lsoa_codes": subset["lsoa_code"].values, + "msoa_codes": subset["msoa_code"].values, + "la_codes": subset["la_code"].values, + "region_codes": subset["region_code"].values, + "probs": probs, + } + + +def _load_numeric_crosswalk(crosswalk_path: Optional[str]) -> pd.DataFrame: + path = Path(crosswalk_path) if crosswalk_path else None + xw = load_oa_crosswalk(path) + # Ensure population is numeric + xw["population"] = pd.to_numeric(xw["population"], errors="coerce").fillna(0) + return xw + + +@lru_cache(maxsize=1) +def _load_region_distributions( + crosswalk_path: Optional[str] = None, +) -> Dict[str, Dict]: + """Load OA distributions grouped by crosswalk region code. + + Returns: + Dict mapping region code (e.g. ``E12000007``, ``W99999999``) + to the same sampling frame as ``_load_country_distributions``, + with probabilities summing to 1 within the region. + """ + xw = _load_numeric_crosswalk(crosswalk_path) + region_codes = xw["region_code"].fillna("").astype(str).str.strip() + return { + code: _distribution(xw[region_codes == code]) + for code in sorted(set(region_codes) - {""}) + } + + @lru_cache(maxsize=1) def _load_country_distributions( crosswalk_path: Optional[str] = None, @@ -75,11 +151,7 @@ def _load_country_distributions( - crosswalk_idx: np.ndarray of indices into the full crosswalk DataFrame """ - path = Path(crosswalk_path) if crosswalk_path else None - xw = load_oa_crosswalk(path) - - # Ensure population is numeric - xw["population"] = pd.to_numeric(xw["population"], errors="coerce").fillna(0) + xw = _load_numeric_crosswalk(crosswalk_path) distributions = {} for country_name in [ @@ -95,23 +167,7 @@ def _load_country_distributions( logger.warning(f"No OAs found for {country_name}") continue - pop = subset["population"].values.astype(np.float64) - total = pop.sum() - if total == 0: - # Uniform if no population data - probs = np.ones(len(subset)) / len(subset) - else: - probs = pop / total - - distributions[country_name] = { - "oa_codes": subset["oa_code"].values, - "constituencies": subset["constituency_code"].values, - "lsoa_codes": subset["lsoa_code"].values, - "msoa_codes": subset["msoa_code"].values, - "la_codes": subset["la_code"].values, - "region_codes": subset["region_code"].values, - "probs": probs, - } + distributions[country_name] = _distribution(subset) return distributions @@ -133,22 +189,46 @@ def _normalise_country(value) -> Optional[str]: return COUNTRY_NAME_MAP.get(text.upper().replace("-", "_").replace(" ", "_")) +def _normalise_region(value) -> Optional[str]: + """Map an FRS region name or crosswalk region code to a region code. + + Returns None when the region says nothing below the country + (missing or ``UNKNOWN``). Raises on anything unrecognised. + """ + if isinstance(value, bytes): + value = value.decode() + if value is None or (not isinstance(value, str) and pd.isna(value)): + return None + text = str(value).strip().upper() + if text in _UNKNOWN_REGIONS: + return None + if text in FRS_REGION_TO_CODE: + return FRS_REGION_TO_CODE[text] + if text in FRS_REGION_TO_CODE.values(): + return text + raise ValueError(f"Unrecognised household region value: {value!r}") + + def assign_random_geography( household_countries: np.ndarray, n_clones: int = 10, seed: int = 42, crosswalk_path: Optional[str] = None, + household_regions: Optional[np.ndarray] = None, ) -> GeographyAssignment: """Assign random OA geography to cloned FRS records. Each of n_records * n_clones total records gets a random - Output Area sampled from the country-specific - population-weighted distribution. LA, constituency, - region are derived from the OA. + Output Area sampled from the population-weighted + distribution of its household's region (or of its country, + when no region is given). LA, constituency and region are + derived from the OA, so they always agree with the + household's region. Constituency collision avoidance: each clone of the same household gets a different constituency where possible - (up to 50 retry iterations). + (up to 50 retry iterations), drawing only from the + household's own region. Args: household_countries: Array of length n_records with @@ -156,6 +236,11 @@ def assign_random_geography( n_clones: Number of clones per household. seed: Random seed for reproducibility. crosswalk_path: Override crosswalk file path. + household_regions: Optional array of length n_records + with FRS region names (e.g. ``LONDON``) or crosswalk + region codes (e.g. ``E12000007``). Households with a + region draw OAs from that region only; missing or + ``UNKNOWN`` regions fall back to the country. Returns: GeographyAssignment with arrays of length @@ -178,9 +263,69 @@ def assign_random_geography( "Unrecognised household country values: " + ", ".join(bad_values) ) - distributions = _load_country_distributions( - str(crosswalk_path) if crosswalk_path else None + if household_regions is None: + regions = np.full(n_records, None, dtype=object) + else: + if len(household_regions) != n_records: + raise ValueError( + f"household_regions has {len(household_regions)} values, " + f"expected {n_records}." + ) + regions = np.array( + [_normalise_region(value) for value in household_regions], + dtype=object, + ) + mismatched = sorted( + { + f"{region} in {country}" + for region, country in zip(regions, countries) + if region is not None + and _REGION_CODE_PREFIX_TO_COUNTRY[region[0]] != country + } + ) + if mismatched: + raise ValueError( + "Household regions disagree with household countries: " + + ", ".join(mismatched) + ) + n_unknown = sum(region is None for region in regions) + if n_unknown: + logger.warning( + "%d households have no region below the country; " + "sampling their OAs country-wide", + n_unknown, + ) + + # Sampling stratum per household: its region code where known, + # otherwise its country name. + strata = np.array( + [ + region if region is not None else country + for region, country in zip(regions, countries) + ], + dtype=object, + ) + path_key = str(crosswalk_path) if crosswalk_path else None + country_distributions = _load_country_distributions(path_key) + region_distributions = ( + _load_region_distributions(path_key) if household_regions is not None else {} ) + distributions = {} + missing_distributions = [] + for stratum in sorted(set(strata)): + is_country = stratum in COUNTRY_NAME_MAP.values() + source = country_distributions if is_country else region_distributions + if stratum in source: + distributions[stratum] = source[stratum] + elif is_country: + missing_distributions.append(stratum) + else: + country = _REGION_CODE_PREFIX_TO_COUNTRY[stratum[0]] + missing_distributions.append(f"{stratum} ({country})") + if missing_distributions: + raise ValueError( + "No OA distribution available for: " + ", ".join(missing_distributions) + ) rng = np.random.default_rng(seed) @@ -193,29 +338,17 @@ def assign_random_geography( region_codes = np.empty(n_total, dtype=object) country_names = np.empty(n_total, dtype=object) - # Group households by country for efficient sampling - unique_countries = np.unique(countries) - # Track assigned constituencies per record for # collision avoidance assigned_const = np.full((n_clones, n_records), "", dtype=object) - missing_distributions = sorted(set(unique_countries) - set(distributions)) - if missing_distributions: - raise ValueError( - "No OA distribution available for: " + ", ".join(missing_distributions) - ) for clone_idx in range(n_clones): start = clone_idx * n_records - for country_name in unique_countries: - dist = distributions[country_name] - hh_mask = countries == country_name + for stratum, dist in distributions.items(): + hh_mask = strata == stratum n_hh = hh_mask.sum() - if n_hh == 0: - continue - # Sample OAs indices = rng.choice( len(dist["oa_codes"]), @@ -260,7 +393,7 @@ def assign_random_geography( msoa_codes[store_idx] = dist["msoa_codes"][indices] la_codes[store_idx] = dist["la_codes"][indices] region_codes[store_idx] = dist["region_codes"][indices] - country_names[store_idx] = country_name + country_names[store_idx] = countries[positions] assigned_const[clone_idx, positions] = sampled_const diff --git a/policyengine_uk_data/tests/test_oa_region_assignment.py b/policyengine_uk_data/tests/test_oa_region_assignment.py new file mode 100644 index 000000000..7cf39ff05 --- /dev/null +++ b/policyengine_uk_data/tests/test_oa_region_assignment.py @@ -0,0 +1,491 @@ +"""Invariants for region-constrained Output Area assignment. + +A household's OA is drawn from its own FRS region, so the OA's region, +LA and constituency can never contradict ``household.region``. The +property tests state that for every input; the example tests pin the +edge cases and the real crosswalk's shape. +""" + +import itertools +import tempfile +from pathlib import Path + +import numpy as np +import pandas as pd +import pytest +from policyengine_uk.data import UKSingleYearDataset + +from policyengine_uk_data.calibration.clone_and_assign import clone_and_assign +from policyengine_uk_data.calibration.oa_assignment import ( + FRS_REGION_TO_CODE, + assign_random_geography, +) +from policyengine_uk_data.calibration.oa_crosswalk import ( + CROSSWALK_PATH, + load_oa_crosswalk, +) +from policyengine_uk_data.storage import STORAGE_FOLDER + +hypothesis = pytest.importorskip("hypothesis") +from hypothesis import given, settings # noqa: E402 +from hypothesis import strategies as st # noqa: E402 + +REGION_TO_COUNTRY = { + region: {"E": "England", "W": "Wales", "S": "Scotland", "N": "Northern Ireland"}[ + code[0] + ] + for region, code in FRS_REGION_TO_CODE.items() +} +COUNTRY_TO_FRS_CODE = {"England": 1, "Wales": 2, "Scotland": 3, "Northern Ireland": 4} +GEOGRAPHY_FIELDS = { + "lsoa_code": "lsoa_code", + "msoa_code": "msoa_code", + "la_code": "la_code", + "constituency_code": "constituency_code", + "region_code": "region_code", +} +_file_counter = itertools.count() + + +def _crosswalk_rows(region: str, constituency_populations: list[list[int]]) -> list: + """OAs for one region: one LA per constituency, one OA per population.""" + code = FRS_REGION_TO_CODE[region] + rows = [] + for c, populations in enumerate(constituency_populations): + for o, population in enumerate(populations): + rows.append( + { + "oa_code": f"{code[0]}00{code[-2:]}{c:02d}{o:02d}", + "lsoa_code": f"{code[0]}01{code[-2:]}{c:02d}{o:02d}", + "msoa_code": f"{code[0]}02{code[-2:]}{c:02d}", + "la_code": f"{code[0]}06{code[-2:]}{c:02d}", + "constituency_code": f"{code[0]}14{code[-2:]}{c:02d}", + "region_code": code, + "country": REGION_TO_COUNTRY[region], + "population": population, + } + ) + return rows + + +def _write_crosswalk(directory: Path, rows: list) -> tuple[pd.DataFrame, str]: + """Write to a fresh path: the loaders cache on the path string.""" + frame = pd.DataFrame(rows) + path = Path(directory) / f"crosswalk_{next(_file_counter)}.csv.gz" + frame.to_csv(path, index=False, compression="gzip") + return frame, str(path) + + +def _countries(regions: list[str]) -> np.ndarray: + return np.array( + [COUNTRY_TO_FRS_CODE[REGION_TO_COUNTRY.get(r, "England")] for r in regions] + ) + + +def _toy_dataset(regions: list[str], weights: list[float]) -> UKSingleYearDataset: + ids = np.arange(1, len(regions) + 1) + return UKSingleYearDataset( + person=pd.DataFrame( + { + "person_id": ids * 1000 + 1, + "person_household_id": ids, + "person_benunit_id": ids * 100 + 1, + "age": 40, + } + ), + benunit=pd.DataFrame({"benunit_id": ids * 100 + 1}), + household=pd.DataFrame( + {"household_id": ids, "household_weight": weights, "region": regions} + ), + fiscal_year=2024, + ) + + +@st.composite +def crosswalk_and_regions(draw, allow_unassignable: bool = False): + """A synthetic crosswalk plus household regions it can serve.""" + crosswalk_regions = draw( + st.lists( + st.sampled_from(sorted(FRS_REGION_TO_CODE)), + min_size=1, + max_size=6, + unique=True, + ) + ) + rows = [] + for region in crosswalk_regions: + rows += _crosswalk_rows( + region, + draw( + st.lists( + st.lists(st.integers(0, 500), min_size=1, max_size=4), + min_size=1, + max_size=4, + ) + ), + ) + choices = list(crosswalk_regions) + if any(REGION_TO_COUNTRY[r] == "England" for r in crosswalk_regions): + choices.append("UNKNOWN") + if allow_unassignable and "NORTHERN_IRELAND" not in crosswalk_regions: + choices.append("NORTHERN_IRELAND") + regions = draw(st.lists(st.sampled_from(choices), min_size=1, max_size=12)) + return rows, regions + + +def _as_tuple(geography) -> tuple: + return tuple( + tuple(getattr(geography, field)) + for field in ["oa_code", "country", *GEOGRAPHY_FIELDS] + ) + + +class TestRegionConstraintProperties: + @given( + case=crosswalk_and_regions(), + n_clones=st.integers(1, 4), + seed=st.integers(0, 2**32 - 1), + ) + @settings(max_examples=60, deadline=None) + def test_assignment_invariants(self, case, n_clones, seed): + rows, regions = case + with tempfile.TemporaryDirectory() as directory: + crosswalk, path = _write_crosswalk(directory, rows) + kwargs = dict( + household_countries=_countries(regions), + household_regions=np.array(regions, dtype=object), + n_clones=n_clones, + seed=seed, + crosswalk_path=path, + ) + geography = assign_random_geography(**kwargs) + repeat = assign_random_geography(**kwargs) + + # Determinism: same inputs and seed, same assignment. + assert _as_tuple(geography) == _as_tuple(repeat) + + n = len(regions) + assert len(geography.oa_code) == n * n_clones + by_oa = crosswalk.set_index("oa_code") + region_population = crosswalk.groupby("region_code")["population"].sum() + england_population = crosswalk.loc[ + crosswalk["country"] == "England", "population" + ].sum() + for i, oa in enumerate(geography.oa_code): + region = regions[i % n] + row = by_oa.loc[oa] + # The OA's region is the household's region; an unknown region + # still keeps the household in its country. + if region == "UNKNOWN": + assert row["country"] == "England" + stratum_population = england_population + else: + assert geography.region_code[i] == FRS_REGION_TO_CODE[region] + stratum_population = region_population[FRS_REGION_TO_CODE[region]] + assert geography.country[i] == REGION_TO_COUNTRY.get(region, "England") + assert row["country"] == geography.country[i] + # Every other code is the crosswalk's own row for that OA. + for field, column in GEOGRAPHY_FIELDS.items(): + assert getattr(geography, field)[i] == row[column] + # Unpopulated OAs are never drawn while the stratum has people. + if stratum_population > 0: + assert row["population"] > 0 + + @given( + case=crosswalk_and_regions(allow_unassignable=True), + weights=st.lists( + st.floats(0, 5_000, allow_nan=False), min_size=12, max_size=12 + ), + n_clones=st.integers(1, 4), + seed=st.integers(0, 2**32 - 1), + ) + @settings(max_examples=40, deadline=None) + def test_clone_and_assign_invariants(self, case, weights, n_clones, seed): + rows, regions = case + dataset = _toy_dataset(regions, weights[: len(regions)]) + with tempfile.TemporaryDirectory() as directory: + _, path = _write_crosswalk(directory, rows) + kwargs = dict(n_clones=n_clones, seed=seed, crosswalk_path=path) + household = clone_and_assign(dataset, **kwargs).household + repeat = clone_and_assign(dataset, **kwargs).household + + pd.testing.assert_frame_equal(household, repeat) + + original = dataset.household + # Weights are preserved in total and for every source household. + np.testing.assert_allclose( + household["household_weight"].sum(), + original["household_weight"].sum(), + rtol=1e-12, + atol=1e-9, + ) + np.testing.assert_allclose( + household.groupby("source_household_id")["household_weight"].sum().values, + original.set_index("household_id")["household_weight"].values, + rtol=1e-12, + atol=1e-9, + ) + # Cloning never rewrites the FRS region. + assert household["region"].tolist() == original["region"].tolist() * n_clones + + expected = household["region"].map(FRS_REGION_TO_CODE) + known = household["region"].isin(FRS_REGION_TO_CODE) & ( + household["oa_code"] != "" + ) + assert (household.loc[known, "region_code_oa"] == expected[known]).all() + unknown = household["region"] == "UNKNOWN" + assert household.loc[unknown, "region_code_oa"].str.startswith("E12").all() + # A region the crosswalk does not cover gets no geography at all. + covered = {row["region_code"] for row in rows} + uncovered = ~unknown & ~expected.isin(covered) + for column in ["oa_code", "la_code_oa", "constituency_code_oa"]: + assert (household.loc[uncovered, column] == "").all() + assert (household.loc[~uncovered, column] != "").all() + + @given( + case=crosswalk_and_regions(), + n_clones=st.integers(1, 4), + seed=st.integers(0, 2**32 - 1), + ) + @settings(max_examples=40, deadline=None) + def test_matches_country_sampling_when_region_is_the_country( + self, case, n_clones, seed + ): + """Differential: with one region per country the two paths agree.""" + _, regions = case + one_region_each = ["LONDON", "WALES", "SCOTLAND", "NORTHERN_IRELAND"] + regions = [r for r in regions if r in one_region_each] or ["LONDON"] + rows = [] + for region in one_region_each: + rows += _crosswalk_rows(region, [[30, 10, 0], [5, 55], [20]]) + with tempfile.TemporaryDirectory() as directory: + _, path = _write_crosswalk(directory, rows) + kwargs = dict( + household_countries=_countries(regions), + n_clones=n_clones, + seed=seed, + crosswalk_path=path, + ) + by_country = assign_random_geography(**kwargs) + by_region = assign_random_geography( + household_regions=np.array(regions, dtype=object), **kwargs + ) + assert _as_tuple(by_country) == _as_tuple(by_region) + + +class TestRegionConstraintExamples: + @pytest.fixture(scope="class") + def two_region_crosswalk(self, tmp_path_factory): + rows = _crosswalk_rows("LONDON", [[100, 300]]) + _crosswalk_rows( + "NORTH_EAST", [[50_000], [50_000]] + ) + return _write_crosswalk(tmp_path_factory.mktemp("two_region"), rows) + + def test_sampling_is_population_weighted_within_the_region( + self, two_region_crosswalk + ): + """London's two OAs split 1:3 however large the North East is.""" + crosswalk, path = two_region_crosswalk + n = 20_000 + geography = assign_random_geography( + household_countries=np.ones(n, dtype=int), + household_regions=np.array(["LONDON"] * n, dtype=object), + n_clones=1, + seed=0, + crosswalk_path=path, + ) + assert set(geography.region_code) == {"E12000007"} + larger = crosswalk.loc[crosswalk["population"] == 300, "oa_code"].iloc[0] + share = (geography.oa_code == larger).mean() + # Binomial(20,000, 0.75): four standard errors is 0.012. + assert abs(share - 0.75) < 0.012 + + def test_country_sampling_without_regions_is_unchanged(self, two_region_crosswalk): + """Callers that know only the country still sample country-wide.""" + _, path = two_region_crosswalk + geography = assign_random_geography( + household_countries=np.ones(2_000, dtype=int), + n_clones=1, + seed=0, + crosswalk_path=path, + ) + assert (geography.region_code == "E12000001").mean() > 0.9 + + def test_unknown_region_falls_back_to_the_country(self, two_region_crosswalk): + _, path = two_region_crosswalk + for unknown in ["UNKNOWN", "", None, np.nan]: + geography = assign_random_geography( + household_countries=np.ones(500, dtype=int), + household_regions=np.array([unknown] * 500, dtype=object), + n_clones=1, + seed=0, + crosswalk_path=path, + ) + assert set(geography.region_code) == {"E12000001", "E12000007"} + + def test_region_names_codes_and_bytes_are_equivalent(self, two_region_crosswalk): + _, path = two_region_crosswalk + results = [ + assign_random_geography( + household_countries=np.ones(50, dtype=int), + household_regions=np.array([value] * 50, dtype=object), + n_clones=2, + seed=3, + crosswalk_path=path, + ) + for value in ["LONDON", "E12000007", b"LONDON", " london "] + ] + assert len({_as_tuple(result) for result in results}) == 1 + + def test_region_without_oas_raises(self, two_region_crosswalk): + _, path = two_region_crosswalk + with pytest.raises(ValueError, match=r"E12000009 \(England\)"): + assign_random_geography( + household_countries=np.array([1]), + household_regions=np.array(["SOUTH_WEST"], dtype=object), + n_clones=1, + crosswalk_path=path, + ) + + def test_region_in_the_wrong_country_raises(self, two_region_crosswalk): + _, path = two_region_crosswalk + with pytest.raises(ValueError, match="disagree"): + assign_random_geography( + household_countries=np.array([2]), + household_regions=np.array(["LONDON"], dtype=object), + n_clones=1, + crosswalk_path=path, + ) + + def test_unrecognised_region_raises(self, two_region_crosswalk): + _, path = two_region_crosswalk + with pytest.raises(ValueError, match="Unrecognised household region"): + assign_random_geography( + household_countries=np.array([1]), + household_regions=np.array(["MERCIA"], dtype=object), + n_clones=1, + crosswalk_path=path, + ) + + def test_region_length_mismatch_raises(self, two_region_crosswalk): + _, path = two_region_crosswalk + with pytest.raises(ValueError, match="expected 2"): + assign_random_geography( + household_countries=np.array([1, 1]), + household_regions=np.array(["LONDON"], dtype=object), + n_clones=1, + crosswalk_path=path, + ) + + def test_clones_take_different_constituencies_within_the_region(self, tmp_path): + """Collision avoidance still works when the pool is one region.""" + rows = _crosswalk_rows("NORTH_EAST", [[100]] * 12) + _crosswalk_rows( + "LONDON", [[100]] * 40 + ) + _, path = _write_crosswalk(tmp_path, rows) + n, n_clones = 200, 10 + geography = assign_random_geography( + household_countries=np.ones(n, dtype=int), + household_regions=np.array(["NORTH_EAST"] * n, dtype=object), + n_clones=n_clones, + seed=42, + crosswalk_path=path, + ) + constituencies = geography.constituency_code.reshape(n_clones, n) + assert set(geography.region_code) == {"E12000001"} + assert all(len(set(constituencies[:, i])) == n_clones for i in range(n)) + + def test_single_constituency_region_terminates(self, tmp_path): + """Unavoidable collisions exhaust the retries and still assign.""" + _, path = _write_crosswalk(tmp_path, _crosswalk_rows("WALES", [[10, 20]])) + geography = assign_random_geography( + household_countries=np.full(5, 2), + household_regions=np.array(["WALES"] * 5, dtype=object), + n_clones=3, + seed=1, + crosswalk_path=path, + ) + assert len(set(geography.constituency_code)) == 1 + + +@pytest.fixture(scope="module") +def real_crosswalk() -> pd.DataFrame: + if not CROSSWALK_PATH.exists(): + pytest.skip("OA crosswalk not built") + return load_oa_crosswalk() + + +class TestRealCrosswalk: + def test_region_codes_name_the_right_places(self, real_crosswalk): + """FRS_REGION_TO_CODE agrees with where well-known LAs are.""" + names = pd.read_csv(STORAGE_FOLDER / "local_authorities_2021.csv") + la_region = ( + real_crosswalk[["la_code", "region_code"]] + .drop_duplicates() + .merge(names, left_on="la_code", right_on="code") + .set_index("name")["region_code"] + ) + expected = { + "Hartlepool": "NORTH_EAST", + "Manchester": "NORTH_WEST", + "Leeds": "YORKSHIRE", + "Nottingham": "EAST_MIDLANDS", + "Birmingham": "WEST_MIDLANDS", + "Cambridge": "EAST_OF_ENGLAND", + "Westminster": "LONDON", + "Brighton and Hove": "SOUTH_EAST", + "Bristol, City of": "SOUTH_WEST", + "Cardiff": "WALES", + "Glasgow City": "SCOTLAND", + } + for name, region in expected.items(): + assert la_region[name] == FRS_REGION_TO_CODE[region], name + + def test_every_crosswalk_region_is_an_frs_region(self, real_crosswalk): + assert set(real_crosswalk["region_code"]) <= set(FRS_REGION_TO_CODE.values()) + + def test_local_areas_nest_in_regions(self, real_crosswalk): + """No LA or constituency straddles a region, so sampling within the + region can still reach every OA of every local area.""" + for column in ["la_code", "constituency_code"]: + regions_per_area = real_crosswalk.groupby(column)["region_code"].nunique() + assert (regions_per_area == 1).all(), column + + def test_every_region_has_a_constituency_per_production_clone(self, real_crosswalk): + constituencies = real_crosswalk.groupby("region_code")[ + "constituency_code" + ].nunique() + assert constituencies.min() >= 10 + + def test_assignment_on_the_real_crosswalk(self, real_crosswalk): + covered = sorted( + region + for region, code in FRS_REGION_TO_CODE.items() + if code in set(real_crosswalk["region_code"]) + ) + regions = np.array(covered * 40, dtype=object) + n_clones = 10 + geography = assign_random_geography( + household_countries=_countries(list(regions)), + household_regions=regions, + n_clones=n_clones, + seed=42, + ) + expected = np.tile([FRS_REGION_TO_CODE[r] for r in regions], n_clones) + assert (geography.region_code == expected).all() + constituencies = geography.constituency_code.reshape(n_clones, len(regions)) + distinct = np.array( + [len(set(constituencies[:, i])) for i in range(len(regions))] + ) + assert (distinct == n_clones).all() + + +def test_built_dataset_oa_region_matches_frs_region(enhanced_frs): + """Every household of the built enhanced FRS sits in its own region.""" + household = enhanced_frs.household + decode = lambda value: value.decode() if isinstance(value, bytes) else str(value) # noqa: E731 + region_code = household["region_code_oa"].map(decode) + expected = household["region"].map(decode).map(FRS_REGION_TO_CODE) + has_oa = region_code != "" + assert has_oa.any() + assert int((region_code[has_oa] != expected[has_oa]).sum()) == 0 diff --git a/pyproject.toml b/pyproject.toml index beff7f1a4..58de5b1d3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,7 @@ dependencies = [ dev = [ "ruff>=0.9.0", "pytest", + "hypothesis", "torch", "l0-python>=0.4.0", "tables", diff --git a/uv.lock b/uv.lock index a3e9f44d9..c301c6c9f 100644 --- a/uv.lock +++ b/uv.lock @@ -577,6 +577,75 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/f4/124858007ddf3c61e9b144107304c9152fa80b5b6c168da07d86fe583cc1/huggingface_hub-1.1.5-py3-none-any.whl", hash = "sha256:e88ecc129011f37b868586bbcfae6c56868cae80cd56a79d61575426a3aa0d7d", size = 516000, upload-time = "2025-11-20T15:49:30.926Z" }, ] +[[package]] +name = "hypothesis" +version = "6.168.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/b7/13118bbc45d6d8b9d04e2de779e2a4ff23145ea39efa692b994fb874ca72/hypothesis-6.168.3.tar.gz", hash = "sha256:a43388f9067678fef6e13bdff325b6cfa6961a590498bb37f7ff31589c83bc75", size = 511022, upload-time = "2026-09-28T05:20:58.499Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/cd/746a2fc1e5e5ba34f07ea6ee1ad07525a3dde5ff4836db3a7980af49a891/hypothesis-6.168.3-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d20972ca134e652e9928ecd200966a8a2857adc2812c1d74b12a872e5cd503eb", size = 791536, upload-time = "2026-09-28T05:18:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0f/7a158e377b69556c8e12c25c8fd811d0103e54c24a12dab1f3b9819f202e/hypothesis-6.168.3-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:eafbec09d3e87d13d8242411d1f5868b5e879f1bd6d95e233e9ff80c527bea1c", size = 787313, upload-time = "2026-09-28T05:20:18.122Z" }, + { url = "https://files.pythonhosted.org/packages/45/c6/7df9104ee359e8fcd77791781c47e70794964ca69673665e0de2a6590f4c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c5627497968cc62d140e9fde1ea21e12cac7b64dc419fea8286cd34ff1ad4e", size = 1124036, upload-time = "2026-09-28T05:20:04.372Z" }, + { url = "https://files.pythonhosted.org/packages/92/0f/8a61715404a73b9a82cb1f976803428d603cdea976a9c30266c72ad6a7ce/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dc56e6dc6eeb0aeb08ac463f847279bde2336c4786faf7ee0af4b93cd031a7", size = 1147875, upload-time = "2026-09-28T05:19:15.495Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3f/2b16e95cc3b9a069afa23830a012aefe377ce4a457a227e5a5026eb827ff/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:753bb501f8560d2e321ed3b62596b4496c56f15668b0a0669231ccc3e6c4e80d", size = 1149489, upload-time = "2026-09-28T05:19:18.886Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e7/d7cf6dc068bb02732b2a6e38a35a0dcb7f2137608198fc79d740f69d197c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71ab606c472449cb872ef2a7acaec679ee4f651b7f0a477a04ebc85d8933ef8c", size = 1191992, upload-time = "2026-09-28T05:19:21.83Z" }, + { url = "https://files.pythonhosted.org/packages/5f/26/f1e5b25dec15998e8375d722825ec3dae1075cbe7cb1f74221b2312a2e33/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26928956c54748e4dfa587333741ab750246123b93484955646ff316cca27eef", size = 1169911, upload-time = "2026-09-28T05:19:27.996Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/901234a49147e6bf8a5b9e54b775706a223c2b52befea1106ea2aaf15d48/hypothesis-6.168.3-cp310-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:0bdfc53c041b61c854fa3761735736b991bc2bddafee45a361cfe4d43027c1ef", size = 1129406, upload-time = "2026-09-28T05:18:42.632Z" }, + { url = "https://files.pythonhosted.org/packages/55/c1/5fc9ff91ec9fba6bb527833386c66812524b5cc75fe7d4a4f9122ee1c420/hypothesis-6.168.3-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:650528e2b1e2a45e95c2df624d4b9364b8ac5a027ba84e1eea2bc5398dd01dcd", size = 1160399, upload-time = "2026-09-28T05:20:23.911Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d2/49ad1ef5c55547c8abfd0fc571b3493806dda530fd5cb3d8263dbad86a72/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:209dc54cdb1b4d6d7020ad8d09e44c49756361b7183adacea4d6f5705085b595", size = 1299906, upload-time = "2026-09-28T05:18:58.417Z" }, + { url = "https://files.pythonhosted.org/packages/0d/5f/f98a26094c4f462c4215807bed0f9a6b5508b27a3c329bcba1bc8adc7ac7/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:af8ca98cd11dc7f9427bb90483abcd9688d4df2e8e63893a30a2423b027ebb11", size = 1425538, upload-time = "2026-09-28T05:20:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b8/c5b4406e3a6591e51a42f85469351d1d824e0a54b84167aec9b2353759fe/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:f8122cfdd0bc0ba843063effa22ac310bdebdb3a1319bf1e63f14baa119c72ab", size = 1377084, upload-time = "2026-09-28T05:20:06.618Z" }, + { url = "https://files.pythonhosted.org/packages/e0/01/0d84a8ea469d024c15f602799c0b8410fbe03d99fdb0370449b33c3c916f/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4bedbb379eab34f792af7ee9a05aae04e9c08bbb52e0f90f5a2110d4fe4b2fbd", size = 1281162, upload-time = "2026-09-28T05:19:42.768Z" }, + { url = "https://files.pythonhosted.org/packages/22/b5/ea6435038de1a795f005cb603531e8ccc053febc50180f3ab55583c9c60e/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:5a953115b9f5c95133ab2d04efffeec96e5658c3207923dca7285f7db3e6bbef", size = 1300433, upload-time = "2026-09-28T05:18:55.634Z" }, + { url = "https://files.pythonhosted.org/packages/6c/78/fa6c77d9f64b6d592e69e582d83cbce7d7e56897faa4762885a2123b0166/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6173558e676ad25ed1e20507fa4024a0d816dd90f715f77006e5a28f19109026", size = 1336273, upload-time = "2026-09-28T05:19:08.273Z" }, + { url = "https://files.pythonhosted.org/packages/f1/56/4acd0d778bab818c9ea336fcba768bf43bc70db7f84cc373579298df4641/hypothesis-6.168.3-cp310-abi3-win32.whl", hash = "sha256:dc66390fb12d80585aa9222bf538ce8b7aa22cf5d118250647355a1c9e8f62f4", size = 678211, upload-time = "2026-09-28T05:19:23.355Z" }, + { url = "https://files.pythonhosted.org/packages/b0/db/0a02b146ad1c30f9716362f2e1a379dfd6b0f7be03ac1e22c9da24c9e2a9/hypothesis-6.168.3-cp310-abi3-win_amd64.whl", hash = "sha256:92325b276360fe86c5bf71a568c0d53a6d140b0de36dcf029f9164a17803bb24", size = 684906, upload-time = "2026-09-28T05:18:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c0/958deaf726848f96f52250740bf39f13f476b068e22f73e2b358eaa07532/hypothesis-6.168.3-cp310-abi3-win_arm64.whl", hash = "sha256:3cf6f1eeaf41cd8d60cf1f88fde905ca1dd77c906929a507d6ac7f66f2ccba2a", size = 683292, upload-time = "2026-09-28T05:19:57.404Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a2/6787da846d929e52fc3344d803299c45782dbeac287528af08380e984bf8/hypothesis-6.168.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1b230a850de63334c16654a34a2d547e0179d36b9071d4439b3e7237f6d077e7", size = 793254, upload-time = "2026-09-28T05:19:36.294Z" }, + { url = "https://files.pythonhosted.org/packages/89/ba/2893f5ca42501f4d562cba3229c8994c3a3e5fac66ef60c1e0e0b5220a5d/hypothesis-6.168.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d63b0226cd3e0d8bdd97c3384b22a21934ed4d53246c1c93575dada616672499", size = 784699, upload-time = "2026-09-28T05:18:54.194Z" }, + { url = "https://files.pythonhosted.org/packages/b7/aa/7d7349daf75b71f6f35876f8de115e974c5c04d600e86df1b2779b0883ab/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0369f5df055f96e117ab12e5f249668ff144731ab5280bc7a205fdf81f990b89", size = 1123016, upload-time = "2026-09-28T05:20:36.372Z" }, + { url = "https://files.pythonhosted.org/packages/00/f0/7774e1ea072708ea46cb25c4aeee5f9978b6c271764809069e8a6789858e/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f076bcd0f77fdcdb7797826c879099573d03a02e228ebe649ea917081b962ac0", size = 1168989, upload-time = "2026-09-28T05:20:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7d/113992abed9efbd7944e3a496a382da58152dce126fddf6419ff31a0a57d/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b823ba1fcec8da730f29316d010b06d3f7e0c3828dcf91020e24c55e7d24652a", size = 1298626, upload-time = "2026-09-28T05:19:40.986Z" }, + { url = "https://files.pythonhosted.org/packages/d5/65/3659fa5e733027e5b37a27486e57f4053535e40853d23501c422bb275043/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dd2849c269d674e4618590f3b48d443bd4c06b5aef3d8d869086c2e6d213d248", size = 1335184, upload-time = "2026-09-28T05:20:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/35aab2221b5ea65125340f236e1a765a9e9f3b28d89a389ea0033fed29f7/hypothesis-6.168.3-cp313-cp313-win_amd64.whl", hash = "sha256:3ef7d26f5789e691401d5f87eafed9bd2763f0dbe47af6d6b66012a509404766", size = 682173, upload-time = "2026-09-28T05:19:12.762Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/27b0cb56ff5d2bc92458bf6fcebdb1f0dc01f57f043a178e9f9d74498169/hypothesis-6.168.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e2d4c68729a13df9af4998d2652cfb5d541c5609b88c306880a5dfb284938ec2", size = 793287, upload-time = "2026-09-28T05:20:38.522Z" }, + { url = "https://files.pythonhosted.org/packages/e8/bd/5342f95c3bc36586777ef8cb8eba87ac7acf0184210327fb0e6d8654e295/hypothesis-6.168.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b345f818083ec99966a43ca4f7b38feb62c6920ce28572bc2bde4948a8b7eaba", size = 784857, upload-time = "2026-09-28T05:20:42.609Z" }, + { url = "https://files.pythonhosted.org/packages/4a/5f/fc774241518a0588d362680a3084275058aab86d6bc02a2c61e1073142d0/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0608c610fc002978fc5de0f471770d8817e9455cb8649a47983c9f8bccfc1897", size = 1123330, upload-time = "2026-09-28T05:19:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/131f16775a3dca5f4fe27f0d6ad9a9851600098a54a872d163f6ebf0b664/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dcf6448b1ecc37f2b23f2d1b3ddfc9ff6b6910614c15a642dc82f419b96037b", size = 1169178, upload-time = "2026-09-28T05:19:53.436Z" }, + { url = "https://files.pythonhosted.org/packages/06/61/c9f5bff8b73321c9fd12f2d69666c6e4861b97b60f5f24fdd6ac293007fd/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ae4f9f094041dcce5119ebd7bab71062743ab02b6e654d056b370beda78c19e2", size = 1299127, upload-time = "2026-09-28T05:20:14.486Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6d/d4618f8ab12dd76c4d58ea052252759aa2bf0c4e71f4b502ba5d577e0b9f/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d479985fe73af97badfb72dc6d20c6a353e486a36f6d065f600026e0cf954a86", size = 1335390, upload-time = "2026-09-28T05:20:10.326Z" }, + { url = "https://files.pythonhosted.org/packages/95/b6/727161e17cc297df1aeea945de05c532033b66751625bec192bc5b5ff707/hypothesis-6.168.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:785e2c45f8c08e274b4bf1ccae97f1a4e09407e9a68e80790cfab1d17a4a45fa", size = 624291, upload-time = "2026-09-28T05:18:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/77/23/2f9b506392a0b8712440bcb781abc5713be9ffac1303b6d10f3669050882/hypothesis-6.168.3-cp314-cp314-win_amd64.whl", hash = "sha256:320920b1e3dae8611eee8a03d063cf2187446f2a17c38cfb8a7fc1466f71eee2", size = 682064, upload-time = "2026-09-28T05:20:16.336Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/efabfd95eb2b69c0c9fa1e1c83c8290aa2715d46baeb5a7764faf09c133a/hypothesis-6.168.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:35380baa981108a7f60c4eab71e46acd8d8f58440520346a1a6aba06dca7e074", size = 791875, upload-time = "2026-09-28T05:19:37.789Z" }, + { url = "https://files.pythonhosted.org/packages/1b/fc/2a0ada1623a9a33048bbf9f00a7c92513398c6b8865cba5efb854262ce30/hypothesis-6.168.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f0aaaed00438fa6673d856aaee12a4a8afbde82a9f3c5ff487cacfb064239afe", size = 783412, upload-time = "2026-09-28T05:18:48.266Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/73c615d37eeb12da0209555612c32ced628d860267c23cfd2691c6207aea/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27e6df1576bf838e7f484d4ae5cba92114497ca30afb917056bf1ea33e95675", size = 1121662, upload-time = "2026-09-28T05:19:26.225Z" }, + { url = "https://files.pythonhosted.org/packages/92/54/1893344a3b8bbf83fa7c9bb7e96f6836580213854f46671cb749f7b4706c/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bc85014577982ec6d2e266edc5cd6e7a7d3674c648791ca983c67a52f89a0c4", size = 1167761, upload-time = "2026-09-28T05:18:49.85Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/a61d82968febd25a0f08ffbbfabfaeead66f68fc5fa73f3c9ece1c36fc8f/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ccfc29505aa1cdcc254cb9cd701fd0811fef5480addd97d4127a00df023410f7", size = 1297309, upload-time = "2026-09-28T05:19:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/01/fe8e4cf6d39d02f4efadaa351427fa13722086cfc54a2da3579741c5177a/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32d0699566aaa93f9e97a44705d7164386f1e91de78d277f53bada35e78bcc96", size = 1334260, upload-time = "2026-09-28T05:19:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/39/6a/09177ebc62f4778f94379ecade6a51299d3d8c4f4b75ba636bf3a0202364/hypothesis-6.168.3-cp314-cp314t-win_amd64.whl", hash = "sha256:28d88fa174ecbd4ecbd7bb290f06d0db084a3971c3f511ae2830b65b5e25500f", size = 681992, upload-time = "2026-09-28T05:19:48.043Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f6/890bf33d608cd63348d3146a3ca83362fbf09e589c5e5230a00c403070f4/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:61f5782d807b1e6aa5c9beef1054cb2037e7d1add48a64972cd6ee447778781f", size = 791231, upload-time = "2026-09-28T05:18:43.998Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/fc36b204f8aa7437c676576d9437f0422de46aa8a729e6cd5bbb0224e759/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:7aacf3cf40c7ce8f9e4924d5b57bc0b068beafdfed2347bcf160a28b4cfbba7b", size = 783171, upload-time = "2026-09-28T05:19:20.353Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d2/3cd087d577db67c404991d7723e64d7cd75570cdc82a0f7329aed6f2086c/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01768a03a30dc54df7fe457c0b34016c84d598fa00d5965ededab93ba4eb3408", size = 1121152, upload-time = "2026-09-28T05:18:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/42/6f/a05a68cc66e7a22701c50bf94fb9ddeb36f4f5d0de3cc130066709eda621/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1a8a4ffc6c6e6e577f2bfbcfebf7cffbb310283ba2532c729570a0a752cebaaa", size = 1144069, upload-time = "2026-09-28T05:20:44.705Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f4/fdd7a093fb2fb3a0ce24256c92ad5bf67936f4669bd06d5ceae4298150ec/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b987d73eba95183a7e59cca6d1925c588aa4307922d9852cc2b4d282a2ae4128", size = 1146692, upload-time = "2026-09-28T05:20:25.83Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/6dbd4377e935505ae4fc8ee4c7b18c69994c4bbaca015447c470218bdbee/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4569c39bd97d9573e946429ed676f3b55a7c8ed80920addd67d384a47d59b38", size = 1189480, upload-time = "2026-09-28T05:20:46.734Z" }, + { url = "https://files.pythonhosted.org/packages/ba/bf/ff288b496b690000d2686dcfa7f67855e4c5a6dddb464ed8e4880be83bb2/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6042b8707a4b25bbbfe20b110258fb7549a68951e5525608a8ce06091039e9fc", size = 1167109, upload-time = "2026-09-28T05:19:24.758Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d1/3fee2bc29fc747fabbb27e174515592e390809ca465d3bbbabbcfa3235a8/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:f413629de94d38a7a2ad259697a6752526143cb49c2e2d7bdba19381c80693f6", size = 1126823, upload-time = "2026-09-28T05:18:52.636Z" }, + { url = "https://files.pythonhosted.org/packages/58/6a/585294392fa6a6d9719446a042a777ba98ecca265d9e48cbedc10c88df0f/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f071737e4e775bebba07e319eb645a880d1e0186b4d24bad23255e849d86d483", size = 1155773, upload-time = "2026-09-28T05:20:51.268Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4d/fa283ff79996debf1ff08593e01f8b773eb8211b19b3d6d5d491317a65bf/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:f59a3912858d0609c26054aa1c474847c797937f5e0e1c77f0d3f08032e50f09", size = 1296671, upload-time = "2026-09-28T05:18:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/42/05/98f9c2f628da5afabb6c3e8df5d2d299d2d50bf306b14a6e26d3954c4951/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:f09c05a23a8025dd5cad07c2ed299a46778e72d49ff0dd5bf353bcc0f7dc1580", size = 1422001, upload-time = "2026-09-28T05:19:04.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c9/f2109ade29a7ec284d55bca328d784743e8b13e321576fd34ee7e65f99af/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:44ace770bda3a0301739fc5a413c764de790c739df1f1a7218dd049f8594d9f5", size = 1374182, upload-time = "2026-09-28T05:20:27.764Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/e05d5f72441564a3bebc71fa155deafd0fd3b015d6014ec8a00edf6e42bb/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:03b131043608f94a2578a2a896a1a72092acb7079815eef5b8513b08447e0e62", size = 1278402, upload-time = "2026-09-28T05:20:56.332Z" }, + { url = "https://files.pythonhosted.org/packages/96/d7/6988a7f1f69c5c530687dce03a32c157e2d878e3a2e32af9269ce016b78a/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:e9784aca26eddfe99b03a0292320db742cc8a74200ef864fdce949f526f973cd", size = 1297770, upload-time = "2026-09-28T05:19:11.387Z" }, + { url = "https://files.pythonhosted.org/packages/a2/28/5bb82b60b836bd2329e1fe01ad94efc2b14dfa806f8e50ed14b795d78770/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:2b52ac363096232bebc2add117e9178d91f4248f4cdb919fd1026b5f86a4bb16", size = 1333977, upload-time = "2026-09-28T05:20:02.483Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7d/d419841b8f65481ea1a50c4ba36f2670d48b8c7a51e4e8586089564cf7f6/hypothesis-6.168.3-cp315-abi3.abi3t-win32.whl", hash = "sha256:d28e3a6b511a74ce37df5274b51f36c2b274fea7365e00b16f0c81e22acd5957", size = 675394, upload-time = "2026-09-28T05:19:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d2/1de6a2ad100e44817f2e9a8e8ba3eeaf4769621f4f87f2d4966c4971fcc4/hypothesis-6.168.3-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:7b9638789548361a57d984f56619ac694a914c328181d911271618409261ff4a", size = 681699, upload-time = "2026-09-28T05:19:09.957Z" }, + { url = "https://files.pythonhosted.org/packages/c0/79/be3370fd02734d6b1d950183ae9224580d19fa8d356b95348d60f1e3eeb7/hypothesis-6.168.3-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:65d78e4357ec48ed2c67825f06740ee3599be4cfe770a6092bed07108d679ac5", size = 679849, upload-time = "2026-09-28T05:19:06.884Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1364,7 +1433,7 @@ wheels = [ [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1392,6 +1461,7 @@ dependencies = [ dev = [ { name = "build" }, { name = "furo" }, + { name = "hypothesis" }, { name = "itables" }, { name = "l0-python" }, { name = "pytest" }, @@ -1410,6 +1480,7 @@ requires-dist = [ { name = "google-auth" }, { name = "google-cloud-storage" }, { name = "huggingface-hub" }, + { name = "hypothesis", marker = "extra == 'dev'" }, { name = "itables", marker = "extra == 'dev'" }, { name = "l0-python", marker = "extra == 'dev'", specifier = ">=0.4.0" }, { name = "microcalibrate", specifier = ">=0.18.0" }, From cb194e4f7ca7c8f0824fd59bce49c73b33b2545c Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 10:12:28 -0400 Subject: [PATCH 19/70] Clear FRS capital on SPI copies, uprate it with savings, require PE-UK 2.107.0 - SPI-synthetic copies get pension_credit_reported_capital = -1: the FRS donor's capital does not belong with SPI-imputed incomes (24 of 152 SPI PC reporters were entitled in build E only because of it). - uprating_factors.csv and uprating_growth_factors.csv get the column with the savings row (policyengine-uk uprates it with the same per-capita GDP index), so uprate_dataset keeps the two in step. - policyengine-uk >= 2.107.0, the first release defining the variable (#2018); core 3.32.12 comes with it. Co-Authored-By: Claude Opus 5.5 --- .../datasets/imputations/income.py | 14 ++++++++ .../storage/uprating_factors.csv | 1 + .../storage/uprating_growth_factors.csv | 1 + .../test_pension_credit_reported_capital.py | 35 +++++++++++++++++++ pyproject.toml | 2 +- uv.lock | 16 ++++----- 6 files changed, 60 insertions(+), 9 deletions(-) diff --git a/policyengine_uk_data/datasets/imputations/income.py b/policyengine_uk_data/datasets/imputations/income.py index feafcb27c..bd5c1d113 100644 --- a/policyengine_uk_data/datasets/imputations/income.py +++ b/policyengine_uk_data/datasets/imputations/income.py @@ -234,6 +234,19 @@ def impute_over_incomes( return dataset +def clear_frs_reported_capital(dataset: UKSingleYearDataset) -> UKSingleYearDataset: + """Set ``pension_credit_reported_capital`` to -1 (none recorded). + + Used on the SPI-synthetic copy. The FRS benefit-unit capital belongs to the + FRS donor, whose incomes the SPI imputation replaces; keeping it would + assess an SPI-income unit on the donor's capital. With -1, policyengine-uk + uses the household capital proxy for these rows. + """ + if "pension_credit_reported_capital" in dataset.benunit.columns: + dataset.benunit["pension_credit_reported_capital"] = -1.0 + return dataset + + def impute_income(dataset: UKSingleYearDataset) -> UKSingleYearDataset: """ Impute detailed income components using trained model. @@ -262,6 +275,7 @@ def impute_income(dataset: UKSingleYearDataset) -> UKSingleYearDataset: zero_weight_copy = dataset.copy() zero_weight_copy.household.household_weight = 0 zero_weight_copy.household["household_is_spi_synthetic"] = True + zero_weight_copy = clear_frs_reported_capital(zero_weight_copy) zero_weight_copy = subsample_dataset(zero_weight_copy, 10_000) model = create_income_model() diff --git a/policyengine_uk_data/storage/uprating_factors.csv b/policyengine_uk_data/storage/uprating_factors.csv index dacd591bd..8453aaa97 100644 --- a/policyengine_uk_data/storage/uprating_factors.csv +++ b/policyengine_uk_data/storage/uprating_factors.csv @@ -54,6 +54,7 @@ other_investment_income,1.0,1.0,1.092,1.147,1.19,1.223,1.258,1.297,1.34,1.384,1. other_residential_property_value,1.0,1.0,1.092,1.147,1.19,1.223,1.258,1.297,1.34,1.384,1.384,1.384,1.384,1.384,1.384 owned_land,1.0,1.0,1.092,1.147,1.19,1.223,1.258,1.297,1.34,1.384,1.384,1.384,1.384,1.384,1.384 pension_credit_reported,1.0,1.04,1.144,1.209,1.237,1.277,1.301,1.327,1.353,1.38,1.38,1.38,1.38,1.38,1.38 +pension_credit_reported_capital,1.0,1.0,1.092,1.147,1.19,1.223,1.258,1.297,1.34,1.384,1.384,1.384,1.384,1.384,1.384 pension_income,1.0,1.0,1.092,1.147,1.19,1.223,1.258,1.297,1.34,1.384,1.384,1.384,1.384,1.384,1.384 personal_pension_contributions,1.0,1.059,1.127,1.205,1.261,1.308,1.337,1.365,1.396,1.431,1.431,1.431,1.431,1.431,1.431 petrol_spending,1.0,1.104,1.635,1.796,1.531,1.483,1.452,1.406,1.363,1.305,1.237,1.237,1.237,1.237,1.237 diff --git a/policyengine_uk_data/storage/uprating_growth_factors.csv b/policyengine_uk_data/storage/uprating_growth_factors.csv index 122b4ed69..6722cb582 100644 --- a/policyengine_uk_data/storage/uprating_growth_factors.csv +++ b/policyengine_uk_data/storage/uprating_growth_factors.csv @@ -54,6 +54,7 @@ other_investment_income,0,0.0,0.092,0.05,0.037,0.028,0.029,0.031,0.033,0.033,0.0 other_residential_property_value,0,0.0,0.092,0.05,0.037,0.028,0.029,0.031,0.033,0.033,0.0,0.0,0.0,0.0,0.0 owned_land,0,0.0,0.092,0.05,0.037,0.028,0.029,0.031,0.033,0.033,0.0,0.0,0.0,0.0,0.0 pension_credit_reported,0,0.04,0.1,0.057,0.023,0.032,0.019,0.02,0.02,0.02,0.0,0.0,0.0,0.0,0.0 +pension_credit_reported_capital,0,0.0,0.092,0.05,0.037,0.028,0.029,0.031,0.033,0.033,0.0,0.0,0.0,0.0,0.0 pension_income,0,0.0,0.092,0.05,0.037,0.028,0.029,0.031,0.033,0.033,0.0,0.0,0.0,0.0,0.0 personal_pension_contributions,0,0.059,0.064,0.069,0.046,0.037,0.022,0.021,0.023,0.025,0.0,0.0,0.0,0.0,0.0 petrol_spending,0,0.104,0.481,0.099,-0.147,-0.031,-0.021,-0.032,-0.031,-0.043,-0.052,0.0,0.0,0.0,0.0 diff --git a/policyengine_uk_data/tests/test_pension_credit_reported_capital.py b/policyengine_uk_data/tests/test_pension_credit_reported_capital.py index ca42cf438..0081769bb 100644 --- a/policyengine_uk_data/tests/test_pension_credit_reported_capital.py +++ b/policyengine_uk_data/tests/test_pension_credit_reported_capital.py @@ -42,3 +42,38 @@ def test_output_is_sentinel_or_non_negative_for_random_inputs(): keep = np.isfinite(values) & (values >= 0) np.testing.assert_array_equal(result[keep], values[keep]) assert np.all(result[~keep] == -1) + + +def test_uprating_rows_match_savings(): + """The column grows with ``savings`` (policyengine-uk uprates it with the + same per-capita GDP index), so the build's uprating keeps them in step.""" + from policyengine_uk_data.storage import STORAGE_FOLDER + + for name in ["uprating_factors.csv", "uprating_growth_factors.csv"]: + table = pd.read_csv(STORAGE_FOLDER / name).set_index("Variable") + pd.testing.assert_series_equal( + table.loc["pension_credit_reported_capital"], + table.loc["savings"], + check_names=False, + ) + + +def test_spi_copy_records_no_capital(): + """SPI-synthetic copies carry SPI-imputed incomes, so the FRS donor's + capital is cleared to -1 (household proxy) on them.""" + from types import SimpleNamespace + + from policyengine_uk_data.datasets.imputations.income import ( + clear_frs_reported_capital, + ) + + copy = SimpleNamespace( + benunit=pd.DataFrame({"pension_credit_reported_capital": [0.0, 300.0, -1.0]}) + ) + assert clear_frs_reported_capital(copy).benunit[ + "pension_credit_reported_capital" + ].tolist() == [-1.0, -1.0, -1.0] + without = SimpleNamespace(benunit=pd.DataFrame({"benunit_id": [1, 2]})) + assert "pension_credit_reported_capital" not in ( + clear_frs_reported_capital(without).benunit.columns + ) diff --git a/pyproject.toml b/pyproject.toml index beff7f1a4..8b87d71d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ dependencies = [ "policyengine", "google-cloud-storage", "google-auth", - "policyengine-uk>=2.93.0", + "policyengine-uk>=2.107.0", "microcalibrate>=0.18.0", "microimpute>=1.0.1", "ruff>=0.9.0", diff --git a/uv.lock b/uv.lock index a3e9f44d9..ab6e353ec 100644 --- a/uv.lock +++ b/uv.lock @@ -1322,7 +1322,7 @@ wheels = [ [[package]] name = "policyengine-core" -version = "3.31.1" +version = "3.32.12" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "dpath" }, @@ -1342,14 +1342,14 @@ dependencies = [ { name = "standard-imghdr" }, { name = "wheel" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9f/1e/cd58cb6947720a5b7850c06a988abbc0eef53e2be192ed49a17ed62d78d4/policyengine_core-3.31.1.tar.gz", hash = "sha256:3ca8f666c3e67b0c0ce992fa3dc9d1ff2c095a3860f3d719883588b2f9e44ec3", size = 500450, upload-time = "2026-08-28T05:06:43.16Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/cd/2e9c7e4a0c4395a0d556cebde1fa92b94c4c2c594815938e5bfd052b3b47/policyengine_core-3.32.12.tar.gz", hash = "sha256:1d163936b3e4b2704cf0fe33eee3b93832a84aa4bf027b552a745d6f6d35bad8", size = 451537, upload-time = "2026-10-02T04:58:58.42Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/74/ce/995992049664b6b4cecd1e4db76b143e07aaee8239043057436f48ccbe75/policyengine_core-3.31.1-py3-none-any.whl", hash = "sha256:308200b28aa26bb79d7f0badebac391c0a81704d45ba4ef48ac79e88f0b21e6b", size = 245719, upload-time = "2026-08-28T05:06:41.769Z" }, + { url = "https://files.pythonhosted.org/packages/36/9e/f8f41e2f33454be51e9116c1b96db77ec9982d5d97d8691a0d8bd7b35b99/policyengine_core-3.32.12-py3-none-any.whl", hash = "sha256:44f0cdc100ff171f107671965bdbb41aa0c9965f632e400734e9eb2bf6ed80ee", size = 250582, upload-time = "2026-10-02T04:58:56.986Z" }, ] [[package]] name = "policyengine-uk" -version = "2.93.0" +version = "2.107.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "microdf-python" }, @@ -1357,14 +1357,14 @@ dependencies = [ { name = "pydantic" }, { name = "tables" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/af/04/ab8fbb526c22d5c422eed374244d977b123241baa6f96a604c600876647a/policyengine_uk-2.93.0.tar.gz", hash = "sha256:e3b8eab824e7dad3a1fd61fa8503442a8b1b2285e05fff7ab60f93b6a9b22578", size = 1246786, upload-time = "2026-08-28T14:55:16.266Z" } +sdist = { url = "https://files.pythonhosted.org/packages/13/d6/cb79e5e93b9209e9af1b3962db951b7655af3d1a3d53f20a15c7208330e4/policyengine_uk-2.107.0.tar.gz", hash = "sha256:e170c7539a891a91405dba8f1bbc534d54c70283b6ff685661f891c8df0b821c", size = 1448364, upload-time = "2026-10-02T13:38:49.609Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6f/74/5e626f9f80b9485b10bcccbef8d93a635abe309bfdfad437b5de38a80fae/policyengine_uk-2.93.0-py3-none-any.whl", hash = "sha256:4f95feffa3b27fab927f9b903f8a9f1f0d63b2fba209d6b8ac010f0f07a5ec7c", size = 2046525, upload-time = "2026-08-28T14:55:14.114Z" }, + { url = "https://files.pythonhosted.org/packages/fb/1e/195c05d73e563f08ad14dff322f35efa09ef7b168c1732b3ff30d66c8b35/policyengine_uk-2.107.0-py3-none-any.whl", hash = "sha256:1ce84c3edefd4e07ac5b9d9254448ad3f0aada0694212c543b4ba3a6106b1973", size = 2399214, upload-time = "2026-10-02T13:38:47.79Z" }, ] [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1419,7 +1419,7 @@ requires-dist = [ { name = "pandas" }, { name = "policyengine" }, { name = "policyengine-core", specifier = ">=3.19.4" }, - { name = "policyengine-uk", specifier = ">=2.93.0" }, + { name = "policyengine-uk", specifier = ">=2.107.0" }, { name = "pydantic", specifier = ">=2.0" }, { name = "pytest", marker = "extra == 'dev'" }, { name = "pyyaml" }, From e05539e0f6bef87130cc0f4884453b5985313e94 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 11:49:52 -0400 Subject: [PATCH 20/70] Set UC gainful self-employment from the FRS main-job status policyengine-uk#2081 adds the person input uc_is_in_gainful_self_employment (UC Regs 2013 reg 64). Without it the model reads any self-employment income other than zero as gainful self-employment and none as none, so a trader who breaks even, or whose loss this build floors at zero, never gets the minimum income floor, while an employee's small side trade does. Set it from the FRS: true when the main job (EMPSTATI) is self-employment, whatever its profit (ADM H4013, H4054, H4503), and when a side trade's profit is above the person's employment income (ADM H4034). The SPI copy in impute_income re-derives it from its own imputed incomes. Releases of policyengine-uk without the variable skip the column. Co-Authored-By: Claude Opus 5.5 --- .../frs-uc-gainful-self-employment.fixed.md | 1 + policyengine_uk_data/datasets/frs.py | 41 ++++ .../datasets/imputations/income.py | 17 ++ .../tests/test_uc_gainful_self_employment.py | 201 ++++++++++++++++++ pyproject.toml | 1 + uv.lock | 73 ++++++- 6 files changed, 333 insertions(+), 1 deletion(-) create mode 100644 changelog.d/frs-uc-gainful-self-employment.fixed.md create mode 100644 policyengine_uk_data/tests/test_uc_gainful_self_employment.py diff --git a/changelog.d/frs-uc-gainful-self-employment.fixed.md b/changelog.d/frs-uc-gainful-self-employment.fixed.md new file mode 100644 index 000000000..f29f6caee --- /dev/null +++ b/changelog.d/frs-uc-gainful-self-employment.fixed.md @@ -0,0 +1 @@ +Set policyengine-uk's Universal Credit input uc_is_in_gainful_self_employment from the FRS main-job status (EMPSTATI): true for every adult whose main job is self-employment, including traders who break even or make a loss, and false for a side trade beside an employee's main job (UC Regs 2013 reg 64(a)). diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index e440d4869..bac740ca5 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -53,6 +53,10 @@ EmploymentStatus.LONG_TERM_DISABLED.name, EmploymentStatus.SHORT_TERM_DISABLED.name, ) +SELF_EMPLOYED_STATUSES = ( + EmploymentStatus.FT_SELF_EMPLOYED.name, + EmploymentStatus.PT_SELF_EMPLOYED.name, +) FORMULA_MODELED_EDUCATION_GRANT_VARIABLES = ( "childcare_grant", "parents_learning_allowance", @@ -392,6 +396,34 @@ def derive_is_parent_from_frs_microdata( return is_adult_record & has_dependent_children +def derive_uc_is_in_gainful_self_employment( + employment_status, self_employment_income, employment_income +) -> np.ndarray: + """Whether each person is in gainful self-employment for Universal Credit. + + UC Regs 2013 reg 64(a) asks whether the person carries on a trade as their + main employment. DWP's Advice for Decision Making starts from hours + (H4031) but lets earnings outweigh them: someone who works more hours as + an employee but earns more from self-employment is likely to be gainfully + self-employed (H4034). So the flag is true for: + + - a self-employed main job (FRS EMPSTATI, the job the respondent names as + their dominant activity, else the one with more hours), whatever its + profit: a trade can make a loss or break even and still be carried on + in expectation of profit (ADM H4013, H4054, H4503); + - a side trade whose profit is above the person's employment income. + + policyengine-uk's default reads any self-employment income other than + zero as gainful self-employment, and none as none. + """ + self_employed_main_job = np.isin( + np.asarray(employment_status, dtype=object), SELF_EMPLOYED_STATUSES + ) + profit = np.asarray(self_employment_income, dtype=float) + pay = np.asarray(employment_income, dtype=float) + return self_employed_main_job | ((profit > 0) & (profit > pay)) + + def _as_non_negative_array(values) -> np.ndarray: values = np.asarray(values, dtype=float) return np.maximum(np.nan_to_num(values, nan=0.0), 0.0) @@ -1045,6 +1077,15 @@ def determine_education_level(fted_val, typeed2_val, age_val): ) * WEEKS_IN_YEAR pe_person["self_employment_income"] = np.maximum(0, person.seincam2) * WEEKS_IN_YEAR + # policyengine-uk releases without this input skip the column and keep + # their formula. + pe_person["uc_is_in_gainful_self_employment"] = ( + derive_uc_is_in_gainful_self_employment( + pe_person.employment_status, + pe_person.self_employment_income, + pe_person.employment_income, + ) + ) INVERTED_BASIC_RATE = 1.25 diff --git a/policyengine_uk_data/datasets/imputations/income.py b/policyengine_uk_data/datasets/imputations/income.py index feafcb27c..98fe14a5c 100644 --- a/policyengine_uk_data/datasets/imputations/income.py +++ b/policyengine_uk_data/datasets/imputations/income.py @@ -292,6 +292,23 @@ def impute_income(dataset: UKSingleYearDataset) -> UKSingleYearDataset: target_dataset=zero_weight_copy, ) + # The copy keeps its FRS donor's employment status but now has SPI + # incomes, so derive its gainful self-employment flag again from the + # copy's own values. + if "uc_is_in_gainful_self_employment" in zero_weight_copy.person.columns: + from policyengine_uk_data.datasets.frs import ( + derive_uc_is_in_gainful_self_employment, + ) + + person = zero_weight_copy.person + person["uc_is_in_gainful_self_employment"] = ( + derive_uc_is_in_gainful_self_employment( + person.employment_status, + person.self_employment_income, + person.employment_income, + ) + ) + dataset = impute_over_incomes( dataset, model, diff --git a/policyengine_uk_data/tests/test_uc_gainful_self_employment.py b/policyengine_uk_data/tests/test_uc_gainful_self_employment.py new file mode 100644 index 000000000..589521600 --- /dev/null +++ b/policyengine_uk_data/tests/test_uc_gainful_self_employment.py @@ -0,0 +1,201 @@ +import numpy as np +import pandas as pd +import pytest +from hypothesis import given, settings +from hypothesis import strategies as st +from policyengine_uk.variables.household.income.employment_status import ( + EmploymentStatus, +) + +from policyengine_uk_data.datasets.frs import ( + SELF_EMPLOYED_STATUSES, + derive_uc_is_in_gainful_self_employment, +) +from policyengine_uk_data.tests.test_imputation_source_flags import ( + _FakeDataset, + _stack_without_remapping, +) + +STATUSES = [status.name for status in EmploymentStatus] +GAINFUL = "uc_is_in_gainful_self_employment" +incomes = st.floats(0, 1e6, allow_nan=False) + + +def derive(status, profit, pay): + return derive_uc_is_in_gainful_self_employment([status], [profit], [pay])[0] + + +def test_self_employed_statuses_are_model_enum_members(): + assert set(SELF_EMPLOYED_STATUSES) <= set(STATUSES) + + +@pytest.mark.parametrize("status", STATUSES) +@pytest.mark.parametrize("profit", [0.0, 5_000.0]) +def test_every_status_without_a_side_trade_that_out_earns_pay(status, profit): + # Pay at or above profit: only the main-job status decides. + expected = status in ("FT_SELF_EMPLOYED", "PT_SELF_EMPLOYED") + assert derive(status, profit, 10_000.0) == expected + + +@pytest.mark.parametrize("profit", [0.0, 1.0, 20_000.0]) +def test_self_employed_main_job_is_gainful_whatever_the_profit(profit): + # A loss reaches this build floored at zero, so zero covers losses too. + for status in SELF_EMPLOYED_STATUSES: + assert derive(status, profit, 0.0) + assert derive(status, profit, 50_000.0) + + +def test_side_trade_counts_only_when_it_out_earns_pay(): + # ADM H4034 example 1 (Jos): more employed hours, more self-employed pay. + assert derive("PT_EMPLOYED", 140 * 52, 80 * 52) + # ADM H4035 example 2 (Ann): the job earns more. + assert not derive("PT_EMPLOYED", 40 * 52, 49.6 * 52) + assert not derive("FT_EMPLOYED", 10_000.0, 10_000.0) + assert not derive("FT_EMPLOYED", 0.0, 0.0) + assert derive("UNEMPLOYED", 1.0, 0.0) + + +@settings(max_examples=500, deadline=None) +@given(st.sampled_from(STATUSES), incomes, incomes) +def test_invariants(status, profit, pay): + gainful = derive(status, profit, pay) + # Every self-employed main job is gainful. + if status in SELF_EMPLOYED_STATUSES: + assert gainful + # Nobody else is gainful without a profit above their pay. + if gainful: + assert status in SELF_EMPLOYED_STATUSES or profit > max(pay, 0) + # More profit never removes the flag; more pay never adds it. + assert derive(status, profit * 2 + 1, pay) >= gainful + assert derive(status, profit, pay * 2 + 1) <= gainful + + +@settings(max_examples=100, deadline=None) +@given(st.lists(st.tuples(st.sampled_from(STATUSES), incomes, incomes), max_size=40)) +def test_vectorised_matches_elementwise(rows): + statuses = [r[0] for r in rows] + profits = [r[1] for r in rows] + pays = [r[2] for r in rows] + result = derive_uc_is_in_gainful_self_employment(statuses, profits, pays) + assert result.dtype == bool + assert result.tolist() == [derive(*r) for r in rows] + np.testing.assert_array_equal( + derive_uc_is_in_gainful_self_employment( + pd.Series(statuses, dtype="category"), + pd.Series(profits, dtype=float), + pd.Series(pays, dtype=float), + ), + result, + ) + + +def _frs_like_dataset(statuses, profits, pays): + n = len(statuses) + person = pd.DataFrame( + { + "person_id": np.arange(1, n + 1), + "person_household_id": np.arange(1, n + 1), + "person_benunit_id": np.arange(1, n + 1), + "employment_status": statuses, + "employment_income": pays, + "self_employment_income": profits, + "savings_interest_income": 0.0, + "dividend_income": 0.0, + "private_pension_income": 0.0, + "property_income": 0.0, + } + ) + person[GAINFUL] = derive_uc_is_in_gainful_self_employment( + person.employment_status, + person.self_employment_income, + person.employment_income, + ) + household = pd.DataFrame( + { + "household_id": np.arange(1, n + 1), + "household_weight": 1.0, + "region": "LONDON", + } + ) + return _FakeDataset(person=person, household=household) + + +@settings(max_examples=50, deadline=None) +@given( + st.lists( + st.tuples(st.sampled_from(STATUSES), incomes, incomes, incomes, incomes), + min_size=1, + max_size=10, + ) +) +def test_spi_copy_flag_follows_its_own_imputed_incomes(rows): + from policyengine_uk_data.datasets import disability_benefits + from policyengine_uk_data.datasets.imputations import frs_only + from policyengine_uk_data.datasets.imputations import income as income_module + + imputed_profit = [r[3] for r in rows] + imputed_pay = [r[4] for r in rows] + + def impute_over_incomes(dataset, _model, output_variables): + dataset = dataset.copy() + if "self_employment_income" in output_variables: + dataset.person["self_employment_income"] = imputed_profit + dataset.person["employment_income"] = imputed_pay + return dataset + + with pytest.MonkeyPatch.context() as m: + m.setattr(income_module, "create_income_model", lambda: object()) + m.setattr(income_module, "subsample_dataset", lambda d, _n: d.copy()) + m.setattr(income_module, "impute_over_incomes", impute_over_incomes) + m.setattr( + frs_only, + "impute_frs_only_variables", + lambda train_dataset, target_dataset: target_dataset, + ) + m.setattr( + disability_benefits, + "strip_internal_disability_reported_amounts", + lambda dataset: dataset, + ) + m.setattr(income_module, "stack_datasets", _stack_without_remapping) + result = income_module.impute_income( + _frs_like_dataset( + [r[0] for r in rows], [r[1] for r in rows], [r[2] for r in rows] + ) + ) + + person = result.person + n = len(rows) + assert len(person) == 2 * n + # The SPI copy kept the donors' statuses and took the imputed incomes. + assert person.self_employment_income.iloc[n:].tolist() == imputed_profit + np.testing.assert_array_equal( + person[GAINFUL].to_numpy(dtype=bool), + derive_uc_is_in_gainful_self_employment( + person.employment_status, + person.self_employment_income, + person.employment_income, + ), + ) + + +@pytest.mark.parametrize("fixture", ["frs", "enhanced_frs"]) +def test_built_dataset_flag(fixture, request): + dataset = request.getfixturevalue(fixture) + person = dataset.person + if GAINFUL not in person.columns: + pytest.skip(f"{fixture} was built before this input existed") + gainful = person[GAINFUL].to_numpy(dtype=bool) + self_employed = np.isin(person.employment_status, SELF_EMPLOYED_STATUSES) + assert gainful[self_employed].all() + profit = person.self_employment_income.to_numpy() + assert (profit[gainful & ~self_employed] > 0).all() + if fixture == "frs": + # Later enhanced-FRS stages reprice incomes, so the exact rule holds on + # the base build only. + np.testing.assert_array_equal( + gainful, + derive_uc_is_in_gainful_self_employment( + person.employment_status, profit, person.employment_income + ), + ) diff --git a/pyproject.toml b/pyproject.toml index beff7f1a4..58de5b1d3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,7 @@ dependencies = [ dev = [ "ruff>=0.9.0", "pytest", + "hypothesis", "torch", "l0-python>=0.4.0", "tables", diff --git a/uv.lock b/uv.lock index a3e9f44d9..c301c6c9f 100644 --- a/uv.lock +++ b/uv.lock @@ -577,6 +577,75 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/f4/124858007ddf3c61e9b144107304c9152fa80b5b6c168da07d86fe583cc1/huggingface_hub-1.1.5-py3-none-any.whl", hash = "sha256:e88ecc129011f37b868586bbcfae6c56868cae80cd56a79d61575426a3aa0d7d", size = 516000, upload-time = "2025-11-20T15:49:30.926Z" }, ] +[[package]] +name = "hypothesis" +version = "6.168.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/b7/13118bbc45d6d8b9d04e2de779e2a4ff23145ea39efa692b994fb874ca72/hypothesis-6.168.3.tar.gz", hash = "sha256:a43388f9067678fef6e13bdff325b6cfa6961a590498bb37f7ff31589c83bc75", size = 511022, upload-time = "2026-09-28T05:20:58.499Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/cd/746a2fc1e5e5ba34f07ea6ee1ad07525a3dde5ff4836db3a7980af49a891/hypothesis-6.168.3-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d20972ca134e652e9928ecd200966a8a2857adc2812c1d74b12a872e5cd503eb", size = 791536, upload-time = "2026-09-28T05:18:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0f/7a158e377b69556c8e12c25c8fd811d0103e54c24a12dab1f3b9819f202e/hypothesis-6.168.3-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:eafbec09d3e87d13d8242411d1f5868b5e879f1bd6d95e233e9ff80c527bea1c", size = 787313, upload-time = "2026-09-28T05:20:18.122Z" }, + { url = "https://files.pythonhosted.org/packages/45/c6/7df9104ee359e8fcd77791781c47e70794964ca69673665e0de2a6590f4c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c5627497968cc62d140e9fde1ea21e12cac7b64dc419fea8286cd34ff1ad4e", size = 1124036, upload-time = "2026-09-28T05:20:04.372Z" }, + { url = "https://files.pythonhosted.org/packages/92/0f/8a61715404a73b9a82cb1f976803428d603cdea976a9c30266c72ad6a7ce/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dc56e6dc6eeb0aeb08ac463f847279bde2336c4786faf7ee0af4b93cd031a7", size = 1147875, upload-time = "2026-09-28T05:19:15.495Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3f/2b16e95cc3b9a069afa23830a012aefe377ce4a457a227e5a5026eb827ff/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:753bb501f8560d2e321ed3b62596b4496c56f15668b0a0669231ccc3e6c4e80d", size = 1149489, upload-time = "2026-09-28T05:19:18.886Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e7/d7cf6dc068bb02732b2a6e38a35a0dcb7f2137608198fc79d740f69d197c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71ab606c472449cb872ef2a7acaec679ee4f651b7f0a477a04ebc85d8933ef8c", size = 1191992, upload-time = "2026-09-28T05:19:21.83Z" }, + { url = "https://files.pythonhosted.org/packages/5f/26/f1e5b25dec15998e8375d722825ec3dae1075cbe7cb1f74221b2312a2e33/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26928956c54748e4dfa587333741ab750246123b93484955646ff316cca27eef", size = 1169911, upload-time = "2026-09-28T05:19:27.996Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/901234a49147e6bf8a5b9e54b775706a223c2b52befea1106ea2aaf15d48/hypothesis-6.168.3-cp310-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:0bdfc53c041b61c854fa3761735736b991bc2bddafee45a361cfe4d43027c1ef", size = 1129406, upload-time = "2026-09-28T05:18:42.632Z" }, + { url = "https://files.pythonhosted.org/packages/55/c1/5fc9ff91ec9fba6bb527833386c66812524b5cc75fe7d4a4f9122ee1c420/hypothesis-6.168.3-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:650528e2b1e2a45e95c2df624d4b9364b8ac5a027ba84e1eea2bc5398dd01dcd", size = 1160399, upload-time = "2026-09-28T05:20:23.911Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d2/49ad1ef5c55547c8abfd0fc571b3493806dda530fd5cb3d8263dbad86a72/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:209dc54cdb1b4d6d7020ad8d09e44c49756361b7183adacea4d6f5705085b595", size = 1299906, upload-time = "2026-09-28T05:18:58.417Z" }, + { url = "https://files.pythonhosted.org/packages/0d/5f/f98a26094c4f462c4215807bed0f9a6b5508b27a3c329bcba1bc8adc7ac7/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:af8ca98cd11dc7f9427bb90483abcd9688d4df2e8e63893a30a2423b027ebb11", size = 1425538, upload-time = "2026-09-28T05:20:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b8/c5b4406e3a6591e51a42f85469351d1d824e0a54b84167aec9b2353759fe/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:f8122cfdd0bc0ba843063effa22ac310bdebdb3a1319bf1e63f14baa119c72ab", size = 1377084, upload-time = "2026-09-28T05:20:06.618Z" }, + { url = "https://files.pythonhosted.org/packages/e0/01/0d84a8ea469d024c15f602799c0b8410fbe03d99fdb0370449b33c3c916f/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4bedbb379eab34f792af7ee9a05aae04e9c08bbb52e0f90f5a2110d4fe4b2fbd", size = 1281162, upload-time = "2026-09-28T05:19:42.768Z" }, + { url = "https://files.pythonhosted.org/packages/22/b5/ea6435038de1a795f005cb603531e8ccc053febc50180f3ab55583c9c60e/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:5a953115b9f5c95133ab2d04efffeec96e5658c3207923dca7285f7db3e6bbef", size = 1300433, upload-time = "2026-09-28T05:18:55.634Z" }, + { url = "https://files.pythonhosted.org/packages/6c/78/fa6c77d9f64b6d592e69e582d83cbce7d7e56897faa4762885a2123b0166/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6173558e676ad25ed1e20507fa4024a0d816dd90f715f77006e5a28f19109026", size = 1336273, upload-time = "2026-09-28T05:19:08.273Z" }, + { url = "https://files.pythonhosted.org/packages/f1/56/4acd0d778bab818c9ea336fcba768bf43bc70db7f84cc373579298df4641/hypothesis-6.168.3-cp310-abi3-win32.whl", hash = "sha256:dc66390fb12d80585aa9222bf538ce8b7aa22cf5d118250647355a1c9e8f62f4", size = 678211, upload-time = "2026-09-28T05:19:23.355Z" }, + { url = "https://files.pythonhosted.org/packages/b0/db/0a02b146ad1c30f9716362f2e1a379dfd6b0f7be03ac1e22c9da24c9e2a9/hypothesis-6.168.3-cp310-abi3-win_amd64.whl", hash = "sha256:92325b276360fe86c5bf71a568c0d53a6d140b0de36dcf029f9164a17803bb24", size = 684906, upload-time = "2026-09-28T05:18:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c0/958deaf726848f96f52250740bf39f13f476b068e22f73e2b358eaa07532/hypothesis-6.168.3-cp310-abi3-win_arm64.whl", hash = "sha256:3cf6f1eeaf41cd8d60cf1f88fde905ca1dd77c906929a507d6ac7f66f2ccba2a", size = 683292, upload-time = "2026-09-28T05:19:57.404Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a2/6787da846d929e52fc3344d803299c45782dbeac287528af08380e984bf8/hypothesis-6.168.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1b230a850de63334c16654a34a2d547e0179d36b9071d4439b3e7237f6d077e7", size = 793254, upload-time = "2026-09-28T05:19:36.294Z" }, + { url = "https://files.pythonhosted.org/packages/89/ba/2893f5ca42501f4d562cba3229c8994c3a3e5fac66ef60c1e0e0b5220a5d/hypothesis-6.168.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d63b0226cd3e0d8bdd97c3384b22a21934ed4d53246c1c93575dada616672499", size = 784699, upload-time = "2026-09-28T05:18:54.194Z" }, + { url = "https://files.pythonhosted.org/packages/b7/aa/7d7349daf75b71f6f35876f8de115e974c5c04d600e86df1b2779b0883ab/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0369f5df055f96e117ab12e5f249668ff144731ab5280bc7a205fdf81f990b89", size = 1123016, upload-time = "2026-09-28T05:20:36.372Z" }, + { url = "https://files.pythonhosted.org/packages/00/f0/7774e1ea072708ea46cb25c4aeee5f9978b6c271764809069e8a6789858e/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f076bcd0f77fdcdb7797826c879099573d03a02e228ebe649ea917081b962ac0", size = 1168989, upload-time = "2026-09-28T05:20:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7d/113992abed9efbd7944e3a496a382da58152dce126fddf6419ff31a0a57d/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b823ba1fcec8da730f29316d010b06d3f7e0c3828dcf91020e24c55e7d24652a", size = 1298626, upload-time = "2026-09-28T05:19:40.986Z" }, + { url = "https://files.pythonhosted.org/packages/d5/65/3659fa5e733027e5b37a27486e57f4053535e40853d23501c422bb275043/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dd2849c269d674e4618590f3b48d443bd4c06b5aef3d8d869086c2e6d213d248", size = 1335184, upload-time = "2026-09-28T05:20:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/35aab2221b5ea65125340f236e1a765a9e9f3b28d89a389ea0033fed29f7/hypothesis-6.168.3-cp313-cp313-win_amd64.whl", hash = "sha256:3ef7d26f5789e691401d5f87eafed9bd2763f0dbe47af6d6b66012a509404766", size = 682173, upload-time = "2026-09-28T05:19:12.762Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/27b0cb56ff5d2bc92458bf6fcebdb1f0dc01f57f043a178e9f9d74498169/hypothesis-6.168.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e2d4c68729a13df9af4998d2652cfb5d541c5609b88c306880a5dfb284938ec2", size = 793287, upload-time = "2026-09-28T05:20:38.522Z" }, + { url = "https://files.pythonhosted.org/packages/e8/bd/5342f95c3bc36586777ef8cb8eba87ac7acf0184210327fb0e6d8654e295/hypothesis-6.168.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b345f818083ec99966a43ca4f7b38feb62c6920ce28572bc2bde4948a8b7eaba", size = 784857, upload-time = "2026-09-28T05:20:42.609Z" }, + { url = "https://files.pythonhosted.org/packages/4a/5f/fc774241518a0588d362680a3084275058aab86d6bc02a2c61e1073142d0/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0608c610fc002978fc5de0f471770d8817e9455cb8649a47983c9f8bccfc1897", size = 1123330, upload-time = "2026-09-28T05:19:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/131f16775a3dca5f4fe27f0d6ad9a9851600098a54a872d163f6ebf0b664/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dcf6448b1ecc37f2b23f2d1b3ddfc9ff6b6910614c15a642dc82f419b96037b", size = 1169178, upload-time = "2026-09-28T05:19:53.436Z" }, + { url = "https://files.pythonhosted.org/packages/06/61/c9f5bff8b73321c9fd12f2d69666c6e4861b97b60f5f24fdd6ac293007fd/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ae4f9f094041dcce5119ebd7bab71062743ab02b6e654d056b370beda78c19e2", size = 1299127, upload-time = "2026-09-28T05:20:14.486Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6d/d4618f8ab12dd76c4d58ea052252759aa2bf0c4e71f4b502ba5d577e0b9f/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d479985fe73af97badfb72dc6d20c6a353e486a36f6d065f600026e0cf954a86", size = 1335390, upload-time = "2026-09-28T05:20:10.326Z" }, + { url = "https://files.pythonhosted.org/packages/95/b6/727161e17cc297df1aeea945de05c532033b66751625bec192bc5b5ff707/hypothesis-6.168.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:785e2c45f8c08e274b4bf1ccae97f1a4e09407e9a68e80790cfab1d17a4a45fa", size = 624291, upload-time = "2026-09-28T05:18:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/77/23/2f9b506392a0b8712440bcb781abc5713be9ffac1303b6d10f3669050882/hypothesis-6.168.3-cp314-cp314-win_amd64.whl", hash = "sha256:320920b1e3dae8611eee8a03d063cf2187446f2a17c38cfb8a7fc1466f71eee2", size = 682064, upload-time = "2026-09-28T05:20:16.336Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/efabfd95eb2b69c0c9fa1e1c83c8290aa2715d46baeb5a7764faf09c133a/hypothesis-6.168.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:35380baa981108a7f60c4eab71e46acd8d8f58440520346a1a6aba06dca7e074", size = 791875, upload-time = "2026-09-28T05:19:37.789Z" }, + { url = "https://files.pythonhosted.org/packages/1b/fc/2a0ada1623a9a33048bbf9f00a7c92513398c6b8865cba5efb854262ce30/hypothesis-6.168.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f0aaaed00438fa6673d856aaee12a4a8afbde82a9f3c5ff487cacfb064239afe", size = 783412, upload-time = "2026-09-28T05:18:48.266Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/73c615d37eeb12da0209555612c32ced628d860267c23cfd2691c6207aea/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27e6df1576bf838e7f484d4ae5cba92114497ca30afb917056bf1ea33e95675", size = 1121662, upload-time = "2026-09-28T05:19:26.225Z" }, + { url = "https://files.pythonhosted.org/packages/92/54/1893344a3b8bbf83fa7c9bb7e96f6836580213854f46671cb749f7b4706c/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bc85014577982ec6d2e266edc5cd6e7a7d3674c648791ca983c67a52f89a0c4", size = 1167761, upload-time = "2026-09-28T05:18:49.85Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/a61d82968febd25a0f08ffbbfabfaeead66f68fc5fa73f3c9ece1c36fc8f/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ccfc29505aa1cdcc254cb9cd701fd0811fef5480addd97d4127a00df023410f7", size = 1297309, upload-time = "2026-09-28T05:19:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/01/fe8e4cf6d39d02f4efadaa351427fa13722086cfc54a2da3579741c5177a/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32d0699566aaa93f9e97a44705d7164386f1e91de78d277f53bada35e78bcc96", size = 1334260, upload-time = "2026-09-28T05:19:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/39/6a/09177ebc62f4778f94379ecade6a51299d3d8c4f4b75ba636bf3a0202364/hypothesis-6.168.3-cp314-cp314t-win_amd64.whl", hash = "sha256:28d88fa174ecbd4ecbd7bb290f06d0db084a3971c3f511ae2830b65b5e25500f", size = 681992, upload-time = "2026-09-28T05:19:48.043Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f6/890bf33d608cd63348d3146a3ca83362fbf09e589c5e5230a00c403070f4/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:61f5782d807b1e6aa5c9beef1054cb2037e7d1add48a64972cd6ee447778781f", size = 791231, upload-time = "2026-09-28T05:18:43.998Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/fc36b204f8aa7437c676576d9437f0422de46aa8a729e6cd5bbb0224e759/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:7aacf3cf40c7ce8f9e4924d5b57bc0b068beafdfed2347bcf160a28b4cfbba7b", size = 783171, upload-time = "2026-09-28T05:19:20.353Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d2/3cd087d577db67c404991d7723e64d7cd75570cdc82a0f7329aed6f2086c/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01768a03a30dc54df7fe457c0b34016c84d598fa00d5965ededab93ba4eb3408", size = 1121152, upload-time = "2026-09-28T05:18:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/42/6f/a05a68cc66e7a22701c50bf94fb9ddeb36f4f5d0de3cc130066709eda621/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1a8a4ffc6c6e6e577f2bfbcfebf7cffbb310283ba2532c729570a0a752cebaaa", size = 1144069, upload-time = "2026-09-28T05:20:44.705Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f4/fdd7a093fb2fb3a0ce24256c92ad5bf67936f4669bd06d5ceae4298150ec/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b987d73eba95183a7e59cca6d1925c588aa4307922d9852cc2b4d282a2ae4128", size = 1146692, upload-time = "2026-09-28T05:20:25.83Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/6dbd4377e935505ae4fc8ee4c7b18c69994c4bbaca015447c470218bdbee/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4569c39bd97d9573e946429ed676f3b55a7c8ed80920addd67d384a47d59b38", size = 1189480, upload-time = "2026-09-28T05:20:46.734Z" }, + { url = "https://files.pythonhosted.org/packages/ba/bf/ff288b496b690000d2686dcfa7f67855e4c5a6dddb464ed8e4880be83bb2/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6042b8707a4b25bbbfe20b110258fb7549a68951e5525608a8ce06091039e9fc", size = 1167109, upload-time = "2026-09-28T05:19:24.758Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d1/3fee2bc29fc747fabbb27e174515592e390809ca465d3bbbabbcfa3235a8/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:f413629de94d38a7a2ad259697a6752526143cb49c2e2d7bdba19381c80693f6", size = 1126823, upload-time = "2026-09-28T05:18:52.636Z" }, + { url = "https://files.pythonhosted.org/packages/58/6a/585294392fa6a6d9719446a042a777ba98ecca265d9e48cbedc10c88df0f/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f071737e4e775bebba07e319eb645a880d1e0186b4d24bad23255e849d86d483", size = 1155773, upload-time = "2026-09-28T05:20:51.268Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4d/fa283ff79996debf1ff08593e01f8b773eb8211b19b3d6d5d491317a65bf/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:f59a3912858d0609c26054aa1c474847c797937f5e0e1c77f0d3f08032e50f09", size = 1296671, upload-time = "2026-09-28T05:18:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/42/05/98f9c2f628da5afabb6c3e8df5d2d299d2d50bf306b14a6e26d3954c4951/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:f09c05a23a8025dd5cad07c2ed299a46778e72d49ff0dd5bf353bcc0f7dc1580", size = 1422001, upload-time = "2026-09-28T05:19:04.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c9/f2109ade29a7ec284d55bca328d784743e8b13e321576fd34ee7e65f99af/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:44ace770bda3a0301739fc5a413c764de790c739df1f1a7218dd049f8594d9f5", size = 1374182, upload-time = "2026-09-28T05:20:27.764Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/e05d5f72441564a3bebc71fa155deafd0fd3b015d6014ec8a00edf6e42bb/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:03b131043608f94a2578a2a896a1a72092acb7079815eef5b8513b08447e0e62", size = 1278402, upload-time = "2026-09-28T05:20:56.332Z" }, + { url = "https://files.pythonhosted.org/packages/96/d7/6988a7f1f69c5c530687dce03a32c157e2d878e3a2e32af9269ce016b78a/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:e9784aca26eddfe99b03a0292320db742cc8a74200ef864fdce949f526f973cd", size = 1297770, upload-time = "2026-09-28T05:19:11.387Z" }, + { url = "https://files.pythonhosted.org/packages/a2/28/5bb82b60b836bd2329e1fe01ad94efc2b14dfa806f8e50ed14b795d78770/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:2b52ac363096232bebc2add117e9178d91f4248f4cdb919fd1026b5f86a4bb16", size = 1333977, upload-time = "2026-09-28T05:20:02.483Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7d/d419841b8f65481ea1a50c4ba36f2670d48b8c7a51e4e8586089564cf7f6/hypothesis-6.168.3-cp315-abi3.abi3t-win32.whl", hash = "sha256:d28e3a6b511a74ce37df5274b51f36c2b274fea7365e00b16f0c81e22acd5957", size = 675394, upload-time = "2026-09-28T05:19:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d2/1de6a2ad100e44817f2e9a8e8ba3eeaf4769621f4f87f2d4966c4971fcc4/hypothesis-6.168.3-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:7b9638789548361a57d984f56619ac694a914c328181d911271618409261ff4a", size = 681699, upload-time = "2026-09-28T05:19:09.957Z" }, + { url = "https://files.pythonhosted.org/packages/c0/79/be3370fd02734d6b1d950183ae9224580d19fa8d356b95348d60f1e3eeb7/hypothesis-6.168.3-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:65d78e4357ec48ed2c67825f06740ee3599be4cfe770a6092bed07108d679ac5", size = 679849, upload-time = "2026-09-28T05:19:06.884Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1364,7 +1433,7 @@ wheels = [ [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1392,6 +1461,7 @@ dependencies = [ dev = [ { name = "build" }, { name = "furo" }, + { name = "hypothesis" }, { name = "itables" }, { name = "l0-python" }, { name = "pytest" }, @@ -1410,6 +1480,7 @@ requires-dist = [ { name = "google-auth" }, { name = "google-cloud-storage" }, { name = "huggingface-hub" }, + { name = "hypothesis", marker = "extra == 'dev'" }, { name = "itables", marker = "extra == 'dev'" }, { name = "l0-python", marker = "extra == 'dev'", specifier = ">=0.4.0" }, { name = "microcalibrate", specifier = ">=0.18.0" }, From d3984002c17d2bee0cca5606071e9a5aa2dc4c18 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 12:33:40 -0400 Subject: [PATCH 21/70] Map FRS EMPSTATI 11 to OTHER_INACTIVE and reject unknown adult codes The FRS employment_status mapping zipped range(12) with 11 statuses, so EMPSTATI 11 ("Other inactive" in the UKDS FRS 2024-25 data dictionary) was unmapped and the fillna fallback made it LONG_TERM_DISABLED. That also put other-inactive working-age adults into the ESA health-condition and support-group proxies. Map the adult codes through an explicit table keyed to the data dictionary, make child-table rows CHILD, and fail the build on any adult code the table does not know rather than guessing a status. Every adult in the 2020-21, 2022-23, 2023-24 and 2024-25 releases carries a code from 1 to 11. Tests cover codes 0-11 exhaustively, Hypothesis properties of the mapping and the ESA proxies, create_frs end to end for every code and a child row, and the built datasets. Adds hypothesis as a dev dependency (same pyproject and uv.lock change as #522 and #525). Co-Authored-By: Claude Opus 5.5 --- .../frs-empstati-other-inactive.fixed.md | 1 + policyengine_uk_data/datasets/frs.py | 59 ++++-- .../tests/test_frs_employment_status.py | 169 ++++++++++++++++++ .../tests/test_legacy_benefit_proxies.py | 52 +++++- pyproject.toml | 1 + uv.lock | 73 +++++++- 6 files changed, 332 insertions(+), 23 deletions(-) create mode 100644 changelog.d/frs-empstati-other-inactive.fixed.md create mode 100644 policyengine_uk_data/tests/test_frs_employment_status.py diff --git a/changelog.d/frs-empstati-other-inactive.fixed.md b/changelog.d/frs-empstati-other-inactive.fixed.md new file mode 100644 index 000000000..f46130465 --- /dev/null +++ b/changelog.d/frs-empstati-other-inactive.fixed.md @@ -0,0 +1 @@ +Map FRS EMPSTATI code 11 ("Other inactive") to `employment_status` OTHER_INACTIVE; it had fallen through to LONG_TERM_DISABLED, which also put other-inactive adults into the ESA health-condition and support-group proxies. An adult EMPSTATI code the mapping does not know now fails the build instead of defaulting. diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index e440d4869..05c7c8dc5 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -49,6 +49,22 @@ LEGACY_JOBSEEKER_MIN_AGE = 18 HOURS_WORKED_WEEKS_PER_YEAR = 52 ESA_MIN_AGE = 16 +# Adult-table EMPSTATI ("Adult - Employment Status - ILO definition") value +# labels from the UKDS FRS 2024-25 data dictionary, mapped to PolicyEngine +# statuses. Children have no EMPSTATI and are CHILD. +FRS_EMPSTATI_EMPLOYMENT_STATUS = { + 1: EmploymentStatus.FT_EMPLOYED.name, # Full-time employee + 2: EmploymentStatus.PT_EMPLOYED.name, # Part-time employee + 3: EmploymentStatus.FT_SELF_EMPLOYED.name, # Full-time self-employed + 4: EmploymentStatus.PT_SELF_EMPLOYED.name, # Part-time self-employed + 5: EmploymentStatus.UNEMPLOYED.name, # Unemployed + 6: EmploymentStatus.RETIRED.name, # Retired + 7: EmploymentStatus.STUDENT.name, # Student + 8: EmploymentStatus.CARER.name, # Looking after family/home + 9: EmploymentStatus.LONG_TERM_DISABLED.name, # Permanently sick/disabled + 10: EmploymentStatus.SHORT_TERM_DISABLED.name, # Temporarily sick/injured + 11: EmploymentStatus.OTHER_INACTIVE.name, # Other inactive +} ESA_HEALTH_EMPLOYMENT_STATUSES = ( EmploymentStatus.LONG_TERM_DISABLED.name, EmploymentStatus.SHORT_TERM_DISABLED.name, @@ -112,6 +128,29 @@ def require_variable(name: str, description: str) -> None: ) +def derive_employment_status_from_frs(empstati, is_adult_record) -> np.ndarray: + """Map FRS EMPSTATI codes to ``employment_status``. + + Rows from the child table are CHILD. Every adult must carry a code in + ``FRS_EMPSTATI_EMPLOYMENT_STATUS``: a missing or unknown adult code fails + the build rather than falling back to a guessed status, as the old + fallback silently made code 11 (Other inactive) LONG_TERM_DISABLED. + """ + + codes = pd.Series(np.asarray(empstati, dtype=float)) + is_adult_record = np.asarray(is_adult_record, dtype=bool) + adult_status = codes.map(FRS_EMPSTATI_EMPLOYMENT_STATUS).to_numpy() + unknown = is_adult_record & pd.isna(adult_status) + if unknown.any(): + counts = codes[unknown].value_counts(dropna=False).sort_index().to_dict() + raise ValueError( + f"{int(unknown.sum())} FRS adults have EMPSTATI codes missing from " + f"FRS_EMPSTATI_EMPLOYMENT_STATUS (code: adults): {counts}. Map " + "them from the release's data dictionary." + ) + return np.where(is_adult_record, adult_status, EmploymentStatus.CHILD.name) + + def derive_legacy_jobseeker_proxy( age, employment_status, @@ -854,23 +893,9 @@ def determine_education_level(fted_val, typeed2_val, age_val): "UPPER_SECONDARY" ) - # Add employment status - EMPLOYMENTS = [ - "CHILD", - "FT_EMPLOYED", - "PT_EMPLOYED", - "FT_SELF_EMPLOYED", - "PT_SELF_EMPLOYED", - "UNEMPLOYED", - "RETIRED", - "STUDENT", - "CARER", - "LONG_TERM_DISABLED", - "SHORT_TERM_DISABLED", - ] - pe_person["employment_status"] = categorical( - person.empstati, 1, range(12), EMPLOYMENTS - ).fillna("LONG_TERM_DISABLED") + pe_person["employment_status"] = derive_employment_status_from_frs( + person.empstati, person.person_id.isin(frs["adult"].person_id) + ) # Add employer sector of the main job from FRS `mjobsect` # (1 = private, 2 = public; missing/blank = not in paid work). diff --git a/policyengine_uk_data/tests/test_frs_employment_status.py b/policyengine_uk_data/tests/test_frs_employment_status.py new file mode 100644 index 000000000..b035358fe --- /dev/null +++ b/policyengine_uk_data/tests/test_frs_employment_status.py @@ -0,0 +1,169 @@ +"""FRS EMPSTATI codes to ``employment_status``, and what the ESA proxies read.""" + +import numpy as np +import pytest +from hypothesis import given, strategies as st +from policyengine_uk.variables.household.income.employment_status import ( + EmploymentStatus, +) + +from policyengine_uk_data.datasets.frs import ( + ESA_HEALTH_EMPLOYMENT_STATUSES, + ESA_MIN_AGE, + FRS_EMPSTATI_EMPLOYMENT_STATUS, + derive_employment_status_from_frs, + derive_esa_health_condition_proxy, + derive_esa_support_group_proxy, +) + +# EMPSTATI ("Adult - Employment Status - ILO definition") value labels in the +# UKDS FRS 2024-25 data dictionary (SN 9563, adult table), with the status each +# label means. The 2020-21, 2022-23 and 2023-24 releases use the same codes. +DATA_DICTIONARY = { + 1: ("Full-time Employee", "FT_EMPLOYED"), + 2: ("Part-time Employee", "PT_EMPLOYED"), + 3: ("Full-time Self-Employed", "FT_SELF_EMPLOYED"), + 4: ("Part-time Self-Employed", "PT_SELF_EMPLOYED"), + 5: ("Unemployed", "UNEMPLOYED"), + 6: ("Retired", "RETIRED"), + 7: ("Student", "STUDENT"), + 8: ("Looking after family/home", "CARER"), + 9: ("Permanently sick/disabled", "LONG_TERM_DISABLED"), + 10: ("Temporarily sick/injured", "SHORT_TERM_DISABLED"), + 11: ("Other Inactive", "OTHER_INACTIVE"), +} +ADULT_CODES = sorted(DATA_DICTIONARY) +HEALTH_CODES = (9, 10) + +adult_rows = st.tuples(st.just(True), st.sampled_from(ADULT_CODES)) +# Child-table rows have no EMPSTATI (0 once the person table fills blanks); the +# code must not matter for them. +child_rows = st.tuples( + st.just(False), + st.one_of(st.just(0), st.just(np.nan), st.integers(-9, 99)), +) +people = st.lists(st.one_of(adult_rows, child_rows), max_size=60) +unknown_adult_codes = st.one_of( + st.just(np.nan), + st.integers(-99, 0), + st.integers(12, 999), + st.floats(0.5, 11.5).filter(lambda x: not float(x).is_integer()), +) + + +def derive(rows): + is_adult = [adult for adult, _ in rows] + codes = [code for _, code in rows] + return derive_employment_status_from_frs(codes, is_adult) + + +def expected(adult, code): + return DATA_DICTIONARY[code][1] if adult else "CHILD" + + +@pytest.mark.parametrize("code", range(12)) +def test_every_code_from_0_to_11(code): + assert derive_employment_status_from_frs([code], [False]).tolist() == ["CHILD"] + if code == 0: + with pytest.raises(ValueError, match="EMPSTATI"): + derive_employment_status_from_frs([code], [True]) + else: + label, status = DATA_DICTIONARY[code] + assert derive_employment_status_from_frs([code], [True]).tolist() == [status], ( + label + ) + + +def test_other_inactive_is_not_long_term_disabled(): + result = derive_employment_status_from_frs([9, 11], [True, True]) + assert result.tolist() == ["LONG_TERM_DISABLED", "OTHER_INACTIVE"] + + +def test_code_table_is_the_data_dictionary(): + assert FRS_EMPSTATI_EMPLOYMENT_STATUS == { + code: status for code, (_, status) in DATA_DICTIONARY.items() + } + + +def test_adult_codes_and_child_rows_cover_each_status_once(): + statuses = [*FRS_EMPSTATI_EMPLOYMENT_STATUS.values(), "CHILD"] + assert len(set(statuses)) == len(statuses) + assert set(statuses) == set(EmploymentStatus.__members__) + + +@pytest.mark.parametrize("code", [0, -1, 12, 11.5, np.nan]) +def test_unknown_adult_code_fails_the_build(code): + with pytest.raises(ValueError, match="EMPSTATI"): + derive_employment_status_from_frs([1, code], [True, True]) + + +@given(people) +def test_each_row_maps_on_its_own(rows): + result = derive(rows) + assert result.tolist() == [expected(adult, code) for adult, code in rows] + + +@given(people, st.randoms(use_true_random=False)) +def test_mapping_commutes_with_row_order(rows, rng): + order = list(range(len(rows))) + rng.shuffle(order) + assert derive([rows[i] for i in order]).tolist() == [derive(rows)[i] for i in order] + + +@given(people, unknown_adult_codes, st.integers(0, 60)) +def test_any_unknown_adult_code_fails_the_build(rows, bad_code, position): + rows = list(rows) + rows.insert(min(position, len(rows)), (True, bad_code)) + with pytest.raises(ValueError, match="EMPSTATI"): + derive(rows) + + +@given( + st.lists( + st.tuples( + st.integers(0, 100), # age + st.sampled_from(ADULT_CODES), + st.integers(60, 68), # State Pension age + st.integers(0, 3_000), # annual hours worked + st.booleans(), # EMPSTATI reported + ), + min_size=1, + max_size=60, + ) +) +def test_esa_proxies_read_only_the_sick_or_disabled_codes(rows): + age, codes, spa, hours, reported = map(np.array, zip(*rows)) + status = derive_employment_status_from_frs(codes, np.ones(len(rows), bool)) + health = derive_esa_health_condition_proxy( + age=age, + employment_status=status, + employment_status_reported=reported, + state_pension_age=spa, + ) + support = derive_esa_support_group_proxy( + age=age, + employment_status=status, + hours_worked=hours, + esa_health_condition_proxy=health, + employment_status_reported=reported, + state_pension_age=spa, + ) + working_age = (age >= ESA_MIN_AGE) & (age < spa) + assert ( + health.tolist() + == (reported & working_age & np.isin(codes, HEALTH_CODES)).tolist() + ) + assert not (support & ~health).any() + assert not support[codes != 9].any() + assert not health[codes == 11].any() + + +@pytest.mark.parametrize("dataset_name", ["frs", "enhanced_frs"]) +def test_built_dataset_statuses(dataset_name, request): + person = request.getfixturevalue(dataset_name).person + status = person["employment_status"].astype(str) + assert set(status) <= set(EmploymentStatus.__members__) + assert (status == "OTHER_INACTIVE").any() + not_sick = ~status.isin(ESA_HEALTH_EMPLOYMENT_STATUSES) + assert not person.loc[not_sick, "esa_health_condition_proxy"].any() + assert not person.loc[not_sick, "esa_support_group_proxy"].any() diff --git a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py index 5f1acd85f..ebc8ab596 100644 --- a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py +++ b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py @@ -1,9 +1,11 @@ import numpy as np import pandas as pd +import pytest import policyengine_uk import policyengine_uk_data.datasets.frs as frs_module from policyengine_uk_data.datasets.frs import ( + FRS_EMPSTATI_EMPLOYMENT_STATUS, add_legacy_benefit_proxies, attach_legacy_benefit_proxies_from_frs_person, apply_legacy_benefit_proxies, @@ -359,7 +361,7 @@ def calculate(self, variable, year=None): if variable == "household_id": return np.array([100]) if variable == "state_pension_age": - return pd.Series([66]) + return pd.Series([66] * len(self.dataset.person)) if variable in ( "childcare_grant", "parents_learning_allowance", @@ -373,7 +375,7 @@ def calculate(self, variable, year=None): raise KeyError(variable) -def test_create_frs_smoke_includes_legacy_proxy_columns(tmp_path, monkeypatch): +def create_single_adult_frs(tmp_path, monkeypatch, empstati=8, with_child=False): original_read_csv = frs_module.pd.read_csv def fake_read_csv(path, *args, **kwargs): @@ -426,7 +428,7 @@ def fake_read_csv(path, *args, **kwargs): "educqual": 0, "eduma": 0, "edumaamt": 0, - "empstati": 8, + "empstati": empstati, "mjobsect": 0, "sic": 0, "fsbval": 0, @@ -468,7 +470,13 @@ def fake_read_csv(path, *args, **kwargs): } ] ) - child = pd.DataFrame(columns=adult.columns) + # The FRS child table has no EMPSTATI column. + child_columns = adult.columns.drop("empstati") + child = pd.DataFrame(columns=child_columns) + if with_child: + child = pd.DataFrame( + [{**dict.fromkeys(child_columns, 0), "sernum": 100, "benunit": 1}] + ).assign(person=2, age=5, uperson=2) benunit = pd.DataFrame([{"sernum": 100, "benunit": 1, "famtypb2": 1}]) househol = pd.DataFrame( [ @@ -536,7 +544,11 @@ def fake_read_csv(path, *args, **kwargs): for name, table in raw_tables.items(): table.to_csv(tmp_path / f"{name}.tab", sep="\t", index=False) - dataset = create_frs(tmp_path, 2025) + return create_frs(tmp_path, 2025) + + +def test_create_frs_smoke_includes_legacy_proxy_columns(tmp_path, monkeypatch): + dataset = create_single_adult_frs(tmp_path, monkeypatch) assert { "legacy_jobseeker_proxy", @@ -561,3 +573,33 @@ def fake_read_csv(path, *args, **kwargs): ].iloc[0] assert dataset.person["education_grants"].iloc[0] == 100 assert dataset.person["disabled_students_allowance_eligible_expenses"].iloc[0] == 0 + + +@pytest.mark.parametrize("empstati", sorted(FRS_EMPSTATI_EMPLOYMENT_STATUS)) +def test_create_frs_maps_every_empstati_code(tmp_path, monkeypatch, empstati): + person = create_single_adult_frs(tmp_path, monkeypatch, empstati).person + + assert ( + person["employment_status"].iloc[0] + == (FRS_EMPSTATI_EMPLOYMENT_STATUS[empstati]) + ) + # A working-age adult reporting no hours: only the sick/disabled codes + # (9 permanently, 10 temporarily) are ESA health states. + assert person["esa_health_condition_proxy"].iloc[0] == (empstati in (9, 10)) + assert person["esa_support_group_proxy"].iloc[0] == (empstati == 9) + + +def test_create_frs_child_rows_are_child(tmp_path, monkeypatch): + person = create_single_adult_frs( + tmp_path, monkeypatch, empstati=11, with_child=True + ).person.set_index("person_id") + + assert person["employment_status"].to_dict() == { + 100_001: "OTHER_INACTIVE", + 100_002: "CHILD", + } + + +def test_create_frs_rejects_unknown_adult_empstati(tmp_path, monkeypatch): + with pytest.raises(ValueError, match="EMPSTATI"): + create_single_adult_frs(tmp_path, monkeypatch, empstati=12) diff --git a/pyproject.toml b/pyproject.toml index beff7f1a4..58de5b1d3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,7 @@ dependencies = [ dev = [ "ruff>=0.9.0", "pytest", + "hypothesis", "torch", "l0-python>=0.4.0", "tables", diff --git a/uv.lock b/uv.lock index a3e9f44d9..c301c6c9f 100644 --- a/uv.lock +++ b/uv.lock @@ -577,6 +577,75 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/f4/124858007ddf3c61e9b144107304c9152fa80b5b6c168da07d86fe583cc1/huggingface_hub-1.1.5-py3-none-any.whl", hash = "sha256:e88ecc129011f37b868586bbcfae6c56868cae80cd56a79d61575426a3aa0d7d", size = 516000, upload-time = "2025-11-20T15:49:30.926Z" }, ] +[[package]] +name = "hypothesis" +version = "6.168.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/b7/13118bbc45d6d8b9d04e2de779e2a4ff23145ea39efa692b994fb874ca72/hypothesis-6.168.3.tar.gz", hash = "sha256:a43388f9067678fef6e13bdff325b6cfa6961a590498bb37f7ff31589c83bc75", size = 511022, upload-time = "2026-09-28T05:20:58.499Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/cd/746a2fc1e5e5ba34f07ea6ee1ad07525a3dde5ff4836db3a7980af49a891/hypothesis-6.168.3-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d20972ca134e652e9928ecd200966a8a2857adc2812c1d74b12a872e5cd503eb", size = 791536, upload-time = "2026-09-28T05:18:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0f/7a158e377b69556c8e12c25c8fd811d0103e54c24a12dab1f3b9819f202e/hypothesis-6.168.3-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:eafbec09d3e87d13d8242411d1f5868b5e879f1bd6d95e233e9ff80c527bea1c", size = 787313, upload-time = "2026-09-28T05:20:18.122Z" }, + { url = "https://files.pythonhosted.org/packages/45/c6/7df9104ee359e8fcd77791781c47e70794964ca69673665e0de2a6590f4c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c5627497968cc62d140e9fde1ea21e12cac7b64dc419fea8286cd34ff1ad4e", size = 1124036, upload-time = "2026-09-28T05:20:04.372Z" }, + { url = "https://files.pythonhosted.org/packages/92/0f/8a61715404a73b9a82cb1f976803428d603cdea976a9c30266c72ad6a7ce/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dc56e6dc6eeb0aeb08ac463f847279bde2336c4786faf7ee0af4b93cd031a7", size = 1147875, upload-time = "2026-09-28T05:19:15.495Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3f/2b16e95cc3b9a069afa23830a012aefe377ce4a457a227e5a5026eb827ff/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:753bb501f8560d2e321ed3b62596b4496c56f15668b0a0669231ccc3e6c4e80d", size = 1149489, upload-time = "2026-09-28T05:19:18.886Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e7/d7cf6dc068bb02732b2a6e38a35a0dcb7f2137608198fc79d740f69d197c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71ab606c472449cb872ef2a7acaec679ee4f651b7f0a477a04ebc85d8933ef8c", size = 1191992, upload-time = "2026-09-28T05:19:21.83Z" }, + { url = "https://files.pythonhosted.org/packages/5f/26/f1e5b25dec15998e8375d722825ec3dae1075cbe7cb1f74221b2312a2e33/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26928956c54748e4dfa587333741ab750246123b93484955646ff316cca27eef", size = 1169911, upload-time = "2026-09-28T05:19:27.996Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/901234a49147e6bf8a5b9e54b775706a223c2b52befea1106ea2aaf15d48/hypothesis-6.168.3-cp310-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:0bdfc53c041b61c854fa3761735736b991bc2bddafee45a361cfe4d43027c1ef", size = 1129406, upload-time = "2026-09-28T05:18:42.632Z" }, + { url = "https://files.pythonhosted.org/packages/55/c1/5fc9ff91ec9fba6bb527833386c66812524b5cc75fe7d4a4f9122ee1c420/hypothesis-6.168.3-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:650528e2b1e2a45e95c2df624d4b9364b8ac5a027ba84e1eea2bc5398dd01dcd", size = 1160399, upload-time = "2026-09-28T05:20:23.911Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d2/49ad1ef5c55547c8abfd0fc571b3493806dda530fd5cb3d8263dbad86a72/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:209dc54cdb1b4d6d7020ad8d09e44c49756361b7183adacea4d6f5705085b595", size = 1299906, upload-time = "2026-09-28T05:18:58.417Z" }, + { url = "https://files.pythonhosted.org/packages/0d/5f/f98a26094c4f462c4215807bed0f9a6b5508b27a3c329bcba1bc8adc7ac7/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:af8ca98cd11dc7f9427bb90483abcd9688d4df2e8e63893a30a2423b027ebb11", size = 1425538, upload-time = "2026-09-28T05:20:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b8/c5b4406e3a6591e51a42f85469351d1d824e0a54b84167aec9b2353759fe/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:f8122cfdd0bc0ba843063effa22ac310bdebdb3a1319bf1e63f14baa119c72ab", size = 1377084, upload-time = "2026-09-28T05:20:06.618Z" }, + { url = "https://files.pythonhosted.org/packages/e0/01/0d84a8ea469d024c15f602799c0b8410fbe03d99fdb0370449b33c3c916f/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4bedbb379eab34f792af7ee9a05aae04e9c08bbb52e0f90f5a2110d4fe4b2fbd", size = 1281162, upload-time = "2026-09-28T05:19:42.768Z" }, + { url = "https://files.pythonhosted.org/packages/22/b5/ea6435038de1a795f005cb603531e8ccc053febc50180f3ab55583c9c60e/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:5a953115b9f5c95133ab2d04efffeec96e5658c3207923dca7285f7db3e6bbef", size = 1300433, upload-time = "2026-09-28T05:18:55.634Z" }, + { url = "https://files.pythonhosted.org/packages/6c/78/fa6c77d9f64b6d592e69e582d83cbce7d7e56897faa4762885a2123b0166/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6173558e676ad25ed1e20507fa4024a0d816dd90f715f77006e5a28f19109026", size = 1336273, upload-time = "2026-09-28T05:19:08.273Z" }, + { url = "https://files.pythonhosted.org/packages/f1/56/4acd0d778bab818c9ea336fcba768bf43bc70db7f84cc373579298df4641/hypothesis-6.168.3-cp310-abi3-win32.whl", hash = "sha256:dc66390fb12d80585aa9222bf538ce8b7aa22cf5d118250647355a1c9e8f62f4", size = 678211, upload-time = "2026-09-28T05:19:23.355Z" }, + { url = "https://files.pythonhosted.org/packages/b0/db/0a02b146ad1c30f9716362f2e1a379dfd6b0f7be03ac1e22c9da24c9e2a9/hypothesis-6.168.3-cp310-abi3-win_amd64.whl", hash = "sha256:92325b276360fe86c5bf71a568c0d53a6d140b0de36dcf029f9164a17803bb24", size = 684906, upload-time = "2026-09-28T05:18:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c0/958deaf726848f96f52250740bf39f13f476b068e22f73e2b358eaa07532/hypothesis-6.168.3-cp310-abi3-win_arm64.whl", hash = "sha256:3cf6f1eeaf41cd8d60cf1f88fde905ca1dd77c906929a507d6ac7f66f2ccba2a", size = 683292, upload-time = "2026-09-28T05:19:57.404Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a2/6787da846d929e52fc3344d803299c45782dbeac287528af08380e984bf8/hypothesis-6.168.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1b230a850de63334c16654a34a2d547e0179d36b9071d4439b3e7237f6d077e7", size = 793254, upload-time = "2026-09-28T05:19:36.294Z" }, + { url = "https://files.pythonhosted.org/packages/89/ba/2893f5ca42501f4d562cba3229c8994c3a3e5fac66ef60c1e0e0b5220a5d/hypothesis-6.168.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d63b0226cd3e0d8bdd97c3384b22a21934ed4d53246c1c93575dada616672499", size = 784699, upload-time = "2026-09-28T05:18:54.194Z" }, + { url = "https://files.pythonhosted.org/packages/b7/aa/7d7349daf75b71f6f35876f8de115e974c5c04d600e86df1b2779b0883ab/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0369f5df055f96e117ab12e5f249668ff144731ab5280bc7a205fdf81f990b89", size = 1123016, upload-time = "2026-09-28T05:20:36.372Z" }, + { url = "https://files.pythonhosted.org/packages/00/f0/7774e1ea072708ea46cb25c4aeee5f9978b6c271764809069e8a6789858e/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f076bcd0f77fdcdb7797826c879099573d03a02e228ebe649ea917081b962ac0", size = 1168989, upload-time = "2026-09-28T05:20:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7d/113992abed9efbd7944e3a496a382da58152dce126fddf6419ff31a0a57d/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b823ba1fcec8da730f29316d010b06d3f7e0c3828dcf91020e24c55e7d24652a", size = 1298626, upload-time = "2026-09-28T05:19:40.986Z" }, + { url = "https://files.pythonhosted.org/packages/d5/65/3659fa5e733027e5b37a27486e57f4053535e40853d23501c422bb275043/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dd2849c269d674e4618590f3b48d443bd4c06b5aef3d8d869086c2e6d213d248", size = 1335184, upload-time = "2026-09-28T05:20:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/35aab2221b5ea65125340f236e1a765a9e9f3b28d89a389ea0033fed29f7/hypothesis-6.168.3-cp313-cp313-win_amd64.whl", hash = "sha256:3ef7d26f5789e691401d5f87eafed9bd2763f0dbe47af6d6b66012a509404766", size = 682173, upload-time = "2026-09-28T05:19:12.762Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/27b0cb56ff5d2bc92458bf6fcebdb1f0dc01f57f043a178e9f9d74498169/hypothesis-6.168.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e2d4c68729a13df9af4998d2652cfb5d541c5609b88c306880a5dfb284938ec2", size = 793287, upload-time = "2026-09-28T05:20:38.522Z" }, + { url = "https://files.pythonhosted.org/packages/e8/bd/5342f95c3bc36586777ef8cb8eba87ac7acf0184210327fb0e6d8654e295/hypothesis-6.168.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b345f818083ec99966a43ca4f7b38feb62c6920ce28572bc2bde4948a8b7eaba", size = 784857, upload-time = "2026-09-28T05:20:42.609Z" }, + { url = "https://files.pythonhosted.org/packages/4a/5f/fc774241518a0588d362680a3084275058aab86d6bc02a2c61e1073142d0/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0608c610fc002978fc5de0f471770d8817e9455cb8649a47983c9f8bccfc1897", size = 1123330, upload-time = "2026-09-28T05:19:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/131f16775a3dca5f4fe27f0d6ad9a9851600098a54a872d163f6ebf0b664/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dcf6448b1ecc37f2b23f2d1b3ddfc9ff6b6910614c15a642dc82f419b96037b", size = 1169178, upload-time = "2026-09-28T05:19:53.436Z" }, + { url = "https://files.pythonhosted.org/packages/06/61/c9f5bff8b73321c9fd12f2d69666c6e4861b97b60f5f24fdd6ac293007fd/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ae4f9f094041dcce5119ebd7bab71062743ab02b6e654d056b370beda78c19e2", size = 1299127, upload-time = "2026-09-28T05:20:14.486Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6d/d4618f8ab12dd76c4d58ea052252759aa2bf0c4e71f4b502ba5d577e0b9f/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d479985fe73af97badfb72dc6d20c6a353e486a36f6d065f600026e0cf954a86", size = 1335390, upload-time = "2026-09-28T05:20:10.326Z" }, + { url = "https://files.pythonhosted.org/packages/95/b6/727161e17cc297df1aeea945de05c532033b66751625bec192bc5b5ff707/hypothesis-6.168.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:785e2c45f8c08e274b4bf1ccae97f1a4e09407e9a68e80790cfab1d17a4a45fa", size = 624291, upload-time = "2026-09-28T05:18:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/77/23/2f9b506392a0b8712440bcb781abc5713be9ffac1303b6d10f3669050882/hypothesis-6.168.3-cp314-cp314-win_amd64.whl", hash = "sha256:320920b1e3dae8611eee8a03d063cf2187446f2a17c38cfb8a7fc1466f71eee2", size = 682064, upload-time = "2026-09-28T05:20:16.336Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/efabfd95eb2b69c0c9fa1e1c83c8290aa2715d46baeb5a7764faf09c133a/hypothesis-6.168.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:35380baa981108a7f60c4eab71e46acd8d8f58440520346a1a6aba06dca7e074", size = 791875, upload-time = "2026-09-28T05:19:37.789Z" }, + { url = "https://files.pythonhosted.org/packages/1b/fc/2a0ada1623a9a33048bbf9f00a7c92513398c6b8865cba5efb854262ce30/hypothesis-6.168.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f0aaaed00438fa6673d856aaee12a4a8afbde82a9f3c5ff487cacfb064239afe", size = 783412, upload-time = "2026-09-28T05:18:48.266Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/73c615d37eeb12da0209555612c32ced628d860267c23cfd2691c6207aea/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27e6df1576bf838e7f484d4ae5cba92114497ca30afb917056bf1ea33e95675", size = 1121662, upload-time = "2026-09-28T05:19:26.225Z" }, + { url = "https://files.pythonhosted.org/packages/92/54/1893344a3b8bbf83fa7c9bb7e96f6836580213854f46671cb749f7b4706c/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bc85014577982ec6d2e266edc5cd6e7a7d3674c648791ca983c67a52f89a0c4", size = 1167761, upload-time = "2026-09-28T05:18:49.85Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/a61d82968febd25a0f08ffbbfabfaeead66f68fc5fa73f3c9ece1c36fc8f/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ccfc29505aa1cdcc254cb9cd701fd0811fef5480addd97d4127a00df023410f7", size = 1297309, upload-time = "2026-09-28T05:19:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/01/fe8e4cf6d39d02f4efadaa351427fa13722086cfc54a2da3579741c5177a/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32d0699566aaa93f9e97a44705d7164386f1e91de78d277f53bada35e78bcc96", size = 1334260, upload-time = "2026-09-28T05:19:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/39/6a/09177ebc62f4778f94379ecade6a51299d3d8c4f4b75ba636bf3a0202364/hypothesis-6.168.3-cp314-cp314t-win_amd64.whl", hash = "sha256:28d88fa174ecbd4ecbd7bb290f06d0db084a3971c3f511ae2830b65b5e25500f", size = 681992, upload-time = "2026-09-28T05:19:48.043Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f6/890bf33d608cd63348d3146a3ca83362fbf09e589c5e5230a00c403070f4/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:61f5782d807b1e6aa5c9beef1054cb2037e7d1add48a64972cd6ee447778781f", size = 791231, upload-time = "2026-09-28T05:18:43.998Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/fc36b204f8aa7437c676576d9437f0422de46aa8a729e6cd5bbb0224e759/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:7aacf3cf40c7ce8f9e4924d5b57bc0b068beafdfed2347bcf160a28b4cfbba7b", size = 783171, upload-time = "2026-09-28T05:19:20.353Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d2/3cd087d577db67c404991d7723e64d7cd75570cdc82a0f7329aed6f2086c/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01768a03a30dc54df7fe457c0b34016c84d598fa00d5965ededab93ba4eb3408", size = 1121152, upload-time = "2026-09-28T05:18:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/42/6f/a05a68cc66e7a22701c50bf94fb9ddeb36f4f5d0de3cc130066709eda621/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1a8a4ffc6c6e6e577f2bfbcfebf7cffbb310283ba2532c729570a0a752cebaaa", size = 1144069, upload-time = "2026-09-28T05:20:44.705Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f4/fdd7a093fb2fb3a0ce24256c92ad5bf67936f4669bd06d5ceae4298150ec/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b987d73eba95183a7e59cca6d1925c588aa4307922d9852cc2b4d282a2ae4128", size = 1146692, upload-time = "2026-09-28T05:20:25.83Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/6dbd4377e935505ae4fc8ee4c7b18c69994c4bbaca015447c470218bdbee/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4569c39bd97d9573e946429ed676f3b55a7c8ed80920addd67d384a47d59b38", size = 1189480, upload-time = "2026-09-28T05:20:46.734Z" }, + { url = "https://files.pythonhosted.org/packages/ba/bf/ff288b496b690000d2686dcfa7f67855e4c5a6dddb464ed8e4880be83bb2/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6042b8707a4b25bbbfe20b110258fb7549a68951e5525608a8ce06091039e9fc", size = 1167109, upload-time = "2026-09-28T05:19:24.758Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d1/3fee2bc29fc747fabbb27e174515592e390809ca465d3bbbabbcfa3235a8/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:f413629de94d38a7a2ad259697a6752526143cb49c2e2d7bdba19381c80693f6", size = 1126823, upload-time = "2026-09-28T05:18:52.636Z" }, + { url = "https://files.pythonhosted.org/packages/58/6a/585294392fa6a6d9719446a042a777ba98ecca265d9e48cbedc10c88df0f/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f071737e4e775bebba07e319eb645a880d1e0186b4d24bad23255e849d86d483", size = 1155773, upload-time = "2026-09-28T05:20:51.268Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4d/fa283ff79996debf1ff08593e01f8b773eb8211b19b3d6d5d491317a65bf/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:f59a3912858d0609c26054aa1c474847c797937f5e0e1c77f0d3f08032e50f09", size = 1296671, upload-time = "2026-09-28T05:18:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/42/05/98f9c2f628da5afabb6c3e8df5d2d299d2d50bf306b14a6e26d3954c4951/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:f09c05a23a8025dd5cad07c2ed299a46778e72d49ff0dd5bf353bcc0f7dc1580", size = 1422001, upload-time = "2026-09-28T05:19:04.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c9/f2109ade29a7ec284d55bca328d784743e8b13e321576fd34ee7e65f99af/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:44ace770bda3a0301739fc5a413c764de790c739df1f1a7218dd049f8594d9f5", size = 1374182, upload-time = "2026-09-28T05:20:27.764Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/e05d5f72441564a3bebc71fa155deafd0fd3b015d6014ec8a00edf6e42bb/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:03b131043608f94a2578a2a896a1a72092acb7079815eef5b8513b08447e0e62", size = 1278402, upload-time = "2026-09-28T05:20:56.332Z" }, + { url = "https://files.pythonhosted.org/packages/96/d7/6988a7f1f69c5c530687dce03a32c157e2d878e3a2e32af9269ce016b78a/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:e9784aca26eddfe99b03a0292320db742cc8a74200ef864fdce949f526f973cd", size = 1297770, upload-time = "2026-09-28T05:19:11.387Z" }, + { url = "https://files.pythonhosted.org/packages/a2/28/5bb82b60b836bd2329e1fe01ad94efc2b14dfa806f8e50ed14b795d78770/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:2b52ac363096232bebc2add117e9178d91f4248f4cdb919fd1026b5f86a4bb16", size = 1333977, upload-time = "2026-09-28T05:20:02.483Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7d/d419841b8f65481ea1a50c4ba36f2670d48b8c7a51e4e8586089564cf7f6/hypothesis-6.168.3-cp315-abi3.abi3t-win32.whl", hash = "sha256:d28e3a6b511a74ce37df5274b51f36c2b274fea7365e00b16f0c81e22acd5957", size = 675394, upload-time = "2026-09-28T05:19:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d2/1de6a2ad100e44817f2e9a8e8ba3eeaf4769621f4f87f2d4966c4971fcc4/hypothesis-6.168.3-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:7b9638789548361a57d984f56619ac694a914c328181d911271618409261ff4a", size = 681699, upload-time = "2026-09-28T05:19:09.957Z" }, + { url = "https://files.pythonhosted.org/packages/c0/79/be3370fd02734d6b1d950183ae9224580d19fa8d356b95348d60f1e3eeb7/hypothesis-6.168.3-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:65d78e4357ec48ed2c67825f06740ee3599be4cfe770a6092bed07108d679ac5", size = 679849, upload-time = "2026-09-28T05:19:06.884Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1364,7 +1433,7 @@ wheels = [ [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1392,6 +1461,7 @@ dependencies = [ dev = [ { name = "build" }, { name = "furo" }, + { name = "hypothesis" }, { name = "itables" }, { name = "l0-python" }, { name = "pytest" }, @@ -1410,6 +1480,7 @@ requires-dist = [ { name = "google-auth" }, { name = "google-cloud-storage" }, { name = "huggingface-hub" }, + { name = "hypothesis", marker = "extra == 'dev'" }, { name = "itables", marker = "extra == 'dev'" }, { name = "l0-python", marker = "extra == 'dev'", specifier = ">=0.4.0" }, { name = "microcalibrate", specifier = ">=0.18.0" }, From 56e0e89d15607dd44a781530dccdad118b711e03 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 12:37:24 -0400 Subject: [PATCH 22/70] Draw SPI incomes within earnings groups set by FRS employment status The SPI income model drew every SPI-synthetic row's six incomes from age, gender and region alone, while the row kept its FRS donor's employment status. Children drew pay, the unemployed and retired drew earnings, and self-employed rows rarely drew a profit. Fit one QRF per earnings group (employee, self-employed, both, neither) on the SPI records in that group, using PAY and the SPI self-employment indicator SEINC_NUM, and draw each FRS row from the group its employment status and recorded earnings put it in. Children keep their own incomes. Co-Authored-By: Claude Opus 5.5 --- .../spi-income-earnings-groups.fixed.md | 1 + .../datasets/imputations/income.py | 282 ++++++++++++++++-- 2 files changed, 253 insertions(+), 30 deletions(-) create mode 100644 changelog.d/spi-income-earnings-groups.fixed.md diff --git a/changelog.d/spi-income-earnings-groups.fixed.md b/changelog.d/spi-income-earnings-groups.fixed.md new file mode 100644 index 000000000..724e2fca4 --- /dev/null +++ b/changelog.d/spi-income-earnings-groups.fixed.md @@ -0,0 +1 @@ +Draw SPI incomes for the enhanced FRS's SPI-synthetic rows within earnings groups (employee, self-employed, both, neither) set by each row's FRS employment status, so employees draw pay, the self-employed draw a trade, people out of work draw no earnings, and children keep their own (zero) incomes. diff --git a/policyengine_uk_data/datasets/imputations/income.py b/policyengine_uk_data/datasets/imputations/income.py index feafcb27c..7e1d6c71b 100644 --- a/policyengine_uk_data/datasets/imputations/income.py +++ b/policyengine_uk_data/datasets/imputations/income.py @@ -4,11 +4,16 @@ This module imputes detailed income components (employment, self-employment, pensions, property, savings interest, dividends) using machine learning models trained on HMRC Survey of Personal Incomes (SPI) data. + +The draw is conditioned on each person's earnings group (see +``EARNINGS_GROUPS``) as well as their age, gender and region, so the incomes +agree with the employment status the FRS donor row keeps. """ import pandas as pd import numpy as np import os +import pickle from policyengine_uk_data.storage import STORAGE_FOLDER from policyengine_uk.data import UKSingleYearDataset from policyengine_uk import Microsimulation @@ -51,6 +56,103 @@ def _spi_age_bounds(age_code) -> tuple[int, int]: return AGE_RANGES[-1] +# Earnings groups that both surveys identify. The SPI has no ILO employment +# status and no hours, but it records each taxpayer's income sources: pay, and +# whether they file the self-employment pages of a tax return for a trade or +# partnership (SEINC_NUM, "Indicator for self-employed cases"). PROFITS is +# floored at zero, so SEINC_NUM is what finds break-even and loss-making +# traders. The FRS gives the same split through the main job's ILO status +# (EMPSTATI) and any second-job earnings. +NO_EARNINGS = "NO_EARNINGS" +EMPLOYEE = "EMPLOYEE" +SELF_EMPLOYED = "SELF_EMPLOYED" +EMPLOYEE_AND_SELF_EMPLOYED = "EMPLOYEE_AND_SELF_EMPLOYED" +EARNINGS_GROUPS = ( + NO_EARNINGS, + EMPLOYEE, + SELF_EMPLOYED, + EMPLOYEE_AND_SELF_EMPLOYED, +) +# FRS rows that take no SPI draw and keep their own values: the FRS child +# table (dependent children, including 16-19-year-olds in education), whose +# earnings the FRS build does not record, and anyone under 16. The SPI has no +# record of them as earners. +NOT_IMPUTED = "NOT_IMPUTED" + +# policyengine-uk EmploymentStatus names. +EMPLOYEE_STATUSES = ("FT_EMPLOYED", "PT_EMPLOYED") +SELF_EMPLOYED_STATUSES = ("FT_SELF_EMPLOYED", "PT_SELF_EMPLOYED") +CHILD_STATUS = "CHILD" + +# Every earnings group gets at least this share of the training sample, so the +# small self-employed groups are not fitted on a few thousand records. +MIN_GROUP_SAMPLE_SHARE = 0.1 + + +def earnings_group(has_pay, has_trade) -> np.ndarray: + """Earnings group from whether a person has pay and a trade.""" + has_pay = np.asarray(has_pay, dtype=bool) + has_trade = np.asarray(has_trade, dtype=bool) + return np.select( + [has_pay & has_trade, has_trade, has_pay], + [EMPLOYEE_AND_SELF_EMPLOYED, SELF_EMPLOYED, EMPLOYEE], + NO_EARNINGS, + ).astype(object) + + +def spi_earnings_group( + employment_income, self_employment_income, self_employed_indicator +) -> np.ndarray: + """Earnings group of SPI records. + + Pay is PAY + EPB + TAXTERM. A trade is SEINC_NUM = 1 (self-employment + pages filed, whatever the profit) or any assessable profit. + """ + has_trade = (np.asarray(self_employed_indicator) == 1) | ( + np.asarray(self_employment_income, dtype=float) > 0 + ) + return earnings_group(np.asarray(employment_income, dtype=float) > 0, has_trade) + + +def frs_earnings_group( + employment_status, age, employment_income, self_employment_income +) -> np.ndarray: + """Earnings group of FRS rows, or ``NOT_IMPUTED`` for children. + + An employee main job always draws pay and a self-employed main job always + draws a trade, whatever the FRS recorded for the donor. Earnings the FRS + records outside the main job (a second job or a side trade) add the other + source. Everyone else, retired, unemployed or inactive, draws from SPI + records with neither. + """ + status = np.asarray(employment_status, dtype=object) + has_pay = np.isin(status, EMPLOYEE_STATUSES) | ( + np.asarray(employment_income, dtype=float) > 0 + ) + has_trade = np.isin(status, SELF_EMPLOYED_STATUSES) | ( + np.asarray(self_employment_income, dtype=float) > 0 + ) + is_child = (status == CHILD_STATUS) | (np.asarray(age, dtype=float) < 16) + return np.where(is_child, NOT_IMPUTED, earnings_group(has_pay, has_trade)).astype( + object + ) + + +def earnings_group_sample_sizes( + group_weights: dict[str, float], sample_size: int +) -> dict[str, int]: + """Training records per earnings group: the group's weighted share of + ``sample_size``, but never under ``MIN_GROUP_SAMPLE_SHARE`` of it. Groups + with no weight get no records.""" + weights = {group: float(w) for group, w in group_weights.items() if w > 0} + total = sum(weights.values()) + floor = int(np.ceil(MIN_GROUP_SAMPLE_SHARE * sample_size)) + return { + group: max(int(round(sample_size * w / total)), floor) + for group, w in weights.items() + } + + def generate_spi_table( spi: pd.DataFrame, seed: int = 0, @@ -61,9 +163,13 @@ def generate_spi_table( Args: spi: Raw SPI survey data DataFrame. + seed: Seed for the age draw and the resample. + sample_size: If set, resample records with replacement, in proportion + to their weight within each earnings group, with each group's + record count from ``earnings_group_sample_sizes``. Returns: - Cleaned DataFrame with age and region mappings applied. + Cleaned DataFrame with age, region and earnings group. """ rng = np.random.default_rng(seed) age_range = spi.AGERANGE @@ -78,16 +184,25 @@ def generate_spi_table( spi[rename] = spi[SPI_RENAMES[rename]] spi["employment_income"] = spi[["PAY", "EPB", "TAXTERM"]].sum(axis=1) + spi["earnings_group"] = spi_earnings_group( + spi.employment_income, spi.self_employment_income, spi.SEINC_NUM + ) if sample_size is not None: + sizes = earnings_group_sample_sizes( + spi.groupby("earnings_group").person_weight.sum().to_dict(), + sample_size, + ) spi = pd.concat( [ - spi.sample( - sample_size, - weights=spi.person_weight, + spi[spi.earnings_group == group].sample( + sizes[group], + weights="person_weight", replace=True, - random_state=seed, - ), + random_state=seed + i, + ) + for i, group in enumerate(EARNINGS_GROUPS) + if group in sizes ] ) @@ -130,6 +245,8 @@ def generate_spi_table( "spi_release_name": SPI_RELEASE_NAME, "spi_tab_filename": SPI_TAB_FILENAME, "imputations": tuple(IMPUTATIONS), + "earnings_groups": EARNINGS_GROUPS, + "min_group_sample_share": MIN_GROUP_SAMPLE_SHARE, } INCOME_MODEL_PATH = STORAGE_FOLDER / f"income_{SPI_RELEASE_NAME}.pkl" INCOME_MODEL_SAMPLE_SIZE = 100_000 @@ -149,29 +266,98 @@ def get_income_model_metadata() -> dict: } +class EarningsGroupIncomeModel: + """One QRF per earnings group, each fitted on that group's SPI records. + + A person is drawn only from SPI records in their own earnings group, so an + employee always draws pay, a self-employed person always draws a trade + (whose profit can be zero), and someone with neither draws neither. + ``predict`` returns NaN for rows in no group (``NOT_IMPUTED``). + """ + + def __init__(self, models: dict, metadata: dict | None = None): + self.models = models + self.metadata = metadata or {} + + @property + def imputed_variables(self) -> list[str]: + return list(IMPUTATIONS) + + def predict(self, X: pd.DataFrame) -> pd.DataFrame: + groups = np.asarray(X["earnings_group"], dtype=object) + output = pd.DataFrame(np.nan, index=X.index, columns=IMPUTATIONS) + for group, model in self.models.items(): + in_group = groups == group + if in_group.any(): + inputs = pd.DataFrame( + {column: np.asarray(X[column])[in_group] for column in PREDICTORS} + ) + draws = model.predict(inputs) + output.loc[in_group, IMPUTATIONS] = draws[IMPUTATIONS].to_numpy() + return output + + def save(self, file_path): + with open(file_path, "wb") as f: + pickle.dump( + { + "models": { + group: model.model for group, model in self.models.items() + }, + "input_columns": PREDICTORS, + "metadata": self.metadata, + }, + f, + ) + + @classmethod + def load(cls, file_path): + """The cached model, or None if the file holds another format.""" + from policyengine_uk_data.utils.qrf import QRF + + with open(file_path, "rb") as f: + data = pickle.load(f) + if not isinstance(data, dict) or "models" not in data: + return None + models = {} + for group, fitted in data["models"].items(): + model = QRF() + model.model = fitted + model.input_columns = data.get("input_columns", PREDICTORS) + models[group] = model + return cls(models, data.get("metadata", {})) + + def _income_model_matches_current_release(model) -> bool: - if getattr(model, "metadata", {}) != get_income_model_metadata(): + if model is None or getattr(model, "metadata", {}) != get_income_model_metadata(): return False - cached_outputs = set(getattr(model.model, "imputed_variables", [])) - return cached_outputs == set(IMPUTATIONS) + models = getattr(model, "models", {}) + if set(models) != set(EARNINGS_GROUPS): + return False + return all( + set(getattr(group_model.model, "imputed_variables", [])) == set(IMPUTATIONS) + for group_model in models.values() + ) def save_imputation_models(): """ - Train and save income imputation model. + Train and save the income imputation model: one QRF per earnings group. Returns: - Trained QRF model for income imputation. + Trained ``EarningsGroupIncomeModel``. """ from policyengine_uk_data.utils import QRF - income = QRF() - income.metadata = get_income_model_metadata() spi = pd.read_csv(SPI_TAB_FOLDER / SPI_TAB_FILENAME, delimiter="\t") spi = generate_spi_table(spi, sample_size=get_income_model_sample_size()) - spi = spi[PREDICTORS + IMPUTATIONS] - income.fit(spi[PREDICTORS], spi[IMPUTATIONS]) + models = {} + for group in EARNINGS_GROUPS: + training = spi[spi.earnings_group == group] + model = QRF() + model.fit(training[PREDICTORS], training[IMPUTATIONS]) + models[group] = model + income = EarningsGroupIncomeModel(models, get_income_model_metadata()) income.save(INCOME_MODEL_PATH) return income @@ -180,46 +366,82 @@ def create_income_model(overwrite_existing: bool = False): """ Create or load income imputation model. - If a cached model exists and its training metadata or output columns don't - match the current SPI release and ``IMPUTATIONS`` list, the cache is - discarded and the model is retrained. + If a cached model exists and its training metadata, earnings groups or + output columns don't match the current SPI release and ``IMPUTATIONS`` + list, the cache is discarded and the model is retrained. Args: overwrite_existing: Whether to retrain model if it exists. Returns: - QRF model for income imputation. + ``EarningsGroupIncomeModel`` for income imputation. """ - from policyengine_uk_data.utils.qrf import QRF - if INCOME_MODEL_PATH.exists() and not overwrite_existing: - cached = QRF(file_path=INCOME_MODEL_PATH) + cached = EarningsGroupIncomeModel.load(INCOME_MODEL_PATH) if _income_model_matches_current_release(cached): return cached - # Cached model was trained against a different SPI release or output set. + # Cached model was trained against a different SPI release, output + # set or grouping. return save_imputation_models() +def income_model_inputs(dataset: UKSingleYearDataset) -> pd.DataFrame: + """Predictors (age, gender, region) and earnings group of each person.""" + sim = Microsimulation(dataset=dataset) + frame = sim.calculate_dataframe(["age", "gender", "region"]) + inputs = pd.DataFrame({column: np.asarray(frame[column]) for column in PREDICTORS}) + person = dataset.person + inputs["earnings_group"] = frs_earnings_group( + person.employment_status, + inputs.age, + person.employment_income, + person.self_employment_income, + ) + return inputs + + +def apply_income_draws( + person: pd.DataFrame, draws: pd.DataFrame, groups, output_variables +) -> pd.DataFrame: + """Write ``draws`` over ``output_variables`` for every person in an + earnings group (missing draws become zero). ``NOT_IMPUTED`` rows keep + their own values.""" + person = person.copy() + drawn = np.asarray(groups, dtype=object) != NOT_IMPUTED + for column in output_variables: + draw = np.nan_to_num(np.asarray(draws[column], dtype=float), nan=0.0) + own = ( + np.asarray(person[column], dtype=float) + if column in person.columns + else np.zeros(len(person)) + ) + person[column] = np.where(drawn, draw, own) + return person + + def impute_over_incomes( dataset: UKSingleYearDataset, model, output_variables: list[str] ) -> pd.DataFrame: """ Impute specified income components using trained model. + Each person draws from SPI records in their earnings group + (``frs_earnings_group``); children keep their own values. + Args: dataset: PolicyEngine UK dataset to augment with income data. + model: Fitted ``EarningsGroupIncomeModel``. output_variables: List of income components to impute. Returns: DataFrame with imputed income components. """ dataset = dataset.copy() - sim = Microsimulation(dataset=dataset) - input_df = sim.calculate_dataframe(["age", "gender", "region"]) + input_df = income_model_inputs(dataset) output_df = model.predict(input_df) - - for column in output_variables: - dataset.person[column] = output_df[column].fillna(0).values + dataset.person = apply_income_draws( + dataset.person, output_df, input_df.earnings_group, output_variables + ) # Housing costs (rent, mortgage interest, mortgage capital) used to be # rescaled here by new_income_total / original_income_total across @@ -239,8 +461,8 @@ def impute_income(dataset: UKSingleYearDataset) -> UKSingleYearDataset: Impute detailed income components using trained model. Uses SPI-trained models to predict various income sources for individuals - based on age, gender, and region. Creates a synthetic population with - the imputed income data. + based on age, gender, region and earnings group. Creates a synthetic + population with the imputed income data. Args: dataset: PolicyEngine UK dataset to augment with income data. From 313468b4282a751d82ec85d054947bd9358ffe67 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 12:39:12 -0400 Subject: [PATCH 23/70] Add hypothesis to the dev dependencies Same lines as #514 and #524, so whichever lands second merges cleanly. Co-Authored-By: Claude Opus 5.5 --- pyproject.toml | 5 ++-- uv.lock | 73 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 75 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index beff7f1a4..7973343cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,8 +45,9 @@ dev = [ "yaml-changelog>=0.1.7", "itables", "quantile-forest", - "build", "towncrier>=24.8.0", - + "build", + "towncrier>=24.8.0", + "hypothesis>=6.168.3", ] [tool.setuptools] diff --git a/uv.lock b/uv.lock index a3e9f44d9..672737ea1 100644 --- a/uv.lock +++ b/uv.lock @@ -577,6 +577,75 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/f4/124858007ddf3c61e9b144107304c9152fa80b5b6c168da07d86fe583cc1/huggingface_hub-1.1.5-py3-none-any.whl", hash = "sha256:e88ecc129011f37b868586bbcfae6c56868cae80cd56a79d61575426a3aa0d7d", size = 516000, upload-time = "2025-11-20T15:49:30.926Z" }, ] +[[package]] +name = "hypothesis" +version = "6.168.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/b7/13118bbc45d6d8b9d04e2de779e2a4ff23145ea39efa692b994fb874ca72/hypothesis-6.168.3.tar.gz", hash = "sha256:a43388f9067678fef6e13bdff325b6cfa6961a590498bb37f7ff31589c83bc75", size = 511022, upload-time = "2026-09-28T05:20:58.499Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/cd/746a2fc1e5e5ba34f07ea6ee1ad07525a3dde5ff4836db3a7980af49a891/hypothesis-6.168.3-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d20972ca134e652e9928ecd200966a8a2857adc2812c1d74b12a872e5cd503eb", size = 791536, upload-time = "2026-09-28T05:18:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0f/7a158e377b69556c8e12c25c8fd811d0103e54c24a12dab1f3b9819f202e/hypothesis-6.168.3-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:eafbec09d3e87d13d8242411d1f5868b5e879f1bd6d95e233e9ff80c527bea1c", size = 787313, upload-time = "2026-09-28T05:20:18.122Z" }, + { url = "https://files.pythonhosted.org/packages/45/c6/7df9104ee359e8fcd77791781c47e70794964ca69673665e0de2a6590f4c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c5627497968cc62d140e9fde1ea21e12cac7b64dc419fea8286cd34ff1ad4e", size = 1124036, upload-time = "2026-09-28T05:20:04.372Z" }, + { url = "https://files.pythonhosted.org/packages/92/0f/8a61715404a73b9a82cb1f976803428d603cdea976a9c30266c72ad6a7ce/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dc56e6dc6eeb0aeb08ac463f847279bde2336c4786faf7ee0af4b93cd031a7", size = 1147875, upload-time = "2026-09-28T05:19:15.495Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3f/2b16e95cc3b9a069afa23830a012aefe377ce4a457a227e5a5026eb827ff/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:753bb501f8560d2e321ed3b62596b4496c56f15668b0a0669231ccc3e6c4e80d", size = 1149489, upload-time = "2026-09-28T05:19:18.886Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e7/d7cf6dc068bb02732b2a6e38a35a0dcb7f2137608198fc79d740f69d197c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71ab606c472449cb872ef2a7acaec679ee4f651b7f0a477a04ebc85d8933ef8c", size = 1191992, upload-time = "2026-09-28T05:19:21.83Z" }, + { url = "https://files.pythonhosted.org/packages/5f/26/f1e5b25dec15998e8375d722825ec3dae1075cbe7cb1f74221b2312a2e33/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26928956c54748e4dfa587333741ab750246123b93484955646ff316cca27eef", size = 1169911, upload-time = "2026-09-28T05:19:27.996Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/901234a49147e6bf8a5b9e54b775706a223c2b52befea1106ea2aaf15d48/hypothesis-6.168.3-cp310-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:0bdfc53c041b61c854fa3761735736b991bc2bddafee45a361cfe4d43027c1ef", size = 1129406, upload-time = "2026-09-28T05:18:42.632Z" }, + { url = "https://files.pythonhosted.org/packages/55/c1/5fc9ff91ec9fba6bb527833386c66812524b5cc75fe7d4a4f9122ee1c420/hypothesis-6.168.3-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:650528e2b1e2a45e95c2df624d4b9364b8ac5a027ba84e1eea2bc5398dd01dcd", size = 1160399, upload-time = "2026-09-28T05:20:23.911Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d2/49ad1ef5c55547c8abfd0fc571b3493806dda530fd5cb3d8263dbad86a72/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:209dc54cdb1b4d6d7020ad8d09e44c49756361b7183adacea4d6f5705085b595", size = 1299906, upload-time = "2026-09-28T05:18:58.417Z" }, + { url = "https://files.pythonhosted.org/packages/0d/5f/f98a26094c4f462c4215807bed0f9a6b5508b27a3c329bcba1bc8adc7ac7/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:af8ca98cd11dc7f9427bb90483abcd9688d4df2e8e63893a30a2423b027ebb11", size = 1425538, upload-time = "2026-09-28T05:20:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b8/c5b4406e3a6591e51a42f85469351d1d824e0a54b84167aec9b2353759fe/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:f8122cfdd0bc0ba843063effa22ac310bdebdb3a1319bf1e63f14baa119c72ab", size = 1377084, upload-time = "2026-09-28T05:20:06.618Z" }, + { url = "https://files.pythonhosted.org/packages/e0/01/0d84a8ea469d024c15f602799c0b8410fbe03d99fdb0370449b33c3c916f/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4bedbb379eab34f792af7ee9a05aae04e9c08bbb52e0f90f5a2110d4fe4b2fbd", size = 1281162, upload-time = "2026-09-28T05:19:42.768Z" }, + { url = "https://files.pythonhosted.org/packages/22/b5/ea6435038de1a795f005cb603531e8ccc053febc50180f3ab55583c9c60e/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:5a953115b9f5c95133ab2d04efffeec96e5658c3207923dca7285f7db3e6bbef", size = 1300433, upload-time = "2026-09-28T05:18:55.634Z" }, + { url = "https://files.pythonhosted.org/packages/6c/78/fa6c77d9f64b6d592e69e582d83cbce7d7e56897faa4762885a2123b0166/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6173558e676ad25ed1e20507fa4024a0d816dd90f715f77006e5a28f19109026", size = 1336273, upload-time = "2026-09-28T05:19:08.273Z" }, + { url = "https://files.pythonhosted.org/packages/f1/56/4acd0d778bab818c9ea336fcba768bf43bc70db7f84cc373579298df4641/hypothesis-6.168.3-cp310-abi3-win32.whl", hash = "sha256:dc66390fb12d80585aa9222bf538ce8b7aa22cf5d118250647355a1c9e8f62f4", size = 678211, upload-time = "2026-09-28T05:19:23.355Z" }, + { url = "https://files.pythonhosted.org/packages/b0/db/0a02b146ad1c30f9716362f2e1a379dfd6b0f7be03ac1e22c9da24c9e2a9/hypothesis-6.168.3-cp310-abi3-win_amd64.whl", hash = "sha256:92325b276360fe86c5bf71a568c0d53a6d140b0de36dcf029f9164a17803bb24", size = 684906, upload-time = "2026-09-28T05:18:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c0/958deaf726848f96f52250740bf39f13f476b068e22f73e2b358eaa07532/hypothesis-6.168.3-cp310-abi3-win_arm64.whl", hash = "sha256:3cf6f1eeaf41cd8d60cf1f88fde905ca1dd77c906929a507d6ac7f66f2ccba2a", size = 683292, upload-time = "2026-09-28T05:19:57.404Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a2/6787da846d929e52fc3344d803299c45782dbeac287528af08380e984bf8/hypothesis-6.168.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1b230a850de63334c16654a34a2d547e0179d36b9071d4439b3e7237f6d077e7", size = 793254, upload-time = "2026-09-28T05:19:36.294Z" }, + { url = "https://files.pythonhosted.org/packages/89/ba/2893f5ca42501f4d562cba3229c8994c3a3e5fac66ef60c1e0e0b5220a5d/hypothesis-6.168.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d63b0226cd3e0d8bdd97c3384b22a21934ed4d53246c1c93575dada616672499", size = 784699, upload-time = "2026-09-28T05:18:54.194Z" }, + { url = "https://files.pythonhosted.org/packages/b7/aa/7d7349daf75b71f6f35876f8de115e974c5c04d600e86df1b2779b0883ab/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0369f5df055f96e117ab12e5f249668ff144731ab5280bc7a205fdf81f990b89", size = 1123016, upload-time = "2026-09-28T05:20:36.372Z" }, + { url = "https://files.pythonhosted.org/packages/00/f0/7774e1ea072708ea46cb25c4aeee5f9978b6c271764809069e8a6789858e/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f076bcd0f77fdcdb7797826c879099573d03a02e228ebe649ea917081b962ac0", size = 1168989, upload-time = "2026-09-28T05:20:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7d/113992abed9efbd7944e3a496a382da58152dce126fddf6419ff31a0a57d/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b823ba1fcec8da730f29316d010b06d3f7e0c3828dcf91020e24c55e7d24652a", size = 1298626, upload-time = "2026-09-28T05:19:40.986Z" }, + { url = "https://files.pythonhosted.org/packages/d5/65/3659fa5e733027e5b37a27486e57f4053535e40853d23501c422bb275043/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dd2849c269d674e4618590f3b48d443bd4c06b5aef3d8d869086c2e6d213d248", size = 1335184, upload-time = "2026-09-28T05:20:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/35aab2221b5ea65125340f236e1a765a9e9f3b28d89a389ea0033fed29f7/hypothesis-6.168.3-cp313-cp313-win_amd64.whl", hash = "sha256:3ef7d26f5789e691401d5f87eafed9bd2763f0dbe47af6d6b66012a509404766", size = 682173, upload-time = "2026-09-28T05:19:12.762Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/27b0cb56ff5d2bc92458bf6fcebdb1f0dc01f57f043a178e9f9d74498169/hypothesis-6.168.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e2d4c68729a13df9af4998d2652cfb5d541c5609b88c306880a5dfb284938ec2", size = 793287, upload-time = "2026-09-28T05:20:38.522Z" }, + { url = "https://files.pythonhosted.org/packages/e8/bd/5342f95c3bc36586777ef8cb8eba87ac7acf0184210327fb0e6d8654e295/hypothesis-6.168.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b345f818083ec99966a43ca4f7b38feb62c6920ce28572bc2bde4948a8b7eaba", size = 784857, upload-time = "2026-09-28T05:20:42.609Z" }, + { url = "https://files.pythonhosted.org/packages/4a/5f/fc774241518a0588d362680a3084275058aab86d6bc02a2c61e1073142d0/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0608c610fc002978fc5de0f471770d8817e9455cb8649a47983c9f8bccfc1897", size = 1123330, upload-time = "2026-09-28T05:19:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/131f16775a3dca5f4fe27f0d6ad9a9851600098a54a872d163f6ebf0b664/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dcf6448b1ecc37f2b23f2d1b3ddfc9ff6b6910614c15a642dc82f419b96037b", size = 1169178, upload-time = "2026-09-28T05:19:53.436Z" }, + { url = "https://files.pythonhosted.org/packages/06/61/c9f5bff8b73321c9fd12f2d69666c6e4861b97b60f5f24fdd6ac293007fd/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ae4f9f094041dcce5119ebd7bab71062743ab02b6e654d056b370beda78c19e2", size = 1299127, upload-time = "2026-09-28T05:20:14.486Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6d/d4618f8ab12dd76c4d58ea052252759aa2bf0c4e71f4b502ba5d577e0b9f/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d479985fe73af97badfb72dc6d20c6a353e486a36f6d065f600026e0cf954a86", size = 1335390, upload-time = "2026-09-28T05:20:10.326Z" }, + { url = "https://files.pythonhosted.org/packages/95/b6/727161e17cc297df1aeea945de05c532033b66751625bec192bc5b5ff707/hypothesis-6.168.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:785e2c45f8c08e274b4bf1ccae97f1a4e09407e9a68e80790cfab1d17a4a45fa", size = 624291, upload-time = "2026-09-28T05:18:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/77/23/2f9b506392a0b8712440bcb781abc5713be9ffac1303b6d10f3669050882/hypothesis-6.168.3-cp314-cp314-win_amd64.whl", hash = "sha256:320920b1e3dae8611eee8a03d063cf2187446f2a17c38cfb8a7fc1466f71eee2", size = 682064, upload-time = "2026-09-28T05:20:16.336Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/efabfd95eb2b69c0c9fa1e1c83c8290aa2715d46baeb5a7764faf09c133a/hypothesis-6.168.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:35380baa981108a7f60c4eab71e46acd8d8f58440520346a1a6aba06dca7e074", size = 791875, upload-time = "2026-09-28T05:19:37.789Z" }, + { url = "https://files.pythonhosted.org/packages/1b/fc/2a0ada1623a9a33048bbf9f00a7c92513398c6b8865cba5efb854262ce30/hypothesis-6.168.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f0aaaed00438fa6673d856aaee12a4a8afbde82a9f3c5ff487cacfb064239afe", size = 783412, upload-time = "2026-09-28T05:18:48.266Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/73c615d37eeb12da0209555612c32ced628d860267c23cfd2691c6207aea/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27e6df1576bf838e7f484d4ae5cba92114497ca30afb917056bf1ea33e95675", size = 1121662, upload-time = "2026-09-28T05:19:26.225Z" }, + { url = "https://files.pythonhosted.org/packages/92/54/1893344a3b8bbf83fa7c9bb7e96f6836580213854f46671cb749f7b4706c/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bc85014577982ec6d2e266edc5cd6e7a7d3674c648791ca983c67a52f89a0c4", size = 1167761, upload-time = "2026-09-28T05:18:49.85Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/a61d82968febd25a0f08ffbbfabfaeead66f68fc5fa73f3c9ece1c36fc8f/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ccfc29505aa1cdcc254cb9cd701fd0811fef5480addd97d4127a00df023410f7", size = 1297309, upload-time = "2026-09-28T05:19:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/01/fe8e4cf6d39d02f4efadaa351427fa13722086cfc54a2da3579741c5177a/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32d0699566aaa93f9e97a44705d7164386f1e91de78d277f53bada35e78bcc96", size = 1334260, upload-time = "2026-09-28T05:19:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/39/6a/09177ebc62f4778f94379ecade6a51299d3d8c4f4b75ba636bf3a0202364/hypothesis-6.168.3-cp314-cp314t-win_amd64.whl", hash = "sha256:28d88fa174ecbd4ecbd7bb290f06d0db084a3971c3f511ae2830b65b5e25500f", size = 681992, upload-time = "2026-09-28T05:19:48.043Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f6/890bf33d608cd63348d3146a3ca83362fbf09e589c5e5230a00c403070f4/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:61f5782d807b1e6aa5c9beef1054cb2037e7d1add48a64972cd6ee447778781f", size = 791231, upload-time = "2026-09-28T05:18:43.998Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/fc36b204f8aa7437c676576d9437f0422de46aa8a729e6cd5bbb0224e759/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:7aacf3cf40c7ce8f9e4924d5b57bc0b068beafdfed2347bcf160a28b4cfbba7b", size = 783171, upload-time = "2026-09-28T05:19:20.353Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d2/3cd087d577db67c404991d7723e64d7cd75570cdc82a0f7329aed6f2086c/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01768a03a30dc54df7fe457c0b34016c84d598fa00d5965ededab93ba4eb3408", size = 1121152, upload-time = "2026-09-28T05:18:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/42/6f/a05a68cc66e7a22701c50bf94fb9ddeb36f4f5d0de3cc130066709eda621/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1a8a4ffc6c6e6e577f2bfbcfebf7cffbb310283ba2532c729570a0a752cebaaa", size = 1144069, upload-time = "2026-09-28T05:20:44.705Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f4/fdd7a093fb2fb3a0ce24256c92ad5bf67936f4669bd06d5ceae4298150ec/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b987d73eba95183a7e59cca6d1925c588aa4307922d9852cc2b4d282a2ae4128", size = 1146692, upload-time = "2026-09-28T05:20:25.83Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/6dbd4377e935505ae4fc8ee4c7b18c69994c4bbaca015447c470218bdbee/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4569c39bd97d9573e946429ed676f3b55a7c8ed80920addd67d384a47d59b38", size = 1189480, upload-time = "2026-09-28T05:20:46.734Z" }, + { url = "https://files.pythonhosted.org/packages/ba/bf/ff288b496b690000d2686dcfa7f67855e4c5a6dddb464ed8e4880be83bb2/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6042b8707a4b25bbbfe20b110258fb7549a68951e5525608a8ce06091039e9fc", size = 1167109, upload-time = "2026-09-28T05:19:24.758Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d1/3fee2bc29fc747fabbb27e174515592e390809ca465d3bbbabbcfa3235a8/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:f413629de94d38a7a2ad259697a6752526143cb49c2e2d7bdba19381c80693f6", size = 1126823, upload-time = "2026-09-28T05:18:52.636Z" }, + { url = "https://files.pythonhosted.org/packages/58/6a/585294392fa6a6d9719446a042a777ba98ecca265d9e48cbedc10c88df0f/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f071737e4e775bebba07e319eb645a880d1e0186b4d24bad23255e849d86d483", size = 1155773, upload-time = "2026-09-28T05:20:51.268Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4d/fa283ff79996debf1ff08593e01f8b773eb8211b19b3d6d5d491317a65bf/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:f59a3912858d0609c26054aa1c474847c797937f5e0e1c77f0d3f08032e50f09", size = 1296671, upload-time = "2026-09-28T05:18:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/42/05/98f9c2f628da5afabb6c3e8df5d2d299d2d50bf306b14a6e26d3954c4951/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:f09c05a23a8025dd5cad07c2ed299a46778e72d49ff0dd5bf353bcc0f7dc1580", size = 1422001, upload-time = "2026-09-28T05:19:04.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c9/f2109ade29a7ec284d55bca328d784743e8b13e321576fd34ee7e65f99af/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:44ace770bda3a0301739fc5a413c764de790c739df1f1a7218dd049f8594d9f5", size = 1374182, upload-time = "2026-09-28T05:20:27.764Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/e05d5f72441564a3bebc71fa155deafd0fd3b015d6014ec8a00edf6e42bb/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:03b131043608f94a2578a2a896a1a72092acb7079815eef5b8513b08447e0e62", size = 1278402, upload-time = "2026-09-28T05:20:56.332Z" }, + { url = "https://files.pythonhosted.org/packages/96/d7/6988a7f1f69c5c530687dce03a32c157e2d878e3a2e32af9269ce016b78a/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:e9784aca26eddfe99b03a0292320db742cc8a74200ef864fdce949f526f973cd", size = 1297770, upload-time = "2026-09-28T05:19:11.387Z" }, + { url = "https://files.pythonhosted.org/packages/a2/28/5bb82b60b836bd2329e1fe01ad94efc2b14dfa806f8e50ed14b795d78770/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:2b52ac363096232bebc2add117e9178d91f4248f4cdb919fd1026b5f86a4bb16", size = 1333977, upload-time = "2026-09-28T05:20:02.483Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7d/d419841b8f65481ea1a50c4ba36f2670d48b8c7a51e4e8586089564cf7f6/hypothesis-6.168.3-cp315-abi3.abi3t-win32.whl", hash = "sha256:d28e3a6b511a74ce37df5274b51f36c2b274fea7365e00b16f0c81e22acd5957", size = 675394, upload-time = "2026-09-28T05:19:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d2/1de6a2ad100e44817f2e9a8e8ba3eeaf4769621f4f87f2d4966c4971fcc4/hypothesis-6.168.3-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:7b9638789548361a57d984f56619ac694a914c328181d911271618409261ff4a", size = 681699, upload-time = "2026-09-28T05:19:09.957Z" }, + { url = "https://files.pythonhosted.org/packages/c0/79/be3370fd02734d6b1d950183ae9224580d19fa8d356b95348d60f1e3eeb7/hypothesis-6.168.3-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:65d78e4357ec48ed2c67825f06740ee3599be4cfe770a6092bed07108d679ac5", size = 679849, upload-time = "2026-09-28T05:19:06.884Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1364,7 +1433,7 @@ wheels = [ [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1392,6 +1461,7 @@ dependencies = [ dev = [ { name = "build" }, { name = "furo" }, + { name = "hypothesis" }, { name = "itables" }, { name = "l0-python" }, { name = "pytest" }, @@ -1410,6 +1480,7 @@ requires-dist = [ { name = "google-auth" }, { name = "google-cloud-storage" }, { name = "huggingface-hub" }, + { name = "hypothesis", marker = "extra == 'dev'", specifier = ">=6.168.3" }, { name = "itables", marker = "extra == 'dev'" }, { name = "l0-python", marker = "extra == 'dev'", specifier = ">=0.4.0" }, { name = "microcalibrate", specifier = ">=0.18.0" }, From 708ab3e06521e3790d73121ffb98ec35a32f08c9 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 12:43:30 -0400 Subject: [PATCH 24/70] Test that SPI income draws follow earnings groups Hypothesis properties for the FRS and SPI group mappings, the training sample allocation, the per-group model's draws and the donor values kept for children, plus a check on a built enhanced FRS. The cache tests write the per-group format. Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/tests/test_spi_build.py | 55 +- .../tests/test_spi_income_earnings_groups.py | 482 ++++++++++++++++++ 2 files changed, 504 insertions(+), 33 deletions(-) create mode 100644 policyengine_uk_data/tests/test_spi_income_earnings_groups.py diff --git a/policyengine_uk_data/tests/test_spi_build.py b/policyengine_uk_data/tests/test_spi_build.py index efb37f810..dc307442a 100644 --- a/policyengine_uk_data/tests/test_spi_build.py +++ b/policyengine_uk_data/tests/test_spi_build.py @@ -66,6 +66,7 @@ "MCAS", "BPADUE", "MAIND", + "SEINC_NUM", ] @@ -386,6 +387,24 @@ def __init__(self, path): ] +def _write_income_model_cache(path, income_module, metadata): + """A cache in the per-earnings-group format, with stub fitted models.""" + with path.open("wb") as f: + pickle.dump( + { + "models": { + group: SimpleNamespace( + imputed_variables=list(income_module.IMPUTATIONS) + ) + for group in income_module.EARNINGS_GROUPS + }, + "input_columns": income_module.PREDICTORS, + "metadata": metadata, + }, + f, + ) + + def test_income_model_cache_rejects_stale_spi_release(tmp_path, monkeypatch): from policyengine_uk_data.datasets.imputations import income as income_module @@ -395,17 +414,7 @@ def test_income_model_cache_rejects_stale_spi_release(tmp_path, monkeypatch): "spi_release_name": "spi_2020_21", "spi_tab_filename": "put2021uk.tab", } - with cache.open("wb") as f: - pickle.dump( - { - "model": SimpleNamespace( - imputed_variables=list(income_module.IMPUTATIONS) - ), - "input_columns": income_module.PREDICTORS, - "metadata": stale_metadata, - }, - f, - ) + _write_income_model_cache(cache, income_module, stale_metadata) sentinel = object() monkeypatch.setattr(income_module, "INCOME_MODEL_PATH", cache) @@ -423,17 +432,7 @@ def test_income_model_cache_rejects_stale_sample_size(tmp_path, monkeypatch): **income_module.get_income_model_metadata(), "sample_size": income_module.TESTING_INCOME_MODEL_SAMPLE_SIZE, } - with cache.open("wb") as f: - pickle.dump( - { - "model": SimpleNamespace( - imputed_variables=list(income_module.IMPUTATIONS) - ), - "input_columns": income_module.PREDICTORS, - "metadata": stale_metadata, - }, - f, - ) + _write_income_model_cache(cache, income_module, stale_metadata) sentinel = object() monkeypatch.setattr(income_module, "INCOME_MODEL_PATH", cache) @@ -447,17 +446,7 @@ def test_income_model_cache_accepts_current_spi_release(tmp_path, monkeypatch): cache = tmp_path / "income_spi_2022_23.pkl" current_metadata = income_module.get_income_model_metadata() - with cache.open("wb") as f: - pickle.dump( - { - "model": SimpleNamespace( - imputed_variables=list(income_module.IMPUTATIONS) - ), - "input_columns": income_module.PREDICTORS, - "metadata": current_metadata, - }, - f, - ) + _write_income_model_cache(cache, income_module, current_metadata) monkeypatch.setattr(income_module, "INCOME_MODEL_PATH", cache) monkeypatch.setattr( diff --git a/policyengine_uk_data/tests/test_spi_income_earnings_groups.py b/policyengine_uk_data/tests/test_spi_income_earnings_groups.py new file mode 100644 index 000000000..5225aadca --- /dev/null +++ b/policyengine_uk_data/tests/test_spi_income_earnings_groups.py @@ -0,0 +1,482 @@ +"""SPI income draws are conditioned on earnings group. + +Invariants (Hypothesis properties unless noted): + +1. FRS rows: children (FRS child table or under 16) are ``NOT_IMPUTED``. + Everyone else is in exactly one earnings group, which has pay if and only + if the main job is as an employee or the FRS records pay, and a trade if + and only if the main job is self-employment or the FRS records a profit. +2. SPI records: the group has pay if and only if PAY + EPB + TAXTERM > 0, and + a trade if and only if SEINC_NUM = 1 or PROFITS > 0. +3. Both mappings are monotone (more income never removes a source) and give + the same answer elementwise as row by row. +4. Training sample: every group with weight gets at least + ``MIN_GROUP_SAMPLE_SHARE`` of the sample, groups without weight get none, + and groups above the floor get their weighted share. +5. ``generate_spi_table`` resamples each group only from its own records. +6. Model draws: pay is positive exactly in the groups with pay, profit is zero + in the groups without a trade, and ``NOT_IMPUTED`` rows get no draw. +7. ``apply_income_draws`` overwrites drawn rows (missing draws become zero), + leaves ``NOT_IMPUTED`` rows and other columns alone, and does not mutate + its input. +8. A cached model in another format or for another grouping is retrained. +9. On a built enhanced FRS, SPI-synthetic rows' incomes agree with their + employment status (skipped when no build is present). +""" + +from __future__ import annotations + +import numpy as np +import pandas as pd +import pytest +from hypothesis import HealthCheck, given, settings +from hypothesis import strategies as st + +from policyengine_uk_data.datasets.imputations import income as income_module +from policyengine_uk_data.datasets.imputations.income import ( + CHILD_STATUS, + EARNINGS_GROUPS, + EMPLOYEE, + EMPLOYEE_AND_SELF_EMPLOYED, + EMPLOYEE_STATUSES, + IMPUTATIONS, + MIN_GROUP_SAMPLE_SHARE, + NO_EARNINGS, + NOT_IMPUTED, + PREDICTORS, + SELF_EMPLOYED, + SELF_EMPLOYED_STATUSES, + EarningsGroupIncomeModel, + apply_income_draws, + earnings_group_sample_sizes, + frs_earnings_group, + generate_spi_table, + spi_earnings_group, +) + +PAY_GROUPS = {EMPLOYEE, EMPLOYEE_AND_SELF_EMPLOYED} +TRADE_GROUPS = {SELF_EMPLOYED, EMPLOYEE_AND_SELF_EMPLOYED} +NON_WORKING_STATUSES = ( + "UNEMPLOYED", + "RETIRED", + "STUDENT", + "CARER", + "LONG_TERM_DISABLED", + "SHORT_TERM_DISABLED", + "OTHER_INACTIVE", +) +STATUSES = ( + (CHILD_STATUS,) + EMPLOYEE_STATUSES + SELF_EMPLOYED_STATUSES + NON_WORKING_STATUSES +) +REGIONS = ("LONDON", "WALES", "SCOTLAND", "NORTH_EAST") + +amounts = st.one_of( + st.just(0.0), st.floats(0.01, 5e6, allow_nan=False, allow_infinity=False) +) + + +def test_statuses_are_policyengine_uk_enum_names(): + from policyengine_uk.variables.household.income.employment_status import ( + EmploymentStatus, + ) + + names = {status.name for status in EmploymentStatus} + # Every status the FRS build writes is covered: an employee, self-employed, + # child or out-of-work group. + assert set(STATUSES) == names + + +@st.composite +def frs_people(draw): + n = draw(st.integers(1, 40)) + return pd.DataFrame( + { + "employment_status": draw( + st.lists(st.sampled_from(STATUSES), min_size=n, max_size=n) + ), + "age": draw(st.lists(st.integers(0, 95), min_size=n, max_size=n)), + "employment_income": draw(st.lists(amounts, min_size=n, max_size=n)), + "self_employment_income": draw(st.lists(amounts, min_size=n, max_size=n)), + } + ) + + +def _frs_groups(people: pd.DataFrame) -> np.ndarray: + return frs_earnings_group( + people.employment_status, + people.age, + people.employment_income, + people.self_employment_income, + ) + + +@given(frs_people()) +def test_frs_group_follows_status_and_recorded_earnings(people): + groups = _frs_groups(people) + status = people.employment_status.to_numpy() + child = (status == CHILD_STATUS) | (people.age.to_numpy() < 16) + + assert (groups[child] == NOT_IMPUTED).all() + adult = groups[~child] + assert np.isin(adult, EARNINGS_GROUPS).all() + + has_pay = np.isin(status, EMPLOYEE_STATUSES) | ( + people.employment_income.to_numpy() > 0 + ) + has_trade = np.isin(status, SELF_EMPLOYED_STATUSES) | ( + people.self_employment_income.to_numpy() > 0 + ) + np.testing.assert_array_equal(np.isin(adult, list(PAY_GROUPS)), has_pay[~child]) + np.testing.assert_array_equal(np.isin(adult, list(TRADE_GROUPS)), has_trade[~child]) + + +@given(frs_people(), st.floats(0.01, 1e6), st.sampled_from(["pay", "profit"])) +def test_frs_group_monotone_in_income(people, extra, source): + before = _frs_groups(people) + column = "employment_income" if source == "pay" else "self_employment_income" + after = _frs_groups(people.assign(**{column: people[column] + extra})) + imputed = before != NOT_IMPUTED + np.testing.assert_array_equal(after == NOT_IMPUTED, ~imputed) + gained, other = ( + (PAY_GROUPS, TRADE_GROUPS) if source == "pay" else (TRADE_GROUPS, PAY_GROUPS) + ) + # The source that grew is now present; the other source is unchanged. + assert np.isin(after[imputed], list(gained)).all() + np.testing.assert_array_equal( + np.isin(after[imputed], list(other)), np.isin(before[imputed], list(other)) + ) + + +@given(frs_people()) +def test_frs_group_elementwise_equals_rowwise(people): + vectorised = _frs_groups(people) + rowwise = [ + frs_earnings_group( + [row.employment_status], + [row.age], + [row.employment_income], + [row.self_employment_income], + )[0] + for row in people.itertuples() + ] + as_lists = frs_earnings_group( + people.employment_status.tolist(), + people.age.tolist(), + people.employment_income.tolist(), + people.self_employment_income.tolist(), + ) + assert list(vectorised) == rowwise == list(as_lists) + + +@given( + st.lists( + st.tuples(amounts, amounts, st.sampled_from([-1, 0, 1])), + min_size=1, + max_size=40, + ) +) +def test_spi_group_follows_pay_and_self_employment_pages(records): + pay, profit, indicator = (np.array(column) for column in zip(*records)) + groups = spi_earnings_group(pay, profit, indicator) + assert np.isin(groups, EARNINGS_GROUPS).all() + np.testing.assert_array_equal(np.isin(groups, list(PAY_GROUPS)), pay > 0) + np.testing.assert_array_equal( + np.isin(groups, list(TRADE_GROUPS)), (indicator == 1) | (profit > 0) + ) + rowwise = [spi_earnings_group([p], [q], [i])[0] for p, q, i in records] + assert list(groups) == rowwise + + +@given( + st.dictionaries( + st.sampled_from(EARNINGS_GROUPS), + st.one_of(st.just(0.0), st.floats(1e-3, 1e8)), + min_size=1, + ), + st.integers(1, 200_000), +) +def test_group_sample_sizes(weights, sample_size): + sizes = earnings_group_sample_sizes(weights, sample_size) + positive = {group for group, w in weights.items() if w > 0} + assert set(sizes) == positive + if not positive: + return + floor = int(np.ceil(MIN_GROUP_SAMPLE_SHARE * sample_size)) + total = sum(weights[group] for group in positive) + for group, size in sizes.items(): + share = sample_size * weights[group] / total + assert size >= floor + if share > floor + 1: + assert abs(size - share) <= 0.5 + 1e-9 + assert sizes == earnings_group_sample_sizes(weights, sample_size) + + +def _raw_spi(rng: np.random.Generator, n: int) -> pd.DataFrame: + """A raw SPI-shaped frame with all four earnings groups.""" + group = rng.choice(EARNINGS_GROUPS, n) + has_pay = np.isin(group, list(PAY_GROUPS)) + has_trade = np.isin(group, list(TRADE_GROUPS)) + raw = { + column: np.zeros(n) + for column in set(income_module.SPI_RENAMES.values()) + | {"PAY", "EPB", "TAXTERM", "SEINC_NUM", "GIFTINV"} + } + raw["PAY"] = np.where(has_pay, rng.lognormal(10, 1, n), 0.0) + raw["EPB"] = np.where(has_pay & (rng.random(n) < 0.1), 500.0, 0.0) + # Three in ten traders make no assessable profit. + raw["PROFITS"] = np.where( + has_trade & (rng.random(n) < 0.7), rng.lognormal(9, 1, n), 0.0 + ) + raw["SEINC_NUM"] = has_trade.astype(int) + for column in ("INCBBS", "DIVIDENDS", "PENSION", "INCPROP", "GIFTAID", "GIFTINV"): + raw[column] = rng.exponential(1_000, n) * (rng.random(n) < 0.3) + raw["FACT"] = rng.uniform(1, 500, n) + raw["SEX"] = rng.choice([1, 2], n) + raw["GORCODE"] = rng.choice([1, 7, 10, 11], n) + raw["AGERANGE"] = rng.choice([1, 2, 3, 4, 5, 6, 7], n) + return pd.DataFrame(raw) + + +@settings(deadline=None, max_examples=25) +@given(st.integers(0, 2**31 - 1), st.integers(50, 2_000)) +def test_generate_spi_table_resamples_within_groups(seed, sample_size): + raw = _raw_spi(np.random.default_rng(seed), 600) + table = generate_spi_table(raw.copy(), seed=seed % 1000, sample_size=sample_size) + np.testing.assert_array_equal( + table.earnings_group.to_numpy(), + spi_earnings_group( + table.employment_income, table.self_employment_income, table.SEINC_NUM + ), + ) + raw_groups = spi_earnings_group( + raw.PAY + raw.EPB + raw.TAXTERM, raw.PROFITS, raw.SEINC_NUM + ) + weights = raw.FACT.groupby(raw_groups).sum().to_dict() + assert table.earnings_group.value_counts().to_dict() == ( + earnings_group_sample_sizes(weights, sample_size) + ) + + +@pytest.fixture(scope="module") +def fitted_model(): + """A real per-group QRF fitted through ``generate_spi_table``.""" + from policyengine_uk_data.utils.qrf import QRF + + table = generate_spi_table( + _raw_spi(np.random.default_rng(1), 4_000), seed=0, sample_size=2_000 + ) + models = {} + for group in EARNINGS_GROUPS: + training = table[table.earnings_group == group] + model = QRF() + model.fit(training[PREDICTORS], training[IMPUTATIONS]) + models[group] = model + return EarningsGroupIncomeModel(models, income_module.get_income_model_metadata()) + + +@st.composite +def model_inputs(draw): + n = draw(st.integers(1, 30)) + return pd.DataFrame( + { + "age": draw(st.lists(st.floats(16, 90), min_size=n, max_size=n)), + "gender": draw( + st.lists(st.sampled_from(["MALE", "FEMALE"]), min_size=n, max_size=n) + ), + "region": draw( + st.lists( + st.sampled_from(["NORTH_EAST", "LONDON", "WALES", "SCOTLAND"]), + min_size=n, + max_size=n, + ) + ), + "earnings_group": draw( + st.lists( + st.sampled_from(EARNINGS_GROUPS + (NOT_IMPUTED,)), + min_size=n, + max_size=n, + ) + ), + }, + index=draw( + st.lists(st.integers(0, 10**6), min_size=n, max_size=n, unique=True) + ), + ) + + +@settings( + deadline=None, + max_examples=40, + suppress_health_check=[HealthCheck.function_scoped_fixture], +) +@given(model_inputs()) +def test_model_draws_agree_with_group(fitted_model, inputs): + draws = fitted_model.predict(inputs) + assert list(draws.columns) == IMPUTATIONS + assert draws.index.equals(inputs.index) + groups = inputs.earnings_group.to_numpy() + drawn = groups != NOT_IMPUTED + assert draws[~drawn].isna().all().all() + assert draws[drawn].notna().all().all() + pay = draws.employment_income.to_numpy()[drawn] + profit = draws.self_employment_income.to_numpy()[drawn] + np.testing.assert_array_equal(pay > 0, np.isin(groups[drawn], list(PAY_GROUPS))) + assert (profit[~np.isin(groups[drawn], list(TRADE_GROUPS))] == 0).all() + assert (draws[drawn].to_numpy() >= 0).all() + + +def test_model_draws_some_profit_for_traders(fitted_model): + """The trade groups draw zero and positive profits, as the SPI has both.""" + n = 400 + inputs = pd.DataFrame( + { + "age": np.linspace(20, 80, n), + "gender": ["MALE", "FEMALE"] * (n // 2), + "region": ["LONDON"] * n, + "earnings_group": [SELF_EMPLOYED] * n, + } + ) + profit = fitted_model.predict(inputs).self_employment_income + assert 0.3 < (profit > 0).mean() < 1 + + +@st.composite +def person_and_draws(draw): + n = draw(st.integers(1, 30)) + columns = ["employment_income", "dividend_income", "rent"] + person = pd.DataFrame( + {c: draw(st.lists(amounts, min_size=n, max_size=n)) for c in columns} + ) + draws = pd.DataFrame( + { + c: draw( + st.lists(st.one_of(amounts, st.just(np.nan)), min_size=n, max_size=n) + ) + for c in IMPUTATIONS + } + ) + groups = draw( + st.lists( + st.sampled_from(EARNINGS_GROUPS + (NOT_IMPUTED,)), min_size=n, max_size=n + ) + ) + outputs = draw( + st.lists(st.sampled_from(IMPUTATIONS), min_size=1, max_size=4, unique=True) + ) + return person, draws, np.array(groups, dtype=object), outputs + + +@given(person_and_draws()) +def test_apply_income_draws(case): + person, draws, groups, outputs = case + before = person.copy() + result = apply_income_draws(person, draws, groups, outputs) + pd.testing.assert_frame_equal(person, before) + + kept = groups == NOT_IMPUTED + for column in outputs: + own = ( + before[column].to_numpy() + if column in before.columns + else np.zeros(len(before)) + ) + np.testing.assert_array_equal(result[column].to_numpy()[kept], own[kept]) + np.testing.assert_array_equal( + result[column].to_numpy()[~kept], + np.nan_to_num(draws[column].to_numpy(dtype=float)[~kept], nan=0.0), + ) + for column in set(before.columns) - set(outputs): + pd.testing.assert_series_equal(result[column], before[column]) + + +def test_old_single_model_cache_is_retrained(tmp_path, monkeypatch): + import pickle + from types import SimpleNamespace + + cache = tmp_path / "income_spi_2022_23.pkl" + old_metadata = { + key: value + for key, value in income_module.get_income_model_metadata().items() + if key not in ("earnings_groups", "min_group_sample_share") + } + with cache.open("wb") as f: + pickle.dump( + { + "model": SimpleNamespace(imputed_variables=list(IMPUTATIONS)), + "input_columns": PREDICTORS, + "metadata": old_metadata, + }, + f, + ) + sentinel = object() + monkeypatch.setattr(income_module, "INCOME_MODEL_PATH", cache) + monkeypatch.setattr(income_module, "save_imputation_models", lambda: sentinel) + assert income_module.create_income_model() is sentinel + + +def test_cache_missing_a_group_is_retrained(tmp_path, monkeypatch, fitted_model): + cache = tmp_path / "income_spi_2022_23.pkl" + partial = EarningsGroupIncomeModel( + {g: m for g, m in fitted_model.models.items() if g != SELF_EMPLOYED}, + income_module.get_income_model_metadata(), + ) + partial.save(cache) + sentinel = object() + monkeypatch.setattr(income_module, "INCOME_MODEL_PATH", cache) + monkeypatch.setattr(income_module, "save_imputation_models", lambda: sentinel) + assert income_module.create_income_model() is sentinel + + +def test_current_cache_round_trips(tmp_path, monkeypatch, fitted_model): + cache = tmp_path / "income_spi_2022_23.pkl" + fitted_model.save(cache) + monkeypatch.setattr(income_module, "INCOME_MODEL_PATH", cache) + monkeypatch.setattr( + income_module, + "save_imputation_models", + lambda: pytest.fail("a current cache should be reused"), + ) + loaded = income_module.create_income_model() + inputs = pd.DataFrame( + { + "age": [30.0, 50.0, 70.0, 10.0], + "gender": ["MALE", "FEMALE", "MALE", "FEMALE"], + "region": ["LONDON", "WALES", "SCOTLAND", "LONDON"], + "earnings_group": [EMPLOYEE, SELF_EMPLOYED, NO_EARNINGS, NOT_IMPUTED], + } + ) + pd.testing.assert_frame_equal(loaded.predict(inputs), fitted_model.predict(inputs)) + + +def test_built_enhanced_frs_spi_rows_agree_with_status(enhanced_frs): + person = enhanced_frs.person + household = enhanced_frs.household.set_index("household_id") + spi = person.person_household_id.map(household.household_is_spi_synthetic) + if not spi.any(): + pytest.skip("No SPI-synthetic rows in this build") + status = person.employment_status.astype(str) + rows = person[spi.to_numpy(dtype=bool)] + rows_status = status[spi.to_numpy(dtype=bool)] + + employees = rows_status.isin(EMPLOYEE_STATUSES) + assert (rows.employment_income[employees] > 0).all() + + children = rows_status.eq(CHILD_STATUS) + assert (rows.employment_income[children] == 0).all() + assert (rows.self_employment_income[children] == 0).all() + + # The SPI self-employed group draws a profit for about nine in ten + # (zero for traders who break even or make a loss); before the groups + # it was under one in ten. + self_employed = rows_status.isin(SELF_EMPLOYED_STATUSES) + if self_employed.sum() >= 50: + assert (rows.self_employment_income[self_employed] > 0).mean() > 0.6 + + # Out of work: earnings only where the FRS donor recorded some, which + # the FRS does for almost no one. + out_of_work = rows_status.isin(NON_WORKING_STATUSES) + if out_of_work.sum() >= 50: + earning = (rows.employment_income[out_of_work] > 0) | ( + rows.self_employment_income[out_of_work] > 0 + ) + assert earning.mean() < 0.02 From fb0266593cab1dbe4464c4c6db63e4868af43db5 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 13:20:46 -0400 Subject: [PATCH 25/70] Suppress small counts in the unknown-EMPSTATI build error CI build logs are public, so the error now names the unknown codes without per-code counts and reports a total under 10 adults as "fewer than 10". Raised by the microcosm port session; no change on current FRS releases, where every adult has a code from 1 to 11. Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/datasets/frs.py | 11 +++++++---- .../tests/test_frs_employment_status.py | 15 +++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index 05c7c8dc5..e53e1ede3 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -142,11 +142,14 @@ def derive_employment_status_from_frs(empstati, is_adult_record) -> np.ndarray: adult_status = codes.map(FRS_EMPSTATI_EMPLOYMENT_STATUS).to_numpy() unknown = is_adult_record & pd.isna(adult_status) if unknown.any(): - counts = codes[unknown].value_counts(dropna=False).sort_index().to_dict() + # Build logs are public: name the codes, not per-code counts, and + # suppress a total under 10 adults. + n = int(unknown.sum()) + adults = f"{n} FRS adults" if n >= 10 else "Fewer than 10 FRS adults" raise ValueError( - f"{int(unknown.sum())} FRS adults have EMPSTATI codes missing from " - f"FRS_EMPSTATI_EMPLOYMENT_STATUS (code: adults): {counts}. Map " - "them from the release's data dictionary." + f"{adults} have EMPSTATI codes missing from " + f"FRS_EMPSTATI_EMPLOYMENT_STATUS: {sorted(set(codes[unknown].astype(str)))}. " + "Map them from the release's data dictionary." ) return np.where(is_adult_record, adult_status, EmploymentStatus.CHILD.name) diff --git a/policyengine_uk_data/tests/test_frs_employment_status.py b/policyengine_uk_data/tests/test_frs_employment_status.py index b035358fe..c09582f87 100644 --- a/policyengine_uk_data/tests/test_frs_employment_status.py +++ b/policyengine_uk_data/tests/test_frs_employment_status.py @@ -97,6 +97,21 @@ def test_unknown_adult_code_fails_the_build(code): derive_employment_status_from_frs([1, code], [True, True]) +@given(st.integers(1, 30), st.integers(1, 30)) +def test_failure_message_suppresses_small_counts(n_twelve, n_thirteen): + codes = [12] * n_twelve + [13] * n_thirteen + with pytest.raises(ValueError) as error: + derive_employment_status_from_frs(codes, [True] * len(codes)) + total = n_twelve + n_thirteen + prefix = f"{total} FRS adults" if total >= 10 else "Fewer than 10 FRS adults" + message = str(error.value) + assert message.startswith(prefix) + assert "['12.0', '13.0']" in message + # No other number (such as a per-code count) is disclosed. + rest = message.removeprefix(prefix).replace("['12.0', '13.0']", "") + assert not any(character.isdigit() for character in rest) + + @given(people) def test_each_row_maps_on_its_own(rows): result = derive(rows) From 89c48e074f77f196b1a91bbb2a69f78bb29884fc Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 13:24:41 -0400 Subject: [PATCH 26/70] List unknown EMPSTATI codes without Series.astype(str) Under pandas 3, Series.astype(str) keeps NaN as a float, so sorting a set holding a blank code and another unknown code raised TypeError and hid the codes. Format from the float codes instead ("0, 12, blank"), which behaves the same under pandas 2 and 3. Found by the microcosm port session's differential under pandas 3.0.3. Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/datasets/frs.py | 7 +++++-- .../tests/test_frs_employment_status.py | 11 +++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index e53e1ede3..3195cb18e 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -146,10 +146,13 @@ def derive_employment_status_from_frs(empstati, is_adult_record) -> np.ndarray: # suppress a total under 10 adults. n = int(unknown.sum()) adults = f"{n} FRS adults" if n >= 10 else "Fewer than 10 FRS adults" + bad = codes[unknown] + listed = [f"{code:g}" for code in sorted(bad.dropna().unique())] + listed += ["blank"] if bad.isna().any() else [] raise ValueError( f"{adults} have EMPSTATI codes missing from " - f"FRS_EMPSTATI_EMPLOYMENT_STATUS: {sorted(set(codes[unknown].astype(str)))}. " - "Map them from the release's data dictionary." + f"FRS_EMPSTATI_EMPLOYMENT_STATUS: {', '.join(listed)}. Map them " + "from the release's data dictionary." ) return np.where(is_adult_record, adult_status, EmploymentStatus.CHILD.name) diff --git a/policyengine_uk_data/tests/test_frs_employment_status.py b/policyengine_uk_data/tests/test_frs_employment_status.py index c09582f87..283f46b79 100644 --- a/policyengine_uk_data/tests/test_frs_employment_status.py +++ b/policyengine_uk_data/tests/test_frs_employment_status.py @@ -97,6 +97,13 @@ def test_unknown_adult_code_fails_the_build(code): derive_employment_status_from_frs([1, code], [True, True]) +def test_failure_message_lists_blank_and_numeric_codes(): + # Formatted from the float codes, not Series.astype(str), whose NaN + # handling differs between pandas 2 and 3. + with pytest.raises(ValueError, match=": 0, 12, blank. "): + derive_employment_status_from_frs([np.nan, 0, 12, 1], [True] * 4) + + @given(st.integers(1, 30), st.integers(1, 30)) def test_failure_message_suppresses_small_counts(n_twelve, n_thirteen): codes = [12] * n_twelve + [13] * n_thirteen @@ -106,9 +113,9 @@ def test_failure_message_suppresses_small_counts(n_twelve, n_thirteen): prefix = f"{total} FRS adults" if total >= 10 else "Fewer than 10 FRS adults" message = str(error.value) assert message.startswith(prefix) - assert "['12.0', '13.0']" in message + assert ": 12, 13. " in message # No other number (such as a per-code count) is disclosed. - rest = message.removeprefix(prefix).replace("['12.0', '13.0']", "") + rest = message.removeprefix(prefix).replace(": 12, 13. ", "") assert not any(character.isdigit() for character in rest) From 40fbfea5ba554ca583848237de1a020cf3bb650e Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 14:33:33 -0400 Subject: [PATCH 27/70] Calibrate to LFS counts of employees and the self-employed With SPI incomes drawn by earnings group, the SPI-synthetic rows no longer give pay to children and people out of work. Calibration then met the HMRC counts of income-tax payers with employment income, which are annual and include part-year earners, by moving about 4m people's weight from out of work to employees (32.2m against the LFS's 29.1m for 2024). Nothing tied employment status to an official count. Add national targets for the ONS LFS employee and self-employed levels (MGRN, MGRQ annual averages, 2022-2025), counted from the FRS ILO main-job status. Move the status groups to utils/employment_status.py so the income imputation and the targets share them. Co-Authored-By: Claude Opus 5.5 --- .../datasets/imputations/income.py | 9 ++- .../targets/sources/ons_labour_market.py | 81 +++++++++++++++++++ .../utils/employment_status.py | 7 ++ 3 files changed, 93 insertions(+), 4 deletions(-) create mode 100644 policyengine_uk_data/targets/sources/ons_labour_market.py create mode 100644 policyengine_uk_data/utils/employment_status.py diff --git a/policyengine_uk_data/datasets/imputations/income.py b/policyengine_uk_data/datasets/imputations/income.py index 7e1d6c71b..f1d9d130e 100644 --- a/policyengine_uk_data/datasets/imputations/income.py +++ b/policyengine_uk_data/datasets/imputations/income.py @@ -25,6 +25,11 @@ ) from policyengine_uk_data.utils.stack import stack_datasets from policyengine_uk_data.utils.subsample import subsample_dataset +from policyengine_uk_data.utils.employment_status import ( + CHILD_STATUS, + EMPLOYEE_STATUSES, + SELF_EMPLOYED_STATUSES, +) SPI_TAB_FOLDER = STORAGE_FOLDER / SPI_RELEASE_NAME SPI_RENAMES = dict( @@ -79,10 +84,6 @@ def _spi_age_bounds(age_code) -> tuple[int, int]: # record of them as earners. NOT_IMPUTED = "NOT_IMPUTED" -# policyengine-uk EmploymentStatus names. -EMPLOYEE_STATUSES = ("FT_EMPLOYED", "PT_EMPLOYED") -SELF_EMPLOYED_STATUSES = ("FT_SELF_EMPLOYED", "PT_SELF_EMPLOYED") -CHILD_STATUS = "CHILD" # Every earnings group gets at least this share of the training sample, so the # small self-employed groups are not fitted on a few thousand records. diff --git a/policyengine_uk_data/targets/sources/ons_labour_market.py b/policyengine_uk_data/targets/sources/ons_labour_market.py new file mode 100644 index 000000000..6a6f50639 --- /dev/null +++ b/policyengine_uk_data/targets/sources/ons_labour_market.py @@ -0,0 +1,81 @@ +"""ONS Labour Force Survey employment levels: employees and the self-employed. + +The FRS records each adult's ILO employment status for their main job +(EMPSTATI, `employment_status`), the same concept the LFS uses. Without these +targets nothing in the calibration ties the number of employees or +self-employed people to an official count. The HMRC counts of income-tax +payers with employment income (SPI tables 3.6 and 3.15) are annual: they +include people with pay for part of the year whose status at interview is +out of work. So calibration can meet them by moving weight from people out of +work to employees. + +The FRS child table (dependent children, including 16-19-year-olds in +non-advanced education) carries no employment status, so their jobs are not +counted here, while the LFS counts them. On the FRS 2024-25 grossing weights, +the FRS has 28.1m employees against the LFS's 29.1m for 2024. + +Source: ONS Labour market overview, series MGRN (LFS: Employees: UK: All, +aged 16 and over, seasonally adjusted) and MGRQ (LFS: Self-employed: UK: +All), annual four-quarter averages, release of 14 September 2026. +""" + +import numpy as np + +from policyengine_uk_data.targets.schema import ( + GeographicLevel, + Target, + Unit, +) +from policyengine_uk_data.utils.employment_status import ( + EMPLOYEE_STATUSES, + SELF_EMPLOYED_STATUSES, +) + +_REF = ( + "https://www.ons.gov.uk/employmentandlabourmarket/peopleinwork/" + "employmentandemployeetypes/timeseries/{series}/lms" +) + +# Annual four-quarter averages, people. +EMPLOYEES = { + 2022: 28_564_000.0, + 2023: 28_821_000.0, + 2024: 29_126_000.0, + 2025: 29_590_000.0, +} +SELF_EMPLOYED = { + 2022: 4_244_000.0, + 2023: 4_380_000.0, + 2024: 4_340_000.0, + 2025: 4_395_000.0, +} + + +def _status_count(statuses: tuple[str, ...]): + def compute(ctx, target, year) -> np.ndarray: + status = np.asarray(ctx.pe_person("employment_status")).astype(str) + return ctx.household_from_person(np.isin(status, statuses).astype(float)) + + return compute + + +def get_targets() -> list[Target]: + return [ + Target( + name=f"ons/lfs_{name}", + variable="employment_status", + source="ons", + unit=Unit.COUNT, + geographic_level=GeographicLevel.NATIONAL, + geo_code="K02000001", + geo_name="United Kingdom", + values=dict(values), + is_count=True, + reference_url=_REF.format(series=series), + custom_compute=_status_count(statuses), + ) + for name, values, series, statuses in ( + ("employees", EMPLOYEES, "mgrn", EMPLOYEE_STATUSES), + ("self_employed", SELF_EMPLOYED, "mgrq", SELF_EMPLOYED_STATUSES), + ) + ] diff --git a/policyengine_uk_data/utils/employment_status.py b/policyengine_uk_data/utils/employment_status.py new file mode 100644 index 000000000..950cbc49f --- /dev/null +++ b/policyengine_uk_data/utils/employment_status.py @@ -0,0 +1,7 @@ +"""Groups of policyengine-uk ``EmploymentStatus`` names (the FRS ILO main-job status).""" + +EMPLOYEE_STATUSES = ("FT_EMPLOYED", "PT_EMPLOYED") +SELF_EMPLOYED_STATUSES = ("FT_SELF_EMPLOYED", "PT_SELF_EMPLOYED") +# The FRS child table: dependent children, including 16-19-year-olds in +# non-advanced education. +CHILD_STATUS = "CHILD" From beccbad55d3ba71dbebcb392ac8b464f4ab87434 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 15:26:13 -0400 Subject: [PATCH 28/70] Don't fail the SPI earnings-group properties on slow input generation A loaded runner tripped Hypothesis's too_slow health check while the properties themselves held. Drop the deadline and that health check. Co-Authored-By: Claude Opus 5.5 --- .../tests/test_spi_income_earnings_groups.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/policyengine_uk_data/tests/test_spi_income_earnings_groups.py b/policyengine_uk_data/tests/test_spi_income_earnings_groups.py index 5225aadca..f6233a5df 100644 --- a/policyengine_uk_data/tests/test_spi_income_earnings_groups.py +++ b/policyengine_uk_data/tests/test_spi_income_earnings_groups.py @@ -70,6 +70,9 @@ ) REGIONS = ("LONDON", "WALES", "SCOTLAND", "NORTH_EAST") +# Generation and QRF draws are slow on a loaded runner; that is not a failure. +RELAXED = settings(deadline=None, suppress_health_check=[HealthCheck.too_slow]) + amounts = st.one_of( st.just(0.0), st.floats(0.01, 5e6, allow_nan=False, allow_infinity=False) ) @@ -110,6 +113,7 @@ def _frs_groups(people: pd.DataFrame) -> np.ndarray: ) +@RELAXED @given(frs_people()) def test_frs_group_follows_status_and_recorded_earnings(people): groups = _frs_groups(people) @@ -130,6 +134,7 @@ def test_frs_group_follows_status_and_recorded_earnings(people): np.testing.assert_array_equal(np.isin(adult, list(TRADE_GROUPS)), has_trade[~child]) +@RELAXED @given(frs_people(), st.floats(0.01, 1e6), st.sampled_from(["pay", "profit"])) def test_frs_group_monotone_in_income(people, extra, source): before = _frs_groups(people) @@ -147,6 +152,7 @@ def test_frs_group_monotone_in_income(people, extra, source): ) +@RELAXED @given(frs_people()) def test_frs_group_elementwise_equals_rowwise(people): vectorised = _frs_groups(people) @@ -168,6 +174,7 @@ def test_frs_group_elementwise_equals_rowwise(people): assert list(vectorised) == rowwise == list(as_lists) +@RELAXED @given( st.lists( st.tuples(amounts, amounts, st.sampled_from([-1, 0, 1])), @@ -187,6 +194,7 @@ def test_spi_group_follows_pay_and_self_employment_pages(records): assert list(groups) == rowwise +@RELAXED @given( st.dictionaries( st.sampled_from(EARNINGS_GROUPS), @@ -237,7 +245,7 @@ def _raw_spi(rng: np.random.Generator, n: int) -> pd.DataFrame: return pd.DataFrame(raw) -@settings(deadline=None, max_examples=25) +@settings(deadline=None, max_examples=25, suppress_health_check=[HealthCheck.too_slow]) @given(st.integers(0, 2**31 - 1), st.integers(50, 2_000)) def test_generate_spi_table_resamples_within_groups(seed, sample_size): raw = _raw_spi(np.random.default_rng(seed), 600) @@ -307,7 +315,7 @@ def model_inputs(draw): @settings( deadline=None, max_examples=40, - suppress_health_check=[HealthCheck.function_scoped_fixture], + suppress_health_check=[HealthCheck.function_scoped_fixture, HealthCheck.too_slow], ) @given(model_inputs()) def test_model_draws_agree_with_group(fitted_model, inputs): @@ -366,6 +374,7 @@ def person_and_draws(draw): return person, draws, np.array(groups, dtype=object), outputs +@RELAXED @given(person_and_draws()) def test_apply_income_draws(case): person, draws, groups, outputs = case From fc46a560f303acbd48a3aaf26c41fc1158b9e0c6 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 15:47:54 -0400 Subject: [PATCH 29/70] Report, not train on, the local HMRC employment-income counts HMRC's counts of income-tax payers with employment income by area are annual, so they include people with pay for part of the year whose FRS status at interview is out of work. Trained on, they held employees at 32m against the LFS target of 29.6m. The area amounts and the national counts by income band still train; the counts stay in the calibration logs as validation targets. Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/datasets/create_datasets.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/policyengine_uk_data/datasets/create_datasets.py b/policyengine_uk_data/datasets/create_datasets.py index 29a73028b..d3c1ef0b6 100644 --- a/policyengine_uk_data/datasets/create_datasets.py +++ b/policyengine_uk_data/datasets/create_datasets.py @@ -7,6 +7,15 @@ logging.basicConfig(level=logging.INFO) +# Local targets the calibration logs but does not train on. HMRC's counts of +# income-tax payers with employment income by area (SPI table 3.15) are annual: +# they include people with pay for part of the year whose FRS status at +# interview is out of work, and who therefore have no pay in the FRS. Training +# on them moves weight from people out of work to employees, away from the LFS +# employee count (targets/sources/ons_labour_market.py). The area amounts of +# employment income, and the national counts by income band, still train. +VALIDATION_ONLY_LOCAL_TARGETS = ["hmrc/employment_income/count"] + def _get_positive_int_env(name: str, default: int) -> int: raw_value = os.environ.get(name) @@ -252,7 +261,7 @@ def main(): area_count=650, weight_file="parliamentary_constituency_weights.h5", dataset_key=str(frs_release.calibration_year), - excluded_training_targets=[], + excluded_training_targets=VALIDATION_ONLY_LOCAL_TARGETS, log_csv="constituency_calibration_log.csv", verbose=True, # Enable nested progress display area_name="Constituency", @@ -279,7 +288,7 @@ def main(): area_count=360, weight_file="local_authority_weights.h5", dataset_key=str(frs_release.calibration_year), - excluded_training_targets=[], + excluded_training_targets=VALIDATION_ONLY_LOCAL_TARGETS, log_csv="la_calibration_log.csv", verbose=True, # Enable nested progress display area_name="Local Authority", From 363d5f251a0236ec70981315562f46f0e800cd08 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 15:48:04 -0400 Subject: [PATCH 30/70] Describe the LFS targets and validation-only counts in the changelog Co-Authored-By: Claude Opus 5.5 --- changelog.d/spi-income-earnings-groups.fixed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.d/spi-income-earnings-groups.fixed.md b/changelog.d/spi-income-earnings-groups.fixed.md index 724e2fca4..af1530c13 100644 --- a/changelog.d/spi-income-earnings-groups.fixed.md +++ b/changelog.d/spi-income-earnings-groups.fixed.md @@ -1 +1 @@ -Draw SPI incomes for the enhanced FRS's SPI-synthetic rows within earnings groups (employee, self-employed, both, neither) set by each row's FRS employment status, so employees draw pay, the self-employed draw a trade, people out of work draw no earnings, and children keep their own (zero) incomes. +Draw SPI incomes for the enhanced FRS's SPI-synthetic rows within earnings groups (employee, self-employed, both, neither) set by each row's FRS employment status, so employees draw pay, the self-employed draw a trade, people out of work draw no earnings, and children keep their own (zero) incomes (#504). Calibrate to the ONS LFS counts of employees and the self-employed, and report rather than train on HMRC's local counts of taxpayers with employment income, which are annual and include part-year earners the FRS records as out of work. From 5e320ff2140bf2cb2a7ad0c01bc31d5fa71cb766 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 15:52:18 -0400 Subject: [PATCH 31/70] Harden role tests per review: adults 20+, create_frs smoke, changelog - Built datasets: every person aged 20+ is a claimant or partner (FRS dependent children are 19 at most), so an omitted partner in a childless couple fails. - The synthetic create_frs smoke test asserts the column, so dropping the assignment now fails a unit test, not only CI's built-dataset test. - Changelog: stacking refuses to combine a person table that has the role with one that does not (two tables both without it still stack). Suggested by review 20261002-095728-ukdata-cp-review-r1 (APPROVE at 61f93ba). Co-Authored-By: Claude Opus 5.5 --- changelog.d/frs-claimant-or-partner.added.md | 2 +- policyengine_uk_data/tests/test_claimant_or_partner.py | 3 +++ policyengine_uk_data/tests/test_legacy_benefit_proxies.py | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/changelog.d/frs-claimant-or-partner.added.md b/changelog.d/frs-claimant-or-partner.added.md index f98eb1dac..b20eb8332 100644 --- a/changelog.d/frs-claimant-or-partner.added.md +++ b/changelog.d/frs-claimant-or-partner.added.md @@ -1 +1 @@ -Supply `is_claimant_or_partner`, each benefit unit's single adult or couple, from FRS adult-table membership, so policyengine-uk reads the survey's roles instead of inferring them from ages. SPI records and the public transfer dataset (`enhanced_cps_2025.h5`, column added in place) carry it too, and stacking refuses a person table without it. +Supply `is_claimant_or_partner`, each benefit unit's single adult or couple, from FRS adult-table membership, so policyengine-uk reads the survey's roles instead of inferring them from ages. SPI records and the public transfer dataset (`enhanced_cps_2025.h5`, column added in place) carry it too, and stacking refuses to combine a person table that has it with one that does not. diff --git a/policyengine_uk_data/tests/test_claimant_or_partner.py b/policyengine_uk_data/tests/test_claimant_or_partner.py index 31edefbe7..6c19317a7 100644 --- a/policyengine_uk_data/tests/test_claimant_or_partner.py +++ b/policyengine_uk_data/tests/test_claimant_or_partner.py @@ -176,3 +176,6 @@ def test_built_dataset_roles(fixture, request): assert not (person.is_benunit_head & ~role).any() assert not (person.is_parent & ~role).any() assert (person.age[role] >= 16).all() + # FRS dependent children are 19 at most, so everyone older is in the + # adult table: a claimant or partner. + assert role[person.age >= 20].all() diff --git a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py index 5f1acd85f..c00075603 100644 --- a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py +++ b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py @@ -548,8 +548,10 @@ def fake_read_csv(path, *args, **kwargs): "age_started_or_accepted_current_education_or_training", "is_before_universal_credit_qualifying_young_person_terminal_date", "is_parent", + "is_claimant_or_partner", }.issubset(dataset.person.columns) assert not dataset.person["is_parent"].iloc[0] + assert dataset.person["is_claimant_or_partner"].iloc[0] assert not dataset.person["is_in_non_advanced_education"].iloc[0] assert not dataset.person["is_in_approved_training"].iloc[0] assert ( From 54f09741f499b4ad07ed00ebaf90b74b955fac27 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 15:56:35 -0400 Subject: [PATCH 32/70] Test the LFS employment targets Values pinned against the ONS release, year resolution, source discovery, a Hypothesis property for the household column, and a check that a built enhanced FRS lands near both counts. Co-Authored-By: Claude Opus 5.5 --- .../tests/test_lfs_employment_targets.py | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 policyengine_uk_data/tests/test_lfs_employment_targets.py diff --git a/policyengine_uk_data/tests/test_lfs_employment_targets.py b/policyengine_uk_data/tests/test_lfs_employment_targets.py new file mode 100644 index 000000000..aaaf5f531 --- /dev/null +++ b/policyengine_uk_data/tests/test_lfs_employment_targets.py @@ -0,0 +1,125 @@ +"""ONS LFS employee and self-employed calibration targets. + +Invariants: + +1. Two national count targets, with the ONS values (held here independently + of the source module, so a wrong value is caught) for every year listed. +2. The calibration and base years resolve to a value. +3. The household column counts the household's members whose main-job status + is in the target's group, for any statuses and household layout + (Hypothesis), so the weighted column total is the weighted head count. +4. On a built enhanced FRS, the weighted counts are near the targets. + This also catches the local HMRC employment counts going back into + training (``VALIDATION_ONLY_LOCAL_TARGETS``), which moves employees up. +""" + +from __future__ import annotations + +import numpy as np +import pytest +from hypothesis import HealthCheck, given, settings +from hypothesis import strategies as st + +from policyengine_uk_data.datasets.frs_release import CURRENT_FRS_RELEASE +from policyengine_uk_data.targets.build_loss_matrix import _resolve_value +from policyengine_uk_data.targets.registry import discover_source_modules +from policyengine_uk_data.targets.sources.ons_labour_market import get_targets +from policyengine_uk_data.utils.employment_status import ( + EMPLOYEE_STATUSES, + SELF_EMPLOYED_STATUSES, +) + +# ONS Labour market overview, 14 September 2026: MGRN and MGRQ, annual +# four-quarter averages, thousands. +ONS_THOUSANDS = { + "ons/lfs_employees": {2022: 28_564, 2023: 28_821, 2024: 29_126, 2025: 29_590}, + "ons/lfs_self_employed": {2022: 4_244, 2023: 4_380, 2024: 4_340, 2025: 4_395}, +} +STATUS_GROUPS = { + "ons/lfs_employees": EMPLOYEE_STATUSES, + "ons/lfs_self_employed": SELF_EMPLOYED_STATUSES, +} +ALL_STATUSES = ( + EMPLOYEE_STATUSES + + SELF_EMPLOYED_STATUSES + + ("CHILD", "UNEMPLOYED", "RETIRED", "STUDENT", "CARER", "OTHER_INACTIVE") +) +# Calibration only partly pulls national counts in (see the public sector +# employment test); the built-data check guards against the 4m drift seen +# without these targets, not against small misses. +BUILT_RELATIVE_TOLERANCE = 0.08 + + +def _by_name(): + return {target.name: target for target in get_targets()} + + +def test_targets_and_values(): + targets = _by_name() + assert set(targets) == set(ONS_THOUSANDS) + for name, values in ONS_THOUSANDS.items(): + target = targets[name] + assert target.is_count + assert target.source == "ons" + assert target.variable == "employment_status" + assert target.values == {year: v * 1e3 for year, v in values.items()} + + +def test_source_module_is_discovered(): + # Discovery only imports the source modules; collecting every target + # would download the other sources' tables. + modules = {module.__name__ for module in discover_source_modules()} + assert "policyengine_uk_data.targets.sources.ons_labour_market" in modules + + +@pytest.mark.parametrize( + "year", + sorted({CURRENT_FRS_RELEASE.base_year, CURRENT_FRS_RELEASE.calibration_year}), +) +def test_model_years_resolve(year): + for name, target in _by_name().items(): + assert _resolve_value(target, year) == ONS_THOUSANDS[name][year] * 1e3 + + +class _FakeContext: + def __init__(self, status, household): + self.status = np.array(status, dtype=object) + self.household = np.array(household) + + def pe_person(self, variable): + assert variable == "employment_status" + return self.status + + def household_from_person(self, values): + return np.bincount(self.household, weights=values, minlength=10) + + +@settings(deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given( + st.lists( + st.tuples(st.sampled_from(ALL_STATUSES), st.integers(0, 9)), + min_size=1, + max_size=60, + ) +) +def test_column_counts_household_members_in_group(people): + status, household = zip(*people) + ctx = _FakeContext(status, household) + for name, target in _by_name().items(): + column = target.custom_compute(ctx, target, 2025) + expected = np.zeros(10) + for s, h in people: + expected[h] += s in STATUS_GROUPS[name] + np.testing.assert_array_equal(column, expected) + + +def test_built_enhanced_frs_near_lfs(enhanced_frs, baseline): + year = CURRENT_FRS_RELEASE.calibration_year + status = baseline.calculate("employment_status", year).values.astype(str) + weight = baseline.calculate("person_weight", year).values + for name, statuses in STATUS_GROUPS.items(): + estimate = weight[np.isin(status, statuses)].sum() + target = ONS_THOUSANDS[name][year] * 1e3 + assert abs(estimate / target - 1) < BUILT_RELATIVE_TOLERANCE, ( + f"{name}: {estimate / 1e6:.2f}m against {target / 1e6:.2f}m" + ) From c3cb23753cd4b03b0de4d3ebdd061bcb98e9630d Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 18:12:09 -0400 Subject: [PATCH 33/70] Keep the calibration validation loss finite when every validation target is local With VALIDATION_ONLY_LOCAL_TARGETS no national target is held out, so the national validation term was the mean of an empty set and the logged validation loss was NaN. An empty mask now contributes zero, as the local term already did. Training and the saved weights are unchanged. Co-Authored-By: Claude Opus 5.5 --- .../test_calibrate_validation_targets.py | 95 +++++++++++++++++++ policyengine_uk_data/utils/calibrate.py | 7 +- 2 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 policyengine_uk_data/tests/test_calibrate_validation_targets.py diff --git a/policyengine_uk_data/tests/test_calibrate_validation_targets.py b/policyengine_uk_data/tests/test_calibrate_validation_targets.py new file mode 100644 index 000000000..4dfba5483 --- /dev/null +++ b/policyengine_uk_data/tests/test_calibrate_validation_targets.py @@ -0,0 +1,95 @@ +"""Validation-only targets in calibrate_local_areas. + +create_datasets passes VALIDATION_ONLY_LOCAL_TARGETS, which exist only in the +local matrices. The calibration must then train on the other targets, leave +the excluded one out of training, and log a finite validation loss (an empty +national validation set used to make it NaN). +""" + +from __future__ import annotations + +import importlib.util + +import numpy as np +import pandas as pd +import pytest + +if ( + importlib.util.find_spec("torch") is None + or importlib.util.find_spec("policyengine_uk") is None +): + pytest.skip( + "torch/policyengine_uk not available in test environment", + allow_module_level=True, + ) + +from policyengine_uk_data.tests.test_calibrate_save import _StubDataset + + +def _performance(weights, _m_c, _y_c, m_n, y_n, _excluded_targets): + estimate = float((weights.sum(axis=0) @ m_n).iloc[0]) + target = float(y_n.iloc[0]) + return pd.DataFrame( + { + "name": ["UK"], + "metric": ["national_total"], + "estimate": [estimate], + "target": [target], + "error": [estimate - target], + "abs_error": [abs(estimate - target)], + "rel_abs_error": [abs(estimate - target) / target], + "validation": [False], + } + ) + + +def _calibrate(tmp_path, monkeypatch, excluded, target_b): + import h5py + import torch + + from policyengine_uk_data.utils import calibrate as calibrate_module + from policyengine_uk_data.utils.calibrate import calibrate_local_areas + + monkeypatch.setattr(calibrate_module, "STORAGE_FOLDER", tmp_path) + # Household 0 feeds local target "a", household 1 feeds "b". + matrix = pd.DataFrame({"a": [1.0, 0.0], "b": [0.0, 1.0]}) + local = pd.DataFrame({"a": [100.0], "b": [target_b]}) + national = pd.DataFrame({"national_total": [1.0, 1.0]}) + + log_csv = tmp_path / f"log_{len(excluded)}_{target_b:.0f}.csv" + # Weight dropout is random; seed it so runs differ only by their inputs. + torch.manual_seed(0) + calibrate_local_areas( + dataset=_StubDataset(np.array([50.0, 50.0])), + matrix_fn=lambda _d: (matrix.copy(), local.copy(), np.ones((1, 2))), + national_matrix_fn=lambda _d: (national.copy(), pd.Series([200.0])), + area_count=1, + weight_file=f"weights_{len(excluded)}_{target_b:.0f}.h5", + dataset_key="2025", + epochs=21, + excluded_training_targets=excluded, + log_csv=log_csv, + get_performance=_performance, + verbose=True, + ) + with h5py.File(tmp_path / f"weights_{len(excluded)}_{target_b:.0f}.h5") as f: + weights = f["2025"][:] + return weights, pd.read_csv(log_csv) + + +def test_local_only_validation_target_logs_finite_validation_loss( + tmp_path, monkeypatch +): + _, log = _calibrate(tmp_path, monkeypatch, ["b"], 100.0) + assert np.isfinite(log["validation_loss"]).all() + + +def test_validation_only_target_does_not_train(tmp_path, monkeypatch): + # Changing an excluded target's value leaves the weights unchanged; + # changing it when it trains moves them. + excluded_low, _ = _calibrate(tmp_path, monkeypatch, ["b"], 100.0) + excluded_high, _ = _calibrate(tmp_path, monkeypatch, ["b"], 10_000.0) + np.testing.assert_allclose(excluded_low, excluded_high) + trained_low, _ = _calibrate(tmp_path, monkeypatch, [], 100.0) + trained_high, _ = _calibrate(tmp_path, monkeypatch, [], 10_000.0) + assert not np.allclose(trained_low, trained_high) diff --git a/policyengine_uk_data/utils/calibrate.py b/policyengine_uk_data/utils/calibrate.py index a31dcc1fb..f97c4e1ef 100644 --- a/policyengine_uk_data/utils/calibrate.py +++ b/policyengine_uk_data/utils/calibrate.py @@ -349,8 +349,11 @@ def loss(w, validation: bool = False): mask = validation_targets_national else: mask = ~validation_targets_national - pred_national = pred_national[mask] - mse_national = torch.mean(sre(pred_national, y_national[mask])) + if mask.any(): + mse_national = torch.mean(sre(pred_national[mask], y_national[mask])) + else: + # Validation targets can all be local; an empty mean is NaN. + mse_national = pred_national.sum() * 0 else: mse_national = torch.mean(sre(pred_national, y_national)) From aa604525af6e781b23ceb634c448673086f0691e Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 22:13:19 -0400 Subject: [PATCH 34/70] Target GB universal credit as one OBR total; reach the UC payment top band MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OBR EFO table 4.9 splits UC between spending inside the welfare cap and outside it. The outside row is DWP's UC equivalent of JSA (the Intensive Work Search group), not UC for households the benefit cap leaves alone, so computing it as UC where benefit_cap_reduction is zero asked for £12.9bn of nearly all UC. policyengine-uk cannot identify the Intensive Work Search group, so the two rows become one target, obr/universal_credit, restricted to Great Britain (the rows sit under DWP social security; Northern Ireland has its own). The GB restriction uses #490's countries field, copied verbatim. The DWP UC payment distribution's open top band ("£2500.01 or over") parsed to NaN bounds, so its four targets had a zero column. Parse it as (30,000, inf), make bands (lower, upper] so they meet without gaps, and reject overlapping summary bands. Co-Authored-By: Claude Opus 5.5 --- .../obr-uc-welfare-cap-targets.fixed.md | 1 + .../targets/build_loss_matrix.py | 19 +- .../targets/compute/__init__.py | 2 - .../targets/compute/benefits.py | 20 +-- policyengine_uk_data/targets/schema.py | 9 + policyengine_uk_data/targets/sources/obr.py | 88 +++++++--- .../tests/test_obr_universal_credit_target.py | 166 ++++++++++++++++++ .../test_uc_payment_distribution_targets.py | 150 ++++++++++++++++ policyengine_uk_data/utils/uc_data.py | 54 ++++-- pyproject.toml | 1 + uv.lock | 73 +++++++- 11 files changed, 522 insertions(+), 61 deletions(-) create mode 100644 changelog.d/obr-uc-welfare-cap-targets.fixed.md create mode 100644 policyengine_uk_data/tests/test_obr_universal_credit_target.py create mode 100644 policyengine_uk_data/tests/test_uc_payment_distribution_targets.py diff --git a/changelog.d/obr-uc-welfare-cap-targets.fixed.md b/changelog.d/obr-uc-welfare-cap-targets.fixed.md new file mode 100644 index 000000000..d2e0643ee --- /dev/null +++ b/changelog.d/obr-uc-welfare-cap-targets.fixed.md @@ -0,0 +1 @@ +Calibrate universal credit to one OBR total for Great Britain, the sum of EFO table 4.9's rows inside and outside the welfare cap. The outside-the-cap row is DWP's UC equivalent of JSA (the Intensive Work Search group), not UC for households the benefit cap leaves alone: computed that way, it asked for £12.9bn of nearly all UC (estimate £72bn, +460%), and the inside-the-cap row was compared with all UK UC. Also count the open top band of the DWP UC payment distribution ("£2,500.01 or over" a month): it parsed to missing bounds, so its four targets (1.4k to 83k households) could never be met, and the bands now meet without gaps. diff --git a/policyengine_uk_data/targets/build_loss_matrix.py b/policyengine_uk_data/targets/build_loss_matrix.py index 9552aeea2..010501a05 100644 --- a/policyengine_uk_data/targets/build_loss_matrix.py +++ b/policyengine_uk_data/targets/build_loss_matrix.py @@ -52,7 +52,6 @@ compute_two_child_limit, compute_uc_by_children, compute_uc_by_family_type, - compute_uc_outside_cap, compute_uc_payment_dist, compute_uk_population, compute_vehicles, @@ -113,7 +112,7 @@ def create_target_matrix( col = _compute_column(target, ctx, year) if col is None: continue - df[target.name] = col + df[target.name] = restrict_to_countries(col, ctx.country, target.countries) target_names.append(target.name) target_values.append(val) except Exception as e: @@ -122,6 +121,18 @@ def create_target_matrix( return df, pd.Series(target_values, index=target_names) +def restrict_to_countries(column, household_country, countries): + """Zero a household column outside the countries a target covers. + + ``countries`` of None means the target covers the whole UK, and the + column is returned unchanged. + """ + if countries is None: + return column + in_scope = np.isin(np.asarray(household_country), countries) + return np.asarray(column, dtype=float) * in_scope + + def _resolve_value(target: Target, year: int) -> float | None: """Get the target value for a year, falling back to nearest year. @@ -392,10 +403,6 @@ def _compute_column(target: Target, ctx: _SimContext, year: int) -> np.ndarray | ): return compute_ss_ni_relief(target, ctx) - # UC outside benefit cap - if name == "obr/universal_credit_outside_cap": - return compute_uc_outside_cap(target, ctx) - # Two-child limit if "two_child_limit" in name: return compute_two_child_limit(target, ctx) diff --git a/policyengine_uk_data/targets/compute/__init__.py b/policyengine_uk_data/targets/compute/__init__.py index c7000eb41..877dd8e16 100644 --- a/policyengine_uk_data/targets/compute/__init__.py +++ b/policyengine_uk_data/targets/compute/__init__.py @@ -7,7 +7,6 @@ compute_two_child_limit, compute_uc_by_children, compute_uc_by_family_type, - compute_uc_outside_cap, compute_uc_payment_dist, ) from policyengine_uk_data.targets.compute.council_tax import ( @@ -76,7 +75,6 @@ "compute_two_child_limit", "compute_uc_by_children", "compute_uc_by_family_type", - "compute_uc_outside_cap", "compute_uc_payment_dist", "compute_uk_population", "compute_vehicles", diff --git a/policyengine_uk_data/targets/compute/benefits.py b/policyengine_uk_data/targets/compute/benefits.py index 0daca8507..47126b14b 100644 --- a/policyengine_uk_data/targets/compute/benefits.py +++ b/policyengine_uk_data/targets/compute/benefits.py @@ -82,7 +82,12 @@ def ft_hh(value): def compute_uc_payment_dist(target, ctx) -> np.ndarray: - """Compute UC payment distribution band x family type.""" + """Compute UC payment distribution band x family type. + + Bands are (lower, upper] annual amounts (see + utils.uc_data.parse_monthly_award_band), so consecutive bands meet and + the open top band has an infinite upper bound. + """ name = target.name.removeprefix("dwp/uc_payment_dist/") idx = name.index("_annual_payment_") family_type = name[:idx] @@ -93,22 +98,11 @@ def compute_uc_payment_dist(target, ctx) -> np.ndarray: uc_family_type = ctx.sim.calculate("family_type", map_to="benunit").values in_band = ( - (uc_payments >= lower) & (uc_payments < upper) & (uc_family_type == family_type) + (uc_payments > lower) & (uc_payments <= upper) & (uc_family_type == family_type) ) return ctx.household_from_family(in_band) -def compute_uc_outside_cap(target, ctx) -> np.ndarray: - """Compute OBR UC outside benefit cap.""" - uc = ctx.sim.calculate("universal_credit") - uc_hh = ctx.household_from_family(uc) - cap_reduction = ctx.sim.calculate( - "benefit_cap_reduction", map_to="household" - ).values - not_capped = cap_reduction == 0 - return uc_hh * not_capped - - def compute_two_child_limit(target, ctx) -> np.ndarray | None: """Compute two-child limit targets.""" name = target.name diff --git a/policyengine_uk_data/targets/schema.py b/policyengine_uk_data/targets/schema.py index 97b814678..0a678a228 100644 --- a/policyengine_uk_data/targets/schema.py +++ b/policyengine_uk_data/targets/schema.py @@ -19,6 +19,11 @@ class Unit(str, Enum): RATE = "rate" +# DWP statistics cover Great Britain: benefits for Northern Ireland residents +# are the Northern Ireland Executive's responsibility. +GREAT_BRITAIN = ("ENGLAND", "SCOTLAND", "WALES") + + class Target(BaseModel): """A single calibration target from an official statistical source. @@ -41,6 +46,10 @@ class Target(BaseModel): is_count: bool = False reference_url: str | None = None forecast_vintage: str | None = None + # Countries a national source covers when that is less than the UK, as + # values of the model's `country` variable. The loss matrix column only + # counts households in these countries. None means the whole UK. + countries: tuple[str, ...] | None = None # For targets needing custom simulation logic (UC splits, # counterfactuals). Excluded from serialisation. diff --git a/policyengine_uk_data/targets/sources/obr.py b/policyengine_uk_data/targets/sources/obr.py index ad4e3cf17..1207aa435 100644 --- a/policyengine_uk_data/targets/sources/obr.py +++ b/policyengine_uk_data/targets/sources/obr.py @@ -17,7 +17,7 @@ import openpyxl import requests -from policyengine_uk_data.targets.schema import Target, Unit +from policyengine_uk_data.targets.schema import GREAT_BRITAIN, Target, Unit from policyengine_uk_data.targets.sources._common import ( HEADERS, load_config, @@ -455,6 +455,31 @@ def _parse_nics(wb: openpyxl.Workbook) -> list[Target]: return targets +def _universal_credit_rows(ws, max_row: int = 55) -> tuple[int, int]: + """Table 4.9's universal credit rows inside and outside the welfare cap. + + Each section has exactly one row starting "Universal credit"; the + outside-the-cap section starts at the row headed "Welfare spending + outside the welfare cap". + """ + boundary = _find_row( + ws, "Welfare spending outside the welfare cap", max_row=max_row + ) + rows = [ + row + for row in range(1, max_row + 1) + if str(ws[f"B{row}"].value or "").strip().startswith("Universal credit") + ] + inside = [row for row in rows if row < boundary] + outside = [row for row in rows if row > boundary] + if len(inside) != 1 or len(outside) != 1: + raise ValueError( + f"expected one universal credit row each side of row {boundary}, " + f"found rows {rows}" + ) + return inside[0], outside[0] + + def _parse_welfare(wb: openpyxl.Workbook) -> list[Target]: """Parse Table 4.9 (welfare spending) from expenditure xlsx.""" config = load_config() @@ -506,10 +531,6 @@ def read_49(row_num: int) -> dict[int, float]: "Winter fuel payment", "winter_fuel_allowance", ), - "universal_credit_in_cap": ( - "Universal credit", - "universal_credit", - ), "child_benefit": ("Child benefit", "child_benefit"), "state_pension": ("State pension", "state_pension"), "jobseekers_allowance": ( @@ -539,30 +560,41 @@ def read_49(row_num: int) -> dict[int, float]: except ValueError: logger.warning("OBR welfare: row '%s' not found", label) - # Universal credit outside cap (row 43) is jobseekers UC + # Universal credit has two rows: spending inside the welfare cap (row 18 + # of the March 2026 table) and outside it (row 43). The welfare cap is the + # Charter for Budget Responsibility's limit on welfare spending, not the + # household benefit cap. It excludes the State Pension and the payments + # most sensitive to the economic cycle: JSA, associated Housing Benefit + # and their UC equivalent. DWP's benefit expenditure and caseload tables + # (Spring Forecast 2026) give the same £12.876bn for 2025-26 and define + # it (Notes) as "the total expenditure ... directed to those in the + # Intensive Work Search group"; EFO March 2026 para 4.24 n.20 uses the + # same regime. policyengine-uk has no UC conditionality regime. A proxy + # built from the legal tests and FRS employment status went from 5% under + # to 27% over DWP's 2025-26 figure when one employment-status code was + # mapped correctly, too fragile to calibrate to, so the two rows are + # targeted as one total. Both sit under "DWP social security", + # which covers Great Britain: Northern Ireland's UC is in the "NI social + # security" rows. try: - # UC outside cap = predominantly JSA-conditionality UC - uc_outside_row = _find_row(ws, "Universal credit", col="B", max_row=55) - # Find the second UC row (outside cap section) - for row in range(uc_outside_row + 1, 55): - cell_val = ws[f"B{row}"].value - if cell_val and str(cell_val).strip().startswith("Universal credit"): - values = read_49(row) - if values: - targets.append( - Target( - name="obr/universal_credit_outside_cap", - variable="universal_credit", - source="obr", - unit=Unit.GBP, - values=values, - reference_url=ref, - forecast_vintage=vintage, - ) - ) - break - except ValueError: - logger.warning("OBR welfare: UC outside cap not found") + inside_row, outside_row = _universal_credit_rows(ws) + inside, outside = read_49(inside_row), read_49(outside_row) + if not inside or inside.keys() != outside.keys(): + raise ValueError("the two universal credit rows cover different years") + targets.append( + Target( + name="obr/universal_credit", + variable="universal_credit", + source="obr", + unit=Unit.GBP, + values={year: inside[year] + outside[year] for year in inside}, + countries=GREAT_BRITAIN, + reference_url=ref, + forecast_vintage=vintage, + ) + ) + except ValueError as e: + logger.warning("OBR welfare: universal credit not parsed: %s", e) return targets diff --git a/policyengine_uk_data/tests/test_obr_universal_credit_target.py b/policyengine_uk_data/tests/test_obr_universal_credit_target.py new file mode 100644 index 000000000..d09f36353 --- /dev/null +++ b/policyengine_uk_data/tests/test_obr_universal_credit_target.py @@ -0,0 +1,166 @@ +"""Tests for the OBR universal credit target. + +OBR EFO table 4.9 splits universal credit between spending inside the welfare +cap and outside it (the Intensive Work Search group, DWP's UC equivalent of +JSA). The split is not the household benefit cap, and policyengine-uk cannot +identify the Intensive Work Search group, so the two rows are one target: +GB universal credit, the sum of both rows. +""" + +from types import SimpleNamespace + +import numpy as np +import openpyxl +import pytest +from hypothesis import given, settings +from hypothesis import strategies as st + +from policyengine_uk_data.storage import STORAGE_FOLDER +from policyengine_uk_data.targets.build_loss_matrix import ( + _compute_column, + restrict_to_countries, +) +from policyengine_uk_data.targets.schema import GREAT_BRITAIN +from policyengine_uk_data.targets.sources import obr + +COUNTRIES = ("ENGLAND", "SCOTLAND", "WALES", "NORTHERN_IRELAND") +YEAR_COLUMNS = dict(zip("CDEFGHI", range(2024, 2031))) + + +def _committed_table() -> openpyxl.Workbook: + return openpyxl.load_workbook(STORAGE_FOLDER / "obr_efo" / "efo_expenditure.xlsx") + + +def _uc_targets(wb) -> dict: + return {t.name: t for t in obr._parse_welfare(wb) if "universal_credit" in t.name} + + +def test_universal_credit_is_one_gb_target(): + targets = _uc_targets(_committed_table()) + assert list(targets) == ["obr/universal_credit"] + target = targets["obr/universal_credit"] + assert target.variable == "universal_credit" + assert target.countries == GREAT_BRITAIN + # March 2026 EFO table 4.9, 2025-26: £66.411bn inside the welfare cap + # (row 18) plus £12.876bn outside it (row 43). + assert target.values[2025] == pytest.approx(79.287e9, abs=1e6) + + +def test_target_is_the_sum_of_both_rows_in_every_year(): + wb = _committed_table() + ws = wb["4.9"] + rows = [ + row + for row in range(1, 56) + if str(ws[f"B{row}"].value or "").startswith("Universal credit") + ] + assert rows == [18, 43] + target = _uc_targets(wb)["obr/universal_credit"] + assert sorted(target.values) == list(YEAR_COLUMNS.values()) + for column, year in YEAR_COLUMNS.items(): + expected = sum(ws[f"{column}{row}"].value for row in rows) * 1e9 + assert target.values[year] == pytest.approx(expected) + + +def _table(rows: list[tuple]) -> openpyxl.Workbook: + """A minimal sheet 4.9: (label, value per year) in column B onwards.""" + wb = openpyxl.Workbook() + ws = wb.active + ws.title = "4.9" + for i, (label, value) in enumerate(rows, start=6): + ws[f"B{i}"] = label + if value is not None: + for column in YEAR_COLUMNS: + ws[f"{column}{i}"] = value + return wb + + +def test_rows_are_found_by_section_not_position(): + wb = _table( + [ + ("Welfare cap", None), + ("Pension credit", 6.0), + ("Universal credit", 60.0), + ("Child benefit", 13.0), + ("Welfare spending outside the welfare cap", None), + ("State pension", 140.0), + ("Universal credit", 10.0), + ] + ) + target = _uc_targets(wb)["obr/universal_credit"] + assert set(target.values.values()) == {70e9} + + +@pytest.mark.parametrize( + "rows", + [ + # No outside-the-cap row: a partial total would understate UC. + [ + ("Universal credit", 60.0), + ("Welfare spending outside the welfare cap", None), + ("State pension", 140.0), + ], + # No section heading: the rows cannot be told apart. + [("Universal credit", 60.0), ("Universal credit", 10.0)], + # Two rows in one section. + [ + ("Universal credit", 60.0), + ("Universal credit", 1.0), + ("Welfare spending outside the welfare cap", None), + ("Universal credit", 10.0), + ], + ], +) +def test_no_target_unless_both_rows_are_unambiguous(rows): + assert _uc_targets(_table(rows)) == {} + + +def _fake_ctx(uc, benunit_household, household_country): + n_households = len(household_country) + variables = { + "universal_credit": SimpleNamespace(entity=SimpleNamespace(key="benunit")) + } + return SimpleNamespace( + sim=SimpleNamespace( + tax_benefit_system=SimpleNamespace(variables=variables), + calculate=lambda variable, *args, **kwargs: uc, + ), + household_from_family=lambda values: np.bincount( + benunit_household, weights=np.asarray(values, float), minlength=n_households + ), + country=household_country, + ) + + +@settings(max_examples=200, deadline=None) +@given( + st.lists(st.sampled_from(COUNTRIES), min_size=1, max_size=20).flatmap( + lambda countries: st.tuples( + st.just(np.array(countries)), + st.lists( + st.tuples( + st.integers(0, len(countries) - 1), + st.floats(0, 1e5, allow_nan=False), + ), + max_size=40, + ), + ) + ) +) +def test_column_counts_gb_universal_credit_once(case): + """Property: the column sums UC over benefit units in GB households, each + once, and is zero for every Northern Ireland household.""" + household_country, benunits = case + benunit_household = np.array([h for h, _ in benunits], dtype=int) + uc = np.array([amount for _, amount in benunits], dtype=float) + ctx = _fake_ctx(uc, benunit_household, household_country) + target = _uc_targets(_committed_table())["obr/universal_credit"] + + column = restrict_to_countries( + _compute_column(target, ctx, 2025), ctx.country, target.countries + ) + + in_gb = household_country[benunit_household] != "NORTHERN_IRELAND" + assert column.sum() == pytest.approx(uc[in_gb].sum()) + assert (column[household_country == "NORTHERN_IRELAND"] == 0).all() + assert (column >= 0).all() diff --git a/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py b/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py new file mode 100644 index 000000000..bccb3290e --- /dev/null +++ b/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py @@ -0,0 +1,150 @@ +"""Tests for the DWP UC payment distribution targets. + +The Stat-Xplore extract (storage/uc_national_payment_dist.xlsx, May 2025) +counts households on UC by monthly award band and family type. Its top band, +'£2500.01 or over', is open-ended; it used to parse to NaN bounds, so its four +targets (1.4k to 83k households) had a column of zeros and could never be met. +""" + +from types import SimpleNamespace + +import numpy as np +import pandas as pd +import pytest +from hypothesis import given, settings +from hypothesis import strategies as st + +from policyengine_uk_data.storage import STORAGE_FOLDER +from policyengine_uk_data.targets.compute.benefits import compute_uc_payment_dist +from policyengine_uk_data.targets.sources.dwp import _uc_payment_distribution_targets +from policyengine_uk_data.utils.uc_data import ( + _check_bands_disjoint, + parse_monthly_award_band, + uc_national_payment_dist, +) + +FAMILY_TYPES = { + "Single, no children": "SINGLE", + "Single, with children": "LONE_PARENT", + "Couple, no children": "COUPLE_NO_CHILDREN", + "Couple, with children": "COUPLE_WITH_CHILDREN", +} + + +def _raw_extract() -> pd.DataFrame: + """Household counts indexed by award band, one column per family type.""" + raw = pd.read_excel(STORAGE_FOLDER / "uc_national_payment_dist.xlsx", header=None) + counts = raw.iloc[9:, 3:7] + counts.index = raw.iloc[9:, 1] + counts.columns = raw.iloc[7, 3:7] + return counts + + +def test_parse_monthly_award_band(): + assert parse_monthly_award_band("£0.01 to £100.00") == (0, 1_200) + assert parse_monthly_award_band("£100.01 to £200.00") == (1_200, 2_400) + assert parse_monthly_award_band("£1000.01 to £1100.00") == (12_000, 13_200) + assert parse_monthly_award_band("£2,500.01 or over") == (30_000, np.inf) + with pytest.raises(ValueError): + parse_monthly_award_band("No payment") + + +def test_top_band_targets_are_reachable(): + targets = {t.name: t for t in _uc_payment_distribution_targets()} + top = _raw_extract().loc["£2500.01 or over"] + for label, family_type in FAMILY_TYPES.items(): + target = targets[ + f"dwp/uc_payment_dist/{family_type}_annual_payment_30_000_to_inf" + ] + assert target.lower_bound == 30_000 + assert target.upper_bound == np.inf + assert target.values[2025] == top[label] + for target in targets.values(): + assert not np.isnan(target.lower_bound) + assert not np.isnan(target.upper_bound) + assert "nan" not in target.name + + +def test_band_counts_sum_to_households_with_a_payment(): + """Conservation: the bands hold every household with a payment, once. + + Stat-Xplore perturbs each cell for disclosure control, so a total can + differ from the sum of its cells by a few households. + """ + raw = _raw_extract() + for label, family_type in FAMILY_TYPES.items(): + with_payment = raw.loc["Total", label] - raw.loc["No payment", label] + parsed = uc_national_payment_dist[ + uc_national_payment_dist.family_type == family_type + ] + assert abs(parsed.household_count.sum() - with_payment) <= 10, label + + +def test_bands_tile_the_positive_awards(): + for family_type, bands in uc_national_payment_dist.groupby("family_type"): + bands = bands.sort_values("uc_annual_payment_min") + lower = bands.uc_annual_payment_min.to_numpy() + upper = bands.uc_annual_payment_max.to_numpy() + assert lower[0] == 0, family_type + assert np.array_equal(lower[1:], upper[:-1]), family_type + assert upper[-1] == np.inf, family_type + + +def test_overlapping_summary_band_is_rejected(): + bands = pd.DataFrame( + { + "family_type": ["SINGLE"] * 3, + "uc_annual_payment_min": [18_000.0, 19_200.0, 18_000.0], + "uc_annual_payment_max": [19_200.0, 20_400.0, np.inf], + } + ) + with pytest.raises(ValueError): + _check_bands_disjoint(bands) + + +def _fake_ctx(uc, family_type, household): + def calculate(variable, map_to=None): + values = {"universal_credit": uc, "family_type": family_type}[variable] + return SimpleNamespace(values=values) + + n_households = household.max() + 1 + return SimpleNamespace( + sim=SimpleNamespace(calculate=calculate), + household_from_family=lambda values: np.bincount( + household, weights=np.asarray(values, float), minlength=n_households + ), + ) + + +_TARGETS = _uc_payment_distribution_targets() +_EDGES = sorted({t.upper_bound for t in _TARGETS if np.isfinite(t.upper_bound)}) +_AWARDS = st.one_of( + st.just(0.0), # no payment + st.floats(0, 1e6, allow_nan=False), # anywhere, including the open top band + st.sampled_from(_EDGES), # exactly on a band edge + st.sampled_from(_EDGES).map(lambda edge: np.nextafter(edge, np.inf)), + st.sampled_from(_EDGES).map(lambda edge: np.nextafter(edge, -np.inf)), +) + + +@settings(max_examples=200, deadline=None) +@given( + st.lists( + st.tuples( + _AWARDS, st.sampled_from(list(FAMILY_TYPES.values())), st.integers(0, 9) + ), + min_size=1, + max_size=60, + ) +) +def test_every_award_lands_in_exactly_one_band(benefit_units): + """Property: summed over bands, each household's column counts its benefit + units with a positive award, and never one without.""" + uc, family_type, household = (np.array(column) for column in zip(*benefit_units)) + ctx = _fake_ctx(uc.astype(float), family_type, household) + + total = sum(compute_uc_payment_dist(t, ctx) for t in _TARGETS) + expected = np.bincount( + household, weights=(uc > 0).astype(float), minlength=len(total) + ) + np.testing.assert_array_equal(total, expected) diff --git a/policyengine_uk_data/utils/uc_data.py b/policyengine_uk_data/utils/uc_data.py index 7bacebc57..3833d138d 100644 --- a/policyengine_uk_data/utils/uc_data.py +++ b/policyengine_uk_data/utils/uc_data.py @@ -1,7 +1,46 @@ +import numpy as np import pandas as pd from pathlib import Path +def parse_monthly_award_band(band: str) -> tuple[float, float]: + """Annual (lower, upper] payment bounds of a Stat-Xplore monthly award band. + + Awards are whole pence, so the band '£100.01 to £200.00' holds monthly + awards over £100.00 and up to £200.00: annual bounds (1,200, 2,400]. The + lower bound is the previous band's top, so consecutive bands meet with no + gap. The open top band '£2500.01 or over' is (30,000, inf). + """ + text = band.replace("£", "").replace(",", "").strip() + if text.endswith(" or over"): + lower = float(text.removesuffix(" or over")) + return round((lower - 0.01) * 12, 2), np.inf + parts = text.split(" to ") + if len(parts) != 2: + raise ValueError(f"Unrecognised UC monthly award band: {band!r}") + lower, upper = (float(part) for part in parts) + return round((lower - 0.01) * 12, 2), upper * 12 + + +def _check_bands_disjoint(bands: pd.DataFrame) -> None: + """Fail if any family type's payment bands overlap. + + Stat-Xplore also lists summary bands ('£1500.01 or over') that span the + finer bands below them. They are suppressed ('..') in the committed + extract; if a new extract filled one in, counting it as well would double + count those households. + """ + for family_type, group in bands.groupby("family_type"): + group = group.sort_values("uc_annual_payment_min") + lower = group.uc_annual_payment_min.to_numpy() + upper = group.uc_annual_payment_max.to_numpy() + if (lower[1:] < upper[:-1]).any(): + raise ValueError( + f"UC payment bands for {family_type} overlap: check for " + "summary bands spanning finer ones" + ) + + def _parse_uc_national_payment_dist(): """Parse UC national payment distribution into long format.""" storage_path = Path(__file__).parent.parent / "storage" @@ -44,17 +83,10 @@ def _parse_uc_national_payment_dist(): result_df = pd.DataFrame(data_rows) - # Parse monthly band into min and max, then convert to annual - def parse_band(band): - """Parse band like '£100.01 to £200.00' into (min, max).""" - parts = band.replace("£", "").replace(",", "").split(" to ") - if len(parts) == 2: - return float(parts[0]) * 12, float(parts[1]) * 12 - return None, None - - result_df[["uc_annual_payment_min", "uc_annual_payment_max"]] = result_df[ - "monthly_award_band" - ].apply(lambda x: pd.Series(parse_band(x))) + result_df[["uc_annual_payment_min", "uc_annual_payment_max"]] = [ + parse_monthly_award_band(band) for band in result_df["monthly_award_band"] + ] + _check_bands_disjoint(result_df) # Map family types to constant names family_type_mapping = { diff --git a/pyproject.toml b/pyproject.toml index beff7f1a4..58de5b1d3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,7 @@ dependencies = [ dev = [ "ruff>=0.9.0", "pytest", + "hypothesis", "torch", "l0-python>=0.4.0", "tables", diff --git a/uv.lock b/uv.lock index a3e9f44d9..c301c6c9f 100644 --- a/uv.lock +++ b/uv.lock @@ -577,6 +577,75 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/f4/124858007ddf3c61e9b144107304c9152fa80b5b6c168da07d86fe583cc1/huggingface_hub-1.1.5-py3-none-any.whl", hash = "sha256:e88ecc129011f37b868586bbcfae6c56868cae80cd56a79d61575426a3aa0d7d", size = 516000, upload-time = "2025-11-20T15:49:30.926Z" }, ] +[[package]] +name = "hypothesis" +version = "6.168.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sortedcontainers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/b7/13118bbc45d6d8b9d04e2de779e2a4ff23145ea39efa692b994fb874ca72/hypothesis-6.168.3.tar.gz", hash = "sha256:a43388f9067678fef6e13bdff325b6cfa6961a590498bb37f7ff31589c83bc75", size = 511022, upload-time = "2026-09-28T05:20:58.499Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/cd/746a2fc1e5e5ba34f07ea6ee1ad07525a3dde5ff4836db3a7980af49a891/hypothesis-6.168.3-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d20972ca134e652e9928ecd200966a8a2857adc2812c1d74b12a872e5cd503eb", size = 791536, upload-time = "2026-09-28T05:18:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0f/7a158e377b69556c8e12c25c8fd811d0103e54c24a12dab1f3b9819f202e/hypothesis-6.168.3-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:eafbec09d3e87d13d8242411d1f5868b5e879f1bd6d95e233e9ff80c527bea1c", size = 787313, upload-time = "2026-09-28T05:20:18.122Z" }, + { url = "https://files.pythonhosted.org/packages/45/c6/7df9104ee359e8fcd77791781c47e70794964ca69673665e0de2a6590f4c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c5627497968cc62d140e9fde1ea21e12cac7b64dc419fea8286cd34ff1ad4e", size = 1124036, upload-time = "2026-09-28T05:20:04.372Z" }, + { url = "https://files.pythonhosted.org/packages/92/0f/8a61715404a73b9a82cb1f976803428d603cdea976a9c30266c72ad6a7ce/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dc56e6dc6eeb0aeb08ac463f847279bde2336c4786faf7ee0af4b93cd031a7", size = 1147875, upload-time = "2026-09-28T05:19:15.495Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3f/2b16e95cc3b9a069afa23830a012aefe377ce4a457a227e5a5026eb827ff/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:753bb501f8560d2e321ed3b62596b4496c56f15668b0a0669231ccc3e6c4e80d", size = 1149489, upload-time = "2026-09-28T05:19:18.886Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e7/d7cf6dc068bb02732b2a6e38a35a0dcb7f2137608198fc79d740f69d197c/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:71ab606c472449cb872ef2a7acaec679ee4f651b7f0a477a04ebc85d8933ef8c", size = 1191992, upload-time = "2026-09-28T05:19:21.83Z" }, + { url = "https://files.pythonhosted.org/packages/5f/26/f1e5b25dec15998e8375d722825ec3dae1075cbe7cb1f74221b2312a2e33/hypothesis-6.168.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26928956c54748e4dfa587333741ab750246123b93484955646ff316cca27eef", size = 1169911, upload-time = "2026-09-28T05:19:27.996Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/901234a49147e6bf8a5b9e54b775706a223c2b52befea1106ea2aaf15d48/hypothesis-6.168.3-cp310-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:0bdfc53c041b61c854fa3761735736b991bc2bddafee45a361cfe4d43027c1ef", size = 1129406, upload-time = "2026-09-28T05:18:42.632Z" }, + { url = "https://files.pythonhosted.org/packages/55/c1/5fc9ff91ec9fba6bb527833386c66812524b5cc75fe7d4a4f9122ee1c420/hypothesis-6.168.3-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:650528e2b1e2a45e95c2df624d4b9364b8ac5a027ba84e1eea2bc5398dd01dcd", size = 1160399, upload-time = "2026-09-28T05:20:23.911Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d2/49ad1ef5c55547c8abfd0fc571b3493806dda530fd5cb3d8263dbad86a72/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:209dc54cdb1b4d6d7020ad8d09e44c49756361b7183adacea4d6f5705085b595", size = 1299906, upload-time = "2026-09-28T05:18:58.417Z" }, + { url = "https://files.pythonhosted.org/packages/0d/5f/f98a26094c4f462c4215807bed0f9a6b5508b27a3c329bcba1bc8adc7ac7/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:af8ca98cd11dc7f9427bb90483abcd9688d4df2e8e63893a30a2423b027ebb11", size = 1425538, upload-time = "2026-09-28T05:20:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b8/c5b4406e3a6591e51a42f85469351d1d824e0a54b84167aec9b2353759fe/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_i686.whl", hash = "sha256:f8122cfdd0bc0ba843063effa22ac310bdebdb3a1319bf1e63f14baa119c72ab", size = 1377084, upload-time = "2026-09-28T05:20:06.618Z" }, + { url = "https://files.pythonhosted.org/packages/e0/01/0d84a8ea469d024c15f602799c0b8410fbe03d99fdb0370449b33c3c916f/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4bedbb379eab34f792af7ee9a05aae04e9c08bbb52e0f90f5a2110d4fe4b2fbd", size = 1281162, upload-time = "2026-09-28T05:19:42.768Z" }, + { url = "https://files.pythonhosted.org/packages/22/b5/ea6435038de1a795f005cb603531e8ccc053febc50180f3ab55583c9c60e/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:5a953115b9f5c95133ab2d04efffeec96e5658c3207923dca7285f7db3e6bbef", size = 1300433, upload-time = "2026-09-28T05:18:55.634Z" }, + { url = "https://files.pythonhosted.org/packages/6c/78/fa6c77d9f64b6d592e69e582d83cbce7d7e56897faa4762885a2123b0166/hypothesis-6.168.3-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6173558e676ad25ed1e20507fa4024a0d816dd90f715f77006e5a28f19109026", size = 1336273, upload-time = "2026-09-28T05:19:08.273Z" }, + { url = "https://files.pythonhosted.org/packages/f1/56/4acd0d778bab818c9ea336fcba768bf43bc70db7f84cc373579298df4641/hypothesis-6.168.3-cp310-abi3-win32.whl", hash = "sha256:dc66390fb12d80585aa9222bf538ce8b7aa22cf5d118250647355a1c9e8f62f4", size = 678211, upload-time = "2026-09-28T05:19:23.355Z" }, + { url = "https://files.pythonhosted.org/packages/b0/db/0a02b146ad1c30f9716362f2e1a379dfd6b0f7be03ac1e22c9da24c9e2a9/hypothesis-6.168.3-cp310-abi3-win_amd64.whl", hash = "sha256:92325b276360fe86c5bf71a568c0d53a6d140b0de36dcf029f9164a17803bb24", size = 684906, upload-time = "2026-09-28T05:18:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c0/958deaf726848f96f52250740bf39f13f476b068e22f73e2b358eaa07532/hypothesis-6.168.3-cp310-abi3-win_arm64.whl", hash = "sha256:3cf6f1eeaf41cd8d60cf1f88fde905ca1dd77c906929a507d6ac7f66f2ccba2a", size = 683292, upload-time = "2026-09-28T05:19:57.404Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a2/6787da846d929e52fc3344d803299c45782dbeac287528af08380e984bf8/hypothesis-6.168.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1b230a850de63334c16654a34a2d547e0179d36b9071d4439b3e7237f6d077e7", size = 793254, upload-time = "2026-09-28T05:19:36.294Z" }, + { url = "https://files.pythonhosted.org/packages/89/ba/2893f5ca42501f4d562cba3229c8994c3a3e5fac66ef60c1e0e0b5220a5d/hypothesis-6.168.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d63b0226cd3e0d8bdd97c3384b22a21934ed4d53246c1c93575dada616672499", size = 784699, upload-time = "2026-09-28T05:18:54.194Z" }, + { url = "https://files.pythonhosted.org/packages/b7/aa/7d7349daf75b71f6f35876f8de115e974c5c04d600e86df1b2779b0883ab/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0369f5df055f96e117ab12e5f249668ff144731ab5280bc7a205fdf81f990b89", size = 1123016, upload-time = "2026-09-28T05:20:36.372Z" }, + { url = "https://files.pythonhosted.org/packages/00/f0/7774e1ea072708ea46cb25c4aeee5f9978b6c271764809069e8a6789858e/hypothesis-6.168.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f076bcd0f77fdcdb7797826c879099573d03a02e228ebe649ea917081b962ac0", size = 1168989, upload-time = "2026-09-28T05:20:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7d/113992abed9efbd7944e3a496a382da58152dce126fddf6419ff31a0a57d/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b823ba1fcec8da730f29316d010b06d3f7e0c3828dcf91020e24c55e7d24652a", size = 1298626, upload-time = "2026-09-28T05:19:40.986Z" }, + { url = "https://files.pythonhosted.org/packages/d5/65/3659fa5e733027e5b37a27486e57f4053535e40853d23501c422bb275043/hypothesis-6.168.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dd2849c269d674e4618590f3b48d443bd4c06b5aef3d8d869086c2e6d213d248", size = 1335184, upload-time = "2026-09-28T05:20:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/35aab2221b5ea65125340f236e1a765a9e9f3b28d89a389ea0033fed29f7/hypothesis-6.168.3-cp313-cp313-win_amd64.whl", hash = "sha256:3ef7d26f5789e691401d5f87eafed9bd2763f0dbe47af6d6b66012a509404766", size = 682173, upload-time = "2026-09-28T05:19:12.762Z" }, + { url = "https://files.pythonhosted.org/packages/6e/79/27b0cb56ff5d2bc92458bf6fcebdb1f0dc01f57f043a178e9f9d74498169/hypothesis-6.168.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e2d4c68729a13df9af4998d2652cfb5d541c5609b88c306880a5dfb284938ec2", size = 793287, upload-time = "2026-09-28T05:20:38.522Z" }, + { url = "https://files.pythonhosted.org/packages/e8/bd/5342f95c3bc36586777ef8cb8eba87ac7acf0184210327fb0e6d8654e295/hypothesis-6.168.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b345f818083ec99966a43ca4f7b38feb62c6920ce28572bc2bde4948a8b7eaba", size = 784857, upload-time = "2026-09-28T05:20:42.609Z" }, + { url = "https://files.pythonhosted.org/packages/4a/5f/fc774241518a0588d362680a3084275058aab86d6bc02a2c61e1073142d0/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0608c610fc002978fc5de0f471770d8817e9455cb8649a47983c9f8bccfc1897", size = 1123330, upload-time = "2026-09-28T05:19:29.735Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/131f16775a3dca5f4fe27f0d6ad9a9851600098a54a872d163f6ebf0b664/hypothesis-6.168.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dcf6448b1ecc37f2b23f2d1b3ddfc9ff6b6910614c15a642dc82f419b96037b", size = 1169178, upload-time = "2026-09-28T05:19:53.436Z" }, + { url = "https://files.pythonhosted.org/packages/06/61/c9f5bff8b73321c9fd12f2d69666c6e4861b97b60f5f24fdd6ac293007fd/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ae4f9f094041dcce5119ebd7bab71062743ab02b6e654d056b370beda78c19e2", size = 1299127, upload-time = "2026-09-28T05:20:14.486Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6d/d4618f8ab12dd76c4d58ea052252759aa2bf0c4e71f4b502ba5d577e0b9f/hypothesis-6.168.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d479985fe73af97badfb72dc6d20c6a353e486a36f6d065f600026e0cf954a86", size = 1335390, upload-time = "2026-09-28T05:20:10.326Z" }, + { url = "https://files.pythonhosted.org/packages/95/b6/727161e17cc297df1aeea945de05c532033b66751625bec192bc5b5ff707/hypothesis-6.168.3-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:785e2c45f8c08e274b4bf1ccae97f1a4e09407e9a68e80790cfab1d17a4a45fa", size = 624291, upload-time = "2026-09-28T05:18:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/77/23/2f9b506392a0b8712440bcb781abc5713be9ffac1303b6d10f3669050882/hypothesis-6.168.3-cp314-cp314-win_amd64.whl", hash = "sha256:320920b1e3dae8611eee8a03d063cf2187446f2a17c38cfb8a7fc1466f71eee2", size = 682064, upload-time = "2026-09-28T05:20:16.336Z" }, + { url = "https://files.pythonhosted.org/packages/50/93/efabfd95eb2b69c0c9fa1e1c83c8290aa2715d46baeb5a7764faf09c133a/hypothesis-6.168.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:35380baa981108a7f60c4eab71e46acd8d8f58440520346a1a6aba06dca7e074", size = 791875, upload-time = "2026-09-28T05:19:37.789Z" }, + { url = "https://files.pythonhosted.org/packages/1b/fc/2a0ada1623a9a33048bbf9f00a7c92513398c6b8865cba5efb854262ce30/hypothesis-6.168.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f0aaaed00438fa6673d856aaee12a4a8afbde82a9f3c5ff487cacfb064239afe", size = 783412, upload-time = "2026-09-28T05:18:48.266Z" }, + { url = "https://files.pythonhosted.org/packages/41/31/73c615d37eeb12da0209555612c32ced628d860267c23cfd2691c6207aea/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27e6df1576bf838e7f484d4ae5cba92114497ca30afb917056bf1ea33e95675", size = 1121662, upload-time = "2026-09-28T05:19:26.225Z" }, + { url = "https://files.pythonhosted.org/packages/92/54/1893344a3b8bbf83fa7c9bb7e96f6836580213854f46671cb749f7b4706c/hypothesis-6.168.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bc85014577982ec6d2e266edc5cd6e7a7d3674c648791ca983c67a52f89a0c4", size = 1167761, upload-time = "2026-09-28T05:18:49.85Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/a61d82968febd25a0f08ffbbfabfaeead66f68fc5fa73f3c9ece1c36fc8f/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ccfc29505aa1cdcc254cb9cd701fd0811fef5480addd97d4127a00df023410f7", size = 1297309, upload-time = "2026-09-28T05:19:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/01/fe8e4cf6d39d02f4efadaa351427fa13722086cfc54a2da3579741c5177a/hypothesis-6.168.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32d0699566aaa93f9e97a44705d7164386f1e91de78d277f53bada35e78bcc96", size = 1334260, upload-time = "2026-09-28T05:19:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/39/6a/09177ebc62f4778f94379ecade6a51299d3d8c4f4b75ba636bf3a0202364/hypothesis-6.168.3-cp314-cp314t-win_amd64.whl", hash = "sha256:28d88fa174ecbd4ecbd7bb290f06d0db084a3971c3f511ae2830b65b5e25500f", size = 681992, upload-time = "2026-09-28T05:19:48.043Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f6/890bf33d608cd63348d3146a3ca83362fbf09e589c5e5230a00c403070f4/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:61f5782d807b1e6aa5c9beef1054cb2037e7d1add48a64972cd6ee447778781f", size = 791231, upload-time = "2026-09-28T05:18:43.998Z" }, + { url = "https://files.pythonhosted.org/packages/03/dd/fc36b204f8aa7437c676576d9437f0422de46aa8a729e6cd5bbb0224e759/hypothesis-6.168.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:7aacf3cf40c7ce8f9e4924d5b57bc0b068beafdfed2347bcf160a28b4cfbba7b", size = 783171, upload-time = "2026-09-28T05:19:20.353Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d2/3cd087d577db67c404991d7723e64d7cd75570cdc82a0f7329aed6f2086c/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01768a03a30dc54df7fe457c0b34016c84d598fa00d5965ededab93ba4eb3408", size = 1121152, upload-time = "2026-09-28T05:18:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/42/6f/a05a68cc66e7a22701c50bf94fb9ddeb36f4f5d0de3cc130066709eda621/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1a8a4ffc6c6e6e577f2bfbcfebf7cffbb310283ba2532c729570a0a752cebaaa", size = 1144069, upload-time = "2026-09-28T05:20:44.705Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f4/fdd7a093fb2fb3a0ce24256c92ad5bf67936f4669bd06d5ceae4298150ec/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b987d73eba95183a7e59cca6d1925c588aa4307922d9852cc2b4d282a2ae4128", size = 1146692, upload-time = "2026-09-28T05:20:25.83Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/6dbd4377e935505ae4fc8ee4c7b18c69994c4bbaca015447c470218bdbee/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4569c39bd97d9573e946429ed676f3b55a7c8ed80920addd67d384a47d59b38", size = 1189480, upload-time = "2026-09-28T05:20:46.734Z" }, + { url = "https://files.pythonhosted.org/packages/ba/bf/ff288b496b690000d2686dcfa7f67855e4c5a6dddb464ed8e4880be83bb2/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6042b8707a4b25bbbfe20b110258fb7549a68951e5525608a8ce06091039e9fc", size = 1167109, upload-time = "2026-09-28T05:19:24.758Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d1/3fee2bc29fc747fabbb27e174515592e390809ca465d3bbbabbcfa3235a8/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:f413629de94d38a7a2ad259697a6752526143cb49c2e2d7bdba19381c80693f6", size = 1126823, upload-time = "2026-09-28T05:18:52.636Z" }, + { url = "https://files.pythonhosted.org/packages/58/6a/585294392fa6a6d9719446a042a777ba98ecca265d9e48cbedc10c88df0f/hypothesis-6.168.3-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f071737e4e775bebba07e319eb645a880d1e0186b4d24bad23255e849d86d483", size = 1155773, upload-time = "2026-09-28T05:20:51.268Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4d/fa283ff79996debf1ff08593e01f8b773eb8211b19b3d6d5d491317a65bf/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:f59a3912858d0609c26054aa1c474847c797937f5e0e1c77f0d3f08032e50f09", size = 1296671, upload-time = "2026-09-28T05:18:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/42/05/98f9c2f628da5afabb6c3e8df5d2d299d2d50bf306b14a6e26d3954c4951/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:f09c05a23a8025dd5cad07c2ed299a46778e72d49ff0dd5bf353bcc0f7dc1580", size = 1422001, upload-time = "2026-09-28T05:19:04.188Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c9/f2109ade29a7ec284d55bca328d784743e8b13e321576fd34ee7e65f99af/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:44ace770bda3a0301739fc5a413c764de790c739df1f1a7218dd049f8594d9f5", size = 1374182, upload-time = "2026-09-28T05:20:27.764Z" }, + { url = "https://files.pythonhosted.org/packages/ce/6d/e05d5f72441564a3bebc71fa155deafd0fd3b015d6014ec8a00edf6e42bb/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:03b131043608f94a2578a2a896a1a72092acb7079815eef5b8513b08447e0e62", size = 1278402, upload-time = "2026-09-28T05:20:56.332Z" }, + { url = "https://files.pythonhosted.org/packages/96/d7/6988a7f1f69c5c530687dce03a32c157e2d878e3a2e32af9269ce016b78a/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:e9784aca26eddfe99b03a0292320db742cc8a74200ef864fdce949f526f973cd", size = 1297770, upload-time = "2026-09-28T05:19:11.387Z" }, + { url = "https://files.pythonhosted.org/packages/a2/28/5bb82b60b836bd2329e1fe01ad94efc2b14dfa806f8e50ed14b795d78770/hypothesis-6.168.3-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:2b52ac363096232bebc2add117e9178d91f4248f4cdb919fd1026b5f86a4bb16", size = 1333977, upload-time = "2026-09-28T05:20:02.483Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7d/d419841b8f65481ea1a50c4ba36f2670d48b8c7a51e4e8586089564cf7f6/hypothesis-6.168.3-cp315-abi3.abi3t-win32.whl", hash = "sha256:d28e3a6b511a74ce37df5274b51f36c2b274fea7365e00b16f0c81e22acd5957", size = 675394, upload-time = "2026-09-28T05:19:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d2/1de6a2ad100e44817f2e9a8e8ba3eeaf4769621f4f87f2d4966c4971fcc4/hypothesis-6.168.3-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:7b9638789548361a57d984f56619ac694a914c328181d911271618409261ff4a", size = 681699, upload-time = "2026-09-28T05:19:09.957Z" }, + { url = "https://files.pythonhosted.org/packages/c0/79/be3370fd02734d6b1d950183ae9224580d19fa8d356b95348d60f1e3eeb7/hypothesis-6.168.3-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:65d78e4357ec48ed2c67825f06740ee3599be4cfe770a6092bed07108d679ac5", size = 679849, upload-time = "2026-09-28T05:19:06.884Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -1364,7 +1433,7 @@ wheels = [ [[package]] name = "policyengine-uk-data" -version = "1.56.16" +version = "1.57.4" source = { editable = "." } dependencies = [ { name = "google-auth" }, @@ -1392,6 +1461,7 @@ dependencies = [ dev = [ { name = "build" }, { name = "furo" }, + { name = "hypothesis" }, { name = "itables" }, { name = "l0-python" }, { name = "pytest" }, @@ -1410,6 +1480,7 @@ requires-dist = [ { name = "google-auth" }, { name = "google-cloud-storage" }, { name = "huggingface-hub" }, + { name = "hypothesis", marker = "extra == 'dev'" }, { name = "itables", marker = "extra == 'dev'" }, { name = "l0-python", marker = "extra == 'dev'", specifier = ">=0.4.0" }, { name = "microcalibrate", specifier = ">=0.18.0" }, From 4a1b1a6cb14ad15fc817896130b7cc83b1dec8f3 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 22:44:26 -0400 Subject: [PATCH 35/70] Keep the UC payment bands' bounds; only open the top band MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Making the bands meet without gaps ((lower, upper]) moved penny-a-month awards into the bottom band: policyengine-uk leaves 1p a month payable after deductions (SI 2013/380 Sch 6), and 44 records (136k benefit units in a seeded main build) sit there. The old lower bound of £0.12 a year leaves them out, and the seeded build of the gapless version then reweighted against them. Whether they belong in Stat-Xplore's lowest award band turns on whether its award amount is before or after deductions, which is outside this change. The bounded bands now parse and compare exactly as before; only "£2500.01 or over" changes, to [30,000.12, inf). Co-Authored-By: Claude Opus 5.5 --- .../obr-uc-welfare-cap-targets.fixed.md | 2 +- .../targets/compute/benefits.py | 8 +-- .../test_uc_payment_distribution_targets.py | 68 ++++++++++++++----- policyengine_uk_data/utils/uc_data.py | 16 ++--- 4 files changed, 63 insertions(+), 31 deletions(-) diff --git a/changelog.d/obr-uc-welfare-cap-targets.fixed.md b/changelog.d/obr-uc-welfare-cap-targets.fixed.md index d2e0643ee..945db66c7 100644 --- a/changelog.d/obr-uc-welfare-cap-targets.fixed.md +++ b/changelog.d/obr-uc-welfare-cap-targets.fixed.md @@ -1 +1 @@ -Calibrate universal credit to one OBR total for Great Britain, the sum of EFO table 4.9's rows inside and outside the welfare cap. The outside-the-cap row is DWP's UC equivalent of JSA (the Intensive Work Search group), not UC for households the benefit cap leaves alone: computed that way, it asked for £12.9bn of nearly all UC (estimate £72bn, +460%), and the inside-the-cap row was compared with all UK UC. Also count the open top band of the DWP UC payment distribution ("£2,500.01 or over" a month): it parsed to missing bounds, so its four targets (1.4k to 83k households) could never be met, and the bands now meet without gaps. +Calibrate universal credit to one OBR total for Great Britain, the sum of EFO table 4.9's rows inside and outside the welfare cap. The outside-the-cap row is DWP's UC equivalent of JSA (the Intensive Work Search group), not UC for households the benefit cap leaves alone: computed that way, it asked for £12.9bn of nearly all UC (estimate £72bn, +460%), and the inside-the-cap row was compared with all UK UC. Also count the open top band of the DWP UC payment distribution ("£2500.01 or over" a month): it parsed to missing bounds, so its four targets (1.4k to 83k households) could never be met. diff --git a/policyengine_uk_data/targets/compute/benefits.py b/policyengine_uk_data/targets/compute/benefits.py index 47126b14b..e550a78d2 100644 --- a/policyengine_uk_data/targets/compute/benefits.py +++ b/policyengine_uk_data/targets/compute/benefits.py @@ -84,9 +84,9 @@ def ft_hh(value): def compute_uc_payment_dist(target, ctx) -> np.ndarray: """Compute UC payment distribution band x family type. - Bands are (lower, upper] annual amounts (see - utils.uc_data.parse_monthly_award_band), so consecutive bands meet and - the open top band has an infinite upper bound. + Bands are [lower, upper) annual amounts (see + utils.uc_data.parse_monthly_award_band); the open top band has an + infinite upper bound. """ name = target.name.removeprefix("dwp/uc_payment_dist/") idx = name.index("_annual_payment_") @@ -98,7 +98,7 @@ def compute_uc_payment_dist(target, ctx) -> np.ndarray: uc_family_type = ctx.sim.calculate("family_type", map_to="benunit").values in_band = ( - (uc_payments > lower) & (uc_payments <= upper) & (uc_family_type == family_type) + (uc_payments >= lower) & (uc_payments < upper) & (uc_family_type == family_type) ) return ctx.household_from_family(in_band) diff --git a/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py b/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py index bccb3290e..7bfc758d1 100644 --- a/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py +++ b/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py @@ -4,6 +4,7 @@ counts households on UC by monthly award band and family type. Its top band, '£2500.01 or over', is open-ended; it used to parse to NaN bounds, so its four targets (1.4k to 83k households) had a column of zeros and could never be met. +The other bands keep their bounds: [monthly minimum, monthly maximum) x 12. """ from types import SimpleNamespace @@ -41,10 +42,14 @@ def _raw_extract() -> pd.DataFrame: def test_parse_monthly_award_band(): - assert parse_monthly_award_band("£0.01 to £100.00") == (0, 1_200) - assert parse_monthly_award_band("£100.01 to £200.00") == (1_200, 2_400) - assert parse_monthly_award_band("£1000.01 to £1100.00") == (12_000, 13_200) - assert parse_monthly_award_band("£2,500.01 or over") == (30_000, np.inf) + # The bounded bands are parsed exactly as before this change. + for band, (low, high) in { + "£0.01 to £100.00": (0.01, 100.00), + "£100.01 to £200.00": (100.01, 200.00), + "£1000.01 to £1100.00": (1000.01, 1100.00), + }.items(): + assert parse_monthly_award_band(band) == (low * 12, high * 12) + assert parse_monthly_award_band("£2,500.01 or over") == (2500.01 * 12, np.inf) with pytest.raises(ValueError): parse_monthly_award_band("No payment") @@ -56,7 +61,7 @@ def test_top_band_targets_are_reachable(): target = targets[ f"dwp/uc_payment_dist/{family_type}_annual_payment_30_000_to_inf" ] - assert target.lower_bound == 30_000 + assert target.lower_bound == 2500.01 * 12 assert target.upper_bound == np.inf assert target.values[2025] == top[label] for target in targets.values(): @@ -80,13 +85,14 @@ def test_band_counts_sum_to_households_with_a_payment(): assert abs(parsed.household_count.sum() - with_payment) <= 10, label -def test_bands_tile_the_positive_awards(): +def test_bands_run_from_a_penny_to_infinity_without_overlap(): + """Each band starts a penny a month (12p a year) above the last one ends.""" for family_type, bands in uc_national_payment_dist.groupby("family_type"): bands = bands.sort_values("uc_annual_payment_min") lower = bands.uc_annual_payment_min.to_numpy() upper = bands.uc_annual_payment_max.to_numpy() - assert lower[0] == 0, family_type - assert np.array_equal(lower[1:], upper[:-1]), family_type + assert lower[0] == pytest.approx(0.12), family_type + np.testing.assert_allclose(lower[1:] - upper[:-1], 0.12, atol=1e-6) assert upper[-1] == np.inf, family_type @@ -117,7 +123,10 @@ def calculate(variable, map_to=None): _TARGETS = _uc_payment_distribution_targets() -_EDGES = sorted({t.upper_bound for t in _TARGETS if np.isfinite(t.upper_bound)}) +_EDGES = sorted( + {t.lower_bound for t in _TARGETS} + | {t.upper_bound for t in _TARGETS if np.isfinite(t.upper_bound)} +) _AWARDS = st.one_of( st.just(0.0), # no payment st.floats(0, 1e6, allow_nan=False), # anywhere, including the open top band @@ -127,6 +136,24 @@ def calculate(variable, map_to=None): ) +def _band_count(uc, family_type): + """Oracle: how many of the family type's bands hold each award, by an + interval search rather than the compute function's comparisons.""" + count = np.zeros(len(uc)) + for ft in np.unique(family_type): + bands = sorted( + (t.lower_bound, t.upper_bound) + for t in _TARGETS + if t.name.removeprefix("dwp/uc_payment_dist/").startswith(ft + "_annual") + ) + lower = np.array([b[0] for b in bands]) + upper = np.array([b[1] for b in bands]) + m = family_type == ft + i = np.searchsorted(lower, uc[m], side="right") - 1 + count[m] = (i >= 0) & (uc[m] < upper[np.maximum(i, 0)]) + return count + + @settings(max_examples=200, deadline=None) @given( st.lists( @@ -137,14 +164,21 @@ def calculate(variable, map_to=None): max_size=60, ) ) -def test_every_award_lands_in_exactly_one_band(benefit_units): - """Property: summed over bands, each household's column counts its benefit - units with a positive award, and never one without.""" +def test_each_award_lands_in_at_most_one_band(benefit_units): + """Property: summed over the bands, each household's column counts its + benefit units whose award lies in one of their family type's bands, once + (differential against an interval-search oracle). Awards from the top + band's lower bound up are always counted; zero awards never are.""" uc, family_type, household = (np.array(column) for column in zip(*benefit_units)) - ctx = _fake_ctx(uc.astype(float), family_type, household) + uc = uc.astype(float) + ctx = _fake_ctx(uc, family_type, household) - total = sum(compute_uc_payment_dist(t, ctx) for t in _TARGETS) - expected = np.bincount( - household, weights=(uc > 0).astype(float), minlength=len(total) - ) + per_target = [compute_uc_payment_dist(t, ctx) for t in _TARGETS] + total = sum(per_target) + in_band = _band_count(uc, family_type) + expected = np.bincount(household, weights=in_band, minlength=len(total)) np.testing.assert_array_equal(total, expected) + + top = 2500.01 * 12 + assert (in_band[uc >= top] == 1).all() + assert (in_band[uc == 0] == 0).all() diff --git a/policyengine_uk_data/utils/uc_data.py b/policyengine_uk_data/utils/uc_data.py index 3833d138d..17d56427c 100644 --- a/policyengine_uk_data/utils/uc_data.py +++ b/policyengine_uk_data/utils/uc_data.py @@ -4,22 +4,20 @@ def parse_monthly_award_band(band: str) -> tuple[float, float]: - """Annual (lower, upper] payment bounds of a Stat-Xplore monthly award band. + """Annual [lower, upper) payment bounds of a Stat-Xplore monthly award band. - Awards are whole pence, so the band '£100.01 to £200.00' holds monthly - awards over £100.00 and up to £200.00: annual bounds (1,200, 2,400]. The - lower bound is the previous band's top, so consecutive bands meet with no - gap. The open top band '£2500.01 or over' is (30,000, inf). + '£100.01 to £200.00' gives (1,200.12, 2,400). The open top band + '£2500.01 or over' gives (30,000.12, inf); it used to parse to missing + bounds, so its targets could never be met. """ text = band.replace("£", "").replace(",", "").strip() if text.endswith(" or over"): - lower = float(text.removesuffix(" or over")) - return round((lower - 0.01) * 12, 2), np.inf + return float(text.removesuffix(" or over")) * 12, np.inf parts = text.split(" to ") if len(parts) != 2: raise ValueError(f"Unrecognised UC monthly award band: {band!r}") - lower, upper = (float(part) for part in parts) - return round((lower - 0.01) * 12, 2), upper * 12 + lower, upper = (float(part) * 12 for part in parts) + return lower, upper def _check_bands_disjoint(bands: pd.DataFrame) -> None: From dc2abf7b4cd52b9e63c3631020af6e7e0c79c6da Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 22:51:54 -0400 Subject: [PATCH 36/70] Address review 1: independent oracle, fresh-build check, changelog - Test the rule against a per-person oracle written independently of the vectorised helper, over every employment status (catches dropping one status from the earnings test). - A built FRS or enhanced FRS without the column now fails instead of skipping, so a build that stops writing it is caught. - Check that the FRS-only imputation stage never rewrites the flag or its inputs. - Changelog states the earnings exception and that the flag is a survey proxy overriding policyengine-uk's default; the docstring says the flag is fixed at survey or imputation time and does not follow uprating. Co-Authored-By: Claude Opus 5.5 --- .../frs-uc-gainful-self-employment.fixed.md | 2 +- policyengine_uk_data/datasets/frs.py | 5 ++ .../tests/test_uc_gainful_self_employment.py | 46 ++++++++++++++++--- 3 files changed, 45 insertions(+), 8 deletions(-) diff --git a/changelog.d/frs-uc-gainful-self-employment.fixed.md b/changelog.d/frs-uc-gainful-self-employment.fixed.md index f29f6caee..34363c66f 100644 --- a/changelog.d/frs-uc-gainful-self-employment.fixed.md +++ b/changelog.d/frs-uc-gainful-self-employment.fixed.md @@ -1 +1 @@ -Set policyengine-uk's Universal Credit input uc_is_in_gainful_self_employment from the FRS main-job status (EMPSTATI): true for every adult whose main job is self-employment, including traders who break even or make a loss, and false for a side trade beside an employee's main job (UC Regs 2013 reg 64(a)). +Set policyengine-uk's Universal Credit input uc_is_in_gainful_self_employment from the FRS, as a survey proxy for UC Regs 2013 reg 64 that overrides the model's income-based default: true for every adult whose main job (EMPSTATI) is self-employment, including traders who break even or make a loss, and for anyone whose self-employment profit is above their employment income (ADM H4034); false otherwise. The SPI copy re-derives it from its own imputed incomes. diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index bac740ca5..135c3e0cc 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -415,6 +415,11 @@ def derive_uc_is_in_gainful_self_employment( policyengine-uk's default reads any self-employment income other than zero as gainful self-employment, and none as none. + + The flag is fixed from survey-year (or SPI-imputed) incomes. Uprating + reprices the two incomes by different indices, so in a projected year a + flagged side trade can earn less than the job, and the reverse; the flag + does not follow. """ self_employed_main_job = np.isin( np.asarray(employment_status, dtype=object), SELF_EMPLOYED_STATUSES diff --git a/policyengine_uk_data/tests/test_uc_gainful_self_employment.py b/policyengine_uk_data/tests/test_uc_gainful_self_employment.py index 589521600..48766685e 100644 --- a/policyengine_uk_data/tests/test_uc_gainful_self_employment.py +++ b/policyengine_uk_data/tests/test_uc_gainful_self_employment.py @@ -25,6 +25,13 @@ def derive(status, profit, pay): return derive_uc_is_in_gainful_self_employment([status], [profit], [pay])[0] +def oracle(status, profit, pay): + # Written out per person, independently of the vectorised helper. + if status == "FT_SELF_EMPLOYED" or status == "PT_SELF_EMPLOYED": + return True + return profit > 0 and profit > pay + + def test_self_employed_statuses_are_model_enum_members(): assert set(SELF_EMPLOYED_STATUSES) <= set(STATUSES) @@ -55,6 +62,15 @@ def test_side_trade_counts_only_when_it_out_earns_pay(): assert derive("UNEMPLOYED", 1.0, 0.0) +@pytest.mark.parametrize("status", STATUSES) +@pytest.mark.parametrize( + "profit, pay", + [(0.0, 0.0), (0.0, 1.0), (1.0, 0.0), (1.0, 1.0), (2.0, 1.0), (1.0, 2.0)], +) +def test_truth_table_against_oracle(status, profit, pay): + assert derive(status, profit, pay) == oracle(status, profit, pay) + + @settings(max_examples=500, deadline=None) @given(st.sampled_from(STATUSES), incomes, incomes) def test_invariants(status, profit, pay): @@ -78,7 +94,7 @@ def test_vectorised_matches_elementwise(rows): pays = [r[2] for r in rows] result = derive_uc_is_in_gainful_self_employment(statuses, profits, pays) assert result.dtype == bool - assert result.tolist() == [derive(*r) for r in rows] + assert result.tolist() == [oracle(*r) for r in rows] np.testing.assert_array_equal( derive_uc_is_in_gainful_self_employment( pd.Series(statuses, dtype="category"), @@ -169,22 +185,38 @@ def impute_over_incomes(dataset, _model, output_variables): assert len(person) == 2 * n # The SPI copy kept the donors' statuses and took the imputed incomes. assert person.self_employment_income.iloc[n:].tolist() == imputed_profit - np.testing.assert_array_equal( - person[GAINFUL].to_numpy(dtype=bool), - derive_uc_is_in_gainful_self_employment( + assert person[GAINFUL].tolist() == [ + oracle(*values) + for values in zip( person.employment_status, person.self_employment_income, person.employment_income, - ), + ) + ] + + +def test_frs_only_stage_leaves_the_rule_inputs_alone(): + # The second-stage QRF rewrites these columns on the SPI copy after the + # flag's inputs are set; none of them may be an input to the flag. + from policyengine_uk_data.datasets.imputations.frs_only import ( + FRS_ONLY_PERSON_VARIABLES, ) + rule_columns = { + GAINFUL, + "employment_status", + "employment_income", + "self_employment_income", + } + assert rule_columns.isdisjoint(FRS_ONLY_PERSON_VARIABLES) + @pytest.mark.parametrize("fixture", ["frs", "enhanced_frs"]) def test_built_dataset_flag(fixture, request): + # Skips only when no built dataset exists; a build without the column fails. dataset = request.getfixturevalue(fixture) person = dataset.person - if GAINFUL not in person.columns: - pytest.skip(f"{fixture} was built before this input existed") + assert GAINFUL in person.columns, f"{fixture} lacks {GAINFUL}: rebuild it" gainful = person[GAINFUL].to_numpy(dtype=bool) self_employed = np.isin(person.employment_status, SELF_EMPLOYED_STATUSES) assert gainful[self_employed].all() From 5f9912df1ddd28a8de0fcb41bce1c9159e08bc95 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 2 Oct 2026 22:53:16 -0400 Subject: [PATCH 37/70] Address review r1: derive once per example, tighten a test comment The row-order property recomputed the mapping for every index; compute it once. The test comment now says what was checked for the older FRS releases (every adult has a code from 1 to 11), not that their labels match. Drop redundant parentheses in the create_frs test. Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/tests/test_frs_employment_status.py | 6 ++++-- policyengine_uk_data/tests/test_legacy_benefit_proxies.py | 6 ++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/policyengine_uk_data/tests/test_frs_employment_status.py b/policyengine_uk_data/tests/test_frs_employment_status.py index 283f46b79..735de2a6e 100644 --- a/policyengine_uk_data/tests/test_frs_employment_status.py +++ b/policyengine_uk_data/tests/test_frs_employment_status.py @@ -18,7 +18,8 @@ # EMPSTATI ("Adult - Employment Status - ILO definition") value labels in the # UKDS FRS 2024-25 data dictionary (SN 9563, adult table), with the status each -# label means. The 2020-21, 2022-23 and 2023-24 releases use the same codes. +# label means. Every adult in the 2020-21, 2022-23 and 2023-24 releases also +# has a code from 1 to 11. DATA_DICTIONARY = { 1: ("Full-time Employee", "FT_EMPLOYED"), 2: ("Part-time Employee", "PT_EMPLOYED"), @@ -129,7 +130,8 @@ def test_each_row_maps_on_its_own(rows): def test_mapping_commutes_with_row_order(rows, rng): order = list(range(len(rows))) rng.shuffle(order) - assert derive([rows[i] for i in order]).tolist() == [derive(rows)[i] for i in order] + statuses = derive(rows) + assert derive([rows[i] for i in order]).tolist() == [statuses[i] for i in order] @given(people, unknown_adult_codes, st.integers(0, 60)) diff --git a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py index ebc8ab596..ba20ad600 100644 --- a/policyengine_uk_data/tests/test_legacy_benefit_proxies.py +++ b/policyengine_uk_data/tests/test_legacy_benefit_proxies.py @@ -579,10 +579,8 @@ def test_create_frs_smoke_includes_legacy_proxy_columns(tmp_path, monkeypatch): def test_create_frs_maps_every_empstati_code(tmp_path, monkeypatch, empstati): person = create_single_adult_frs(tmp_path, monkeypatch, empstati).person - assert ( - person["employment_status"].iloc[0] - == (FRS_EMPSTATI_EMPLOYMENT_STATUS[empstati]) - ) + status = person["employment_status"].iloc[0] + assert status == FRS_EMPSTATI_EMPLOYMENT_STATUS[empstati] # A working-age adult reporting no hours: only the sick/disabled codes # (9 permanently, 10 temporarily) are ESA health states. assert person["esa_health_condition_proxy"].iloc[0] == (empstati in (9, 10)) From 1832adeb2296b53fe5a7d7194e770118aa34d1f8 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 3 Oct 2026 07:27:34 -0400 Subject: [PATCH 38/70] Address review r2: print no count in the unknown-EMPSTATI error Adults are not survey households, so a total of 10 or more adults could still come from fewer than 10 households in a public build log. The error now names the unknown codes only. Tests pin that the message depends only on which codes occur, and that codes are listed once each in numeric order with blank last (a string sort or an unsorted list now fails). Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/datasets/frs.py | 8 ++-- .../tests/test_frs_employment_status.py | 42 +++++++++++++------ 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index 3195cb18e..f2412fe8c 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -142,15 +142,13 @@ def derive_employment_status_from_frs(empstati, is_adult_record) -> np.ndarray: adult_status = codes.map(FRS_EMPSTATI_EMPLOYMENT_STATUS).to_numpy() unknown = is_adult_record & pd.isna(adult_status) if unknown.any(): - # Build logs are public: name the codes, not per-code counts, and - # suppress a total under 10 adults. - n = int(unknown.sum()) - adults = f"{n} FRS adults" if n >= 10 else "Fewer than 10 FRS adults" + # Build logs are public, and adults are not survey households, so + # name the codes and never a count. bad = codes[unknown] listed = [f"{code:g}" for code in sorted(bad.dropna().unique())] listed += ["blank"] if bad.isna().any() else [] raise ValueError( - f"{adults} have EMPSTATI codes missing from " + "FRS adults have EMPSTATI codes missing from " f"FRS_EMPSTATI_EMPLOYMENT_STATUS: {', '.join(listed)}. Map them " "from the release's data dictionary." ) diff --git a/policyengine_uk_data/tests/test_frs_employment_status.py b/policyengine_uk_data/tests/test_frs_employment_status.py index 735de2a6e..c7ccae1e8 100644 --- a/policyengine_uk_data/tests/test_frs_employment_status.py +++ b/policyengine_uk_data/tests/test_frs_employment_status.py @@ -98,26 +98,44 @@ def test_unknown_adult_code_fails_the_build(code): derive_employment_status_from_frs([1, code], [True, True]) -def test_failure_message_lists_blank_and_numeric_codes(): +def listed_codes(message): + return message.split("FRS_EMPSTATI_EMPLOYMENT_STATUS: ")[1].split(". Map")[0] + + +def test_failure_message_lists_codes_in_numeric_order_with_blank_last(): # Formatted from the float codes, not Series.astype(str), whose NaN - # handling differs between pandas 2 and 3. - with pytest.raises(ValueError, match=": 0, 12, blank. "): - derive_employment_status_from_frs([np.nan, 0, 12, 1], [True] * 4) + # handling differs between pandas 2 and 3. A string sort would put 100 + # before 11.5. + codes = [100, 12, np.nan, -1, 12, 11.5, 1] + with pytest.raises(ValueError) as error: + derive_employment_status_from_frs(codes, [True] * len(codes)) + assert listed_codes(str(error.value)) == "-1, 11.5, 12, 100, blank" + + +@given(st.lists(unknown_adult_codes, min_size=1, max_size=20)) +def test_failure_message_lists_each_unknown_code_once_in_order(bad_codes): + with pytest.raises(ValueError) as error: + derive_employment_status_from_frs(bad_codes, [True] * len(bad_codes)) + listed = listed_codes(str(error.value)).split(", ") + blank = any(np.isnan(code) for code in bad_codes) + assert (listed[-1] == "blank") == blank + numbers = [float(code) for code in listed[: len(listed) - blank]] + assert numbers == sorted(numbers) + assert set(listed) - {"blank"} == { + f"{code:g}" for code in bad_codes if not np.isnan(code) + } @given(st.integers(1, 30), st.integers(1, 30)) -def test_failure_message_suppresses_small_counts(n_twelve, n_thirteen): +def test_failure_message_discloses_no_count(n_twelve, n_thirteen): + # Adults are not survey households, so no count of them is safe to print + # in a public build log: the message depends only on which codes occur. codes = [12] * n_twelve + [13] * n_thirteen with pytest.raises(ValueError) as error: derive_employment_status_from_frs(codes, [True] * len(codes)) - total = n_twelve + n_thirteen - prefix = f"{total} FRS adults" if total >= 10 else "Fewer than 10 FRS adults" message = str(error.value) - assert message.startswith(prefix) - assert ": 12, 13. " in message - # No other number (such as a per-code count) is disclosed. - rest = message.removeprefix(prefix).replace(": 12, 13. ", "") - assert not any(character.isdigit() for character in rest) + assert listed_codes(message) == "12, 13" + assert not any(character.isdigit() for character in message.replace("12, 13", "")) @given(people) From 88ef576a950d8a961b8e0a253c0ca7ddab9a3a5c Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 3 Oct 2026 07:32:42 -0400 Subject: [PATCH 39/70] Address review: reduced-build bounds, sample-floor wording, SPI monotonicity - Widen the reduced (TESTING) bounds on salary-sacrifice users (40% total, 45% below cap) and above-AEA gains (relative error 5). The 32-epoch build stops short of the OBR salary-sacrifice targets (4.5m at epoch 0, 5.5m at epoch 30, 7.9m at epoch 510 in the full build), and main's reduced build met the old bounds only through about 1.35m SPI-synthetic children with salary sacrifice. Seed-0 reduced builds of main and of this branch both exceed the old gains bound. Full builds keep the strict bounds and pass. - State the training-sample floor as a share of the nominal size, with the total's bounds tested. - Add an SPI monotonicity property and check mixed profits in both trade groups. - ONS release date is 15 September 2026; note how later years resolve. Co-Authored-By: Claude Opus 5.5 --- .../datasets/imputations/income.py | 16 ++++--- .../targets/sources/ons_labour_market.py | 4 +- .../tests/test_cgt_band_donors.py | 8 +++- .../tests/test_lfs_employment_targets.py | 2 +- .../tests/test_salary_sacrifice_headcount.py | 25 ++++++----- .../tests/test_spi_income_earnings_groups.py | 45 ++++++++++++++++--- 6 files changed, 73 insertions(+), 27 deletions(-) diff --git a/policyengine_uk_data/datasets/imputations/income.py b/policyengine_uk_data/datasets/imputations/income.py index f1d9d130e..fdf466b7e 100644 --- a/policyengine_uk_data/datasets/imputations/income.py +++ b/policyengine_uk_data/datasets/imputations/income.py @@ -80,13 +80,15 @@ def _spi_age_bounds(age_code) -> tuple[int, int]: ) # FRS rows that take no SPI draw and keep their own values: the FRS child # table (dependent children, including 16-19-year-olds in education), whose -# earnings the FRS build does not record, and anyone under 16. The SPI has no -# record of them as earners. +# earnings this FRS build does not record, and anyone under 16. With no +# earnings or job information, there is nothing to tie a taxpayer's SPI +# incomes to. NOT_IMPUTED = "NOT_IMPUTED" -# Every earnings group gets at least this share of the training sample, so the -# small self-employed groups are not fitted on a few thousand records. +# Every earnings group gets at least this share of the nominal training sample +# size, so the small self-employed groups are not fitted on a few thousand +# records. Floors are added on top, so the sample can exceed the nominal size. MIN_GROUP_SAMPLE_SHARE = 0.1 @@ -143,8 +145,10 @@ def earnings_group_sample_sizes( group_weights: dict[str, float], sample_size: int ) -> dict[str, int]: """Training records per earnings group: the group's weighted share of - ``sample_size``, but never under ``MIN_GROUP_SAMPLE_SHARE`` of it. Groups - with no weight get no records.""" + ``sample_size``, but never under ``MIN_GROUP_SAMPLE_SHARE`` of + ``sample_size``. Groups with no weight get no records. Floored groups are + not offset elsewhere, so the total can exceed ``sample_size`` (by at most + one floor per group, plus rounding).""" weights = {group: float(w) for group, w in group_weights.items() if w > 0} total = sum(weights.values()) floor = int(np.ceil(MIN_GROUP_SAMPLE_SHARE * sample_size)) diff --git a/policyengine_uk_data/targets/sources/ons_labour_market.py b/policyengine_uk_data/targets/sources/ons_labour_market.py index 6a6f50639..bae191b88 100644 --- a/policyengine_uk_data/targets/sources/ons_labour_market.py +++ b/policyengine_uk_data/targets/sources/ons_labour_market.py @@ -16,7 +16,9 @@ Source: ONS Labour market overview, series MGRN (LFS: Employees: UK: All, aged 16 and over, seasonally adjusted) and MGRQ (LFS: Self-employed: UK: -All), annual four-quarter averages, release of 14 September 2026. +All), annual four-quarter averages, release of 15 September 2026. The loss +matrix holds the latest year's value for up to three later years and drops the +targets after that (``_resolve_value``), so add each new annual average. """ import numpy as np diff --git a/policyengine_uk_data/tests/test_cgt_band_donors.py b/policyengine_uk_data/tests/test_cgt_band_donors.py index a24e2e1d5..a03b375a5 100644 --- a/policyengine_uk_data/tests/test_cgt_band_donors.py +++ b/policyengine_uk_data/tests/test_cgt_band_donors.py @@ -158,6 +158,12 @@ def test_stack_cgt_band_donors(frs): # still catches order-of-magnitude pathologies without failing on # reduced-fidelity calibration noise. Full builds get the strict bounds. _REDUCED_BUILD_SLACK = 5.0 if os.environ.get("TESTING") == "1" else 1.0 +# Reduced builds sit far above HMRC's total gains: the seed-0 reduced builds +# of main and of #529 carry about £243bn and £267bn (relative errors 2.7 and +# 3.1, beyond the 0.5 x slack bound), while their full builds carry about +# £53bn. Under TESTING the total-gains check only guards against +# order-of-magnitude errors; the full build keeps the 50% bound. +_TOTAL_GAINS_RELATIVE_BOUND = 5.0 if _REDUCED_BUILD_SLACK > 1 else 0.5 def _built_with_band_donors(enhanced_frs): @@ -215,7 +221,7 @@ def test_built_total_gains(enhanced_frs): enhanced_frs = _built_with_band_donors(enhanced_frs) gains, weights = _person_gains_and_weights(enhanced_frs) total = float((gains * weights)[gains > _AEA].sum()) - assert abs(total / _HMRC_TOTAL_GAINS - 1) < 0.5 * _REDUCED_BUILD_SLACK, ( + assert abs(total / _HMRC_TOTAL_GAINS - 1) < _TOTAL_GAINS_RELATIVE_BOUND, ( f"£{total / 1e9:.1f}bn of above-AEA gains against HMRC's " f"£{_HMRC_TOTAL_GAINS / 1e9:.1f}bn " f"(relative error {abs(total / _HMRC_TOTAL_GAINS - 1):.0%})." diff --git a/policyengine_uk_data/tests/test_lfs_employment_targets.py b/policyengine_uk_data/tests/test_lfs_employment_targets.py index aaaf5f531..ae49b68aa 100644 --- a/policyengine_uk_data/tests/test_lfs_employment_targets.py +++ b/policyengine_uk_data/tests/test_lfs_employment_targets.py @@ -29,7 +29,7 @@ SELF_EMPLOYED_STATUSES, ) -# ONS Labour market overview, 14 September 2026: MGRN and MGRQ, annual +# ONS Labour market overview, 15 September 2026: MGRN and MGRQ, annual # four-quarter averages, thousands. ONS_THOUSANDS = { "ons/lfs_employees": {2022: 28_564, 2023: 28_821, 2024: 29_126, 2025: 29_590}, diff --git a/policyengine_uk_data/tests/test_salary_sacrifice_headcount.py b/policyengine_uk_data/tests/test_salary_sacrifice_headcount.py index cbae09725..17a18a42d 100644 --- a/policyengine_uk_data/tests/test_salary_sacrifice_headcount.py +++ b/policyengine_uk_data/tests/test_salary_sacrifice_headcount.py @@ -9,21 +9,24 @@ from policyengine_uk_data.datasets.frs_release import CURRENT_FRS_RELEASE -# The total combines below-cap and above-cap users and moves slightly with -# each generated FRS calibration refresh. Widened from 0.16 after the -# household-weight alignment fix (#436) shifted the calibration starting point -# under the reduced-epoch CI build (TESTING=1). -TOTAL_TOLERANCE = 0.20 -# The below-cap count sits right at the 15% boundary under the -# reduced-epoch CI build (observed 15.09% on one TESTING=1 run and passing -# the next), so the tolerance widens under TESTING like TOTAL_TOLERANCE -# did after #436. Full builds keep the strict 15%. -TOLERANCE = 0.25 if os.environ.get("TESTING") == "1" else 0.15 +REDUCED_BUILD = os.environ.get("TESTING") == "1" +# The 32-epoch reduced build stops well short of the OBR salary-sacrifice +# counts that calibration targets: in the seed-0 full build of #529 the users +# are 4.5m at epoch 0, 5.5m at epoch 30 and 7.9m at epoch 510. Before #529, +# reduced builds met the old bounds (20% total, 25% below cap) only because +# SPI-synthetic children were imputed salary sacrifice (about 1.35m users on +# the seed-0 reduced build of main, which held 5.0m users without them). +# #529 gives those children no pay, so the reduced bounds widen to 40% and +# 45%. They still catch a collapse; full builds keep the strict bounds. +# The total was earlier widened from 0.16 after the household-weight +# alignment fix (#436). +TOTAL_TOLERANCE = 0.40 if REDUCED_BUILD else 0.20 +TOLERANCE = 0.45 if REDUCED_BUILD else 0.15 # Widened under the reduced-epoch CI build after the benunit-table sort fix # (#462) shifted the calibration starting point (observed 20.4% on a # TESTING=1 run), following the precedent of TOTAL_TOLERANCE (#436) and # TOLERANCE above. Full builds keep the strict 20%. -ABOVE_CAP_TOLERANCE = 0.25 if os.environ.get("TESTING") == "1" else 0.20 +ABOVE_CAP_TOLERANCE = 0.25 if REDUCED_BUILD else 0.20 PERIOD = CURRENT_FRS_RELEASE.calibration_year diff --git a/policyengine_uk_data/tests/test_spi_income_earnings_groups.py b/policyengine_uk_data/tests/test_spi_income_earnings_groups.py index f6233a5df..44cf55de0 100644 --- a/policyengine_uk_data/tests/test_spi_income_earnings_groups.py +++ b/policyengine_uk_data/tests/test_spi_income_earnings_groups.py @@ -8,11 +8,13 @@ and only if the main job is self-employment or the FRS records a profit. 2. SPI records: the group has pay if and only if PAY + EPB + TAXTERM > 0, and a trade if and only if SEINC_NUM = 1 or PROFITS > 0. -3. Both mappings are monotone (more income never removes a source) and give - the same answer elementwise as row by row. +3. Both mappings are monotone (more of one income adds that source and leaves + the other alone) and give the same answer elementwise as row by row. 4. Training sample: every group with weight gets at least - ``MIN_GROUP_SAMPLE_SHARE`` of the sample, groups without weight get none, - and groups above the floor get their weighted share. + ``MIN_GROUP_SAMPLE_SHARE`` of the nominal sample size, groups without + weight get none, and groups above the floor get their weighted share. + Floors are not offset elsewhere, so the total lies between the nominal size + (less rounding) and the nominal size plus one floor per group. 5. ``generate_spi_table`` resamples each group only from its own records. 6. Model draws: pay is positive exactly in the groups with pay, profit is zero in the groups without a trade, and ``NOT_IMPUTED`` rows get no draw. @@ -194,6 +196,31 @@ def test_spi_group_follows_pay_and_self_employment_pages(records): assert list(groups) == rowwise +@RELAXED +@given( + st.lists( + st.tuples(amounts, amounts, st.sampled_from([-1, 0, 1])), + min_size=1, + max_size=40, + ), + st.floats(0.01, 1e6), + st.sampled_from(["pay", "profit"]), +) +def test_spi_group_monotone_in_income(records, extra, source): + pay, profit, indicator = (np.array(column, dtype=float) for column in zip(*records)) + before = spi_earnings_group(pay, profit, indicator) + if source == "pay": + after = spi_earnings_group(pay + extra, profit, indicator) + gained, other = PAY_GROUPS, TRADE_GROUPS + else: + after = spi_earnings_group(pay, profit + extra, indicator) + gained, other = TRADE_GROUPS, PAY_GROUPS + assert np.isin(after, list(gained)).all() + np.testing.assert_array_equal( + np.isin(after, list(other)), np.isin(before, list(other)) + ) + + @RELAXED @given( st.dictionaries( @@ -216,6 +243,9 @@ def test_group_sample_sizes(weights, sample_size): assert size >= floor if share > floor + 1: assert abs(size - share) <= 0.5 + 1e-9 + groups = len(positive) + assert sample_size - 0.5 * groups <= sum(sizes.values()) + assert sum(sizes.values()) <= sample_size + groups * (floor + 0.5) assert sizes == earnings_group_sample_sizes(weights, sample_size) @@ -333,15 +363,16 @@ def test_model_draws_agree_with_group(fitted_model, inputs): assert (draws[drawn].to_numpy() >= 0).all() -def test_model_draws_some_profit_for_traders(fitted_model): - """The trade groups draw zero and positive profits, as the SPI has both.""" +@pytest.mark.parametrize("group", [SELF_EMPLOYED, EMPLOYEE_AND_SELF_EMPLOYED]) +def test_model_draws_some_profit_for_traders(fitted_model, group): + """Both trade groups draw zero and positive profits, as the SPI has both.""" n = 400 inputs = pd.DataFrame( { "age": np.linspace(20, 80, n), "gender": ["MALE", "FEMALE"] * (n // 2), "region": ["LONDON"] * n, - "earnings_group": [SELF_EMPLOYED] * n, + "earnings_group": [group] * n, } ) profit = fitted_model.predict(inputs).self_employment_income From 974fa8cbb90b636fdc06e21195a420a3e0fad7cf Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 3 Oct 2026 07:34:13 -0400 Subject: [PATCH 40/70] Restore gapless UC payment bands; harden the parser and tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stat-Xplore's monthly award is the UC due after deductions ("Monthly Award Amount (payment bands)" metadata), as universal_credit is, so a penny a month left after deductions belongs in "£0.01 to £100.00". The previous commit's reason for keeping the old [min x 12, max x 12) bounds was wrong: their £0.12 lower bound left those awards out only through float32 rounding. Bands are (lower, upper] again, as in the first commit. From the independent review of the first commit: - reject NaN, infinite or negative lower bounds and inverted bands; - scan the whole of table 4.9 for the UC rows, not the first 55 rows; - test GB scoping through create_target_matrix itself, a year missing from one UC row, and each payment band's membership against an interval-search oracle (float64 and float32 awards, edges and their neighbours); the old sum-over-bands property let an award move to the neighbouring band unnoticed; - parse the committed workbook once in the property test. Co-Authored-By: Claude Opus 5.5 --- .../obr-uc-welfare-cap-targets.fixed.md | 2 +- .../targets/compute/benefits.py | 10 +- policyengine_uk_data/targets/sources/obr.py | 3 +- .../tests/test_obr_universal_credit_target.py | 84 +++++++++++++- .../test_uc_payment_distribution_targets.py | 109 +++++++++--------- policyengine_uk_data/utils/uc_data.py | 31 ++--- 6 files changed, 166 insertions(+), 73 deletions(-) diff --git a/changelog.d/obr-uc-welfare-cap-targets.fixed.md b/changelog.d/obr-uc-welfare-cap-targets.fixed.md index 945db66c7..41872c214 100644 --- a/changelog.d/obr-uc-welfare-cap-targets.fixed.md +++ b/changelog.d/obr-uc-welfare-cap-targets.fixed.md @@ -1 +1 @@ -Calibrate universal credit to one OBR total for Great Britain, the sum of EFO table 4.9's rows inside and outside the welfare cap. The outside-the-cap row is DWP's UC equivalent of JSA (the Intensive Work Search group), not UC for households the benefit cap leaves alone: computed that way, it asked for £12.9bn of nearly all UC (estimate £72bn, +460%), and the inside-the-cap row was compared with all UK UC. Also count the open top band of the DWP UC payment distribution ("£2500.01 or over" a month): it parsed to missing bounds, so its four targets (1.4k to 83k households) could never be met. +Calibrate universal credit to one OBR total for Great Britain, the sum of EFO table 4.9's rows inside and outside the welfare cap. The outside-the-cap row is DWP's UC equivalent of JSA (the Intensive Work Search group), not UC for households the benefit cap leaves alone: computed that way, it asked for £12.9bn of nearly all UC (estimate £72bn, +460%), and the inside-the-cap row was compared with all UK UC. Also count the open top band of the DWP UC payment distribution ("£2500.01 or over" a month), which parsed to missing bounds so its four targets (1.4k to 83k households) could never be met, and make the bands meet without gaps, so awards of exactly a band's top, or a penny a month after deductions, land in their Stat-Xplore band. diff --git a/policyengine_uk_data/targets/compute/benefits.py b/policyengine_uk_data/targets/compute/benefits.py index e550a78d2..b1105855c 100644 --- a/policyengine_uk_data/targets/compute/benefits.py +++ b/policyengine_uk_data/targets/compute/benefits.py @@ -84,9 +84,11 @@ def ft_hh(value): def compute_uc_payment_dist(target, ctx) -> np.ndarray: """Compute UC payment distribution band x family type. - Bands are [lower, upper) annual amounts (see - utils.uc_data.parse_monthly_award_band); the open top band has an - infinite upper bound. + Stat-Xplore's monthly award is the UC due after deductions (its "Monthly + Award Amount (payment bands)" metadata), as universal_credit is. Bands + are (lower, upper] annual amounts (see + utils.uc_data.parse_monthly_award_band), so consecutive bands meet and + the open top band has an infinite upper bound. """ name = target.name.removeprefix("dwp/uc_payment_dist/") idx = name.index("_annual_payment_") @@ -98,7 +100,7 @@ def compute_uc_payment_dist(target, ctx) -> np.ndarray: uc_family_type = ctx.sim.calculate("family_type", map_to="benunit").values in_band = ( - (uc_payments >= lower) & (uc_payments < upper) & (uc_family_type == family_type) + (uc_payments > lower) & (uc_payments <= upper) & (uc_family_type == family_type) ) return ctx.household_from_family(in_band) diff --git a/policyengine_uk_data/targets/sources/obr.py b/policyengine_uk_data/targets/sources/obr.py index 1207aa435..457d6ccb0 100644 --- a/policyengine_uk_data/targets/sources/obr.py +++ b/policyengine_uk_data/targets/sources/obr.py @@ -455,13 +455,14 @@ def _parse_nics(wb: openpyxl.Workbook) -> list[Target]: return targets -def _universal_credit_rows(ws, max_row: int = 55) -> tuple[int, int]: +def _universal_credit_rows(ws) -> tuple[int, int]: """Table 4.9's universal credit rows inside and outside the welfare cap. Each section has exactly one row starting "Universal credit"; the outside-the-cap section starts at the row headed "Welfare spending outside the welfare cap". """ + max_row = ws.max_row boundary = _find_row( ws, "Welfare spending outside the welfare cap", max_row=max_row ) diff --git a/policyengine_uk_data/tests/test_obr_universal_credit_target.py b/policyengine_uk_data/tests/test_obr_universal_credit_target.py index d09f36353..8fcdb51e0 100644 --- a/policyengine_uk_data/tests/test_obr_universal_credit_target.py +++ b/policyengine_uk_data/tests/test_obr_universal_credit_target.py @@ -7,20 +7,23 @@ GB universal credit, the sum of both rows. """ +from functools import lru_cache from types import SimpleNamespace import numpy as np import openpyxl +import pandas as pd import pytest from hypothesis import given, settings from hypothesis import strategies as st from policyengine_uk_data.storage import STORAGE_FOLDER +from policyengine_uk_data.targets import build_loss_matrix from policyengine_uk_data.targets.build_loss_matrix import ( _compute_column, restrict_to_countries, ) -from policyengine_uk_data.targets.schema import GREAT_BRITAIN +from policyengine_uk_data.targets.schema import GREAT_BRITAIN, GeographicLevel from policyengine_uk_data.targets.sources import obr COUNTRIES = ("ENGLAND", "SCOTLAND", "WALES", "NORTHERN_IRELAND") @@ -35,6 +38,11 @@ def _uc_targets(wb) -> dict: return {t.name: t for t in obr._parse_welfare(wb) if "universal_credit" in t.name} +@lru_cache(maxsize=1) +def _committed_target(): + return _uc_targets(_committed_table())["obr/universal_credit"] + + def test_universal_credit_is_one_gb_target(): targets = _uc_targets(_committed_table()) assert list(targets) == ["obr/universal_credit"] @@ -115,6 +123,78 @@ def test_no_target_unless_both_rows_are_unambiguous(rows): assert _uc_targets(_table(rows)) == {} +def test_no_target_when_the_rows_cover_different_years(): + wb = _table( + [ + ("Universal credit", 60.0), + ("Welfare spending outside the welfare cap", None), + ("Universal credit", 10.0), + ] + ) + wb["4.9"]["I8"] = None # 2030-31 missing from the outside-the-cap row only + assert _uc_targets(wb) == {} + + +def test_rows_below_row_55_are_found(): + padding = [(f"Other benefit {i}", 1.0) for i in range(60)] + wb = _table( + [("Universal credit", 60.0)] + + padding + + [("Welfare spending outside the welfare cap", None)] + + padding + + [("Universal credit", 10.0)] + ) + target = _uc_targets(wb)["obr/universal_credit"] + assert set(target.values.values()) == {70e9} + + +def test_target_matrix_counts_gb_households_only(monkeypatch): + """Through create_target_matrix itself: England has two benefit units on + UC, Northern Ireland and Wales one each, Scotland none.""" + import policyengine_uk + + target = _committed_target() + uc = pd.Series([100.0, 50.0, 300.0, 20.0]) + benunit_household = np.array([0, 0, 1, 2]) + country = pd.Series(["ENGLAND", "NORTHERN_IRELAND", "WALES", "SCOTLAND"]) + + class FakeMicrosimulation: + tax_benefit_system = SimpleNamespace( + variables={ + "universal_credit": SimpleNamespace( + entity=SimpleNamespace(key="benunit") + ) + } + ) + + def __init__(self, dataset=None, reform=None): + pass + + def calculate(self, variable, *args, **kwargs): + return {"universal_credit": uc, "country": country}[variable] + + def map_result(self, values, source, target_entity): + assert (source, target_entity) == ("benunit", "household") + return np.bincount( + benunit_household, weights=np.asarray(values), minlength=len(country) + ) + + monkeypatch.setattr(policyengine_uk, "Microsimulation", FakeMicrosimulation) + monkeypatch.setattr( + build_loss_matrix, + "get_all_targets", + lambda geographic_level=None: ( + [target] if geographic_level == GeographicLevel.NATIONAL else [] + ), + ) + + matrix, values = build_loss_matrix.create_target_matrix( + SimpleNamespace(time_period="2025"), time_period="2025" + ) + np.testing.assert_array_equal(matrix["obr/universal_credit"], [150, 0, 20, 0]) + assert values["obr/universal_credit"] == target.values[2025] + + def _fake_ctx(uc, benunit_household, household_country): n_households = len(household_country) variables = { @@ -154,7 +234,7 @@ def test_column_counts_gb_universal_credit_once(case): benunit_household = np.array([h for h, _ in benunits], dtype=int) uc = np.array([amount for _, amount in benunits], dtype=float) ctx = _fake_ctx(uc, benunit_household, household_country) - target = _uc_targets(_committed_table())["obr/universal_credit"] + target = _committed_target() column = restrict_to_countries( _compute_column(target, ctx, 2025), ctx.country, target.countries diff --git a/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py b/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py index 7bfc758d1..6b0ff8888 100644 --- a/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py +++ b/policyengine_uk_data/tests/test_uc_payment_distribution_targets.py @@ -4,7 +4,6 @@ counts households on UC by monthly award band and family type. Its top band, '£2500.01 or over', is open-ended; it used to parse to NaN bounds, so its four targets (1.4k to 83k households) had a column of zeros and could never be met. -The other bands keep their bounds: [monthly minimum, monthly maximum) x 12. """ from types import SimpleNamespace @@ -42,18 +41,23 @@ def _raw_extract() -> pd.DataFrame: def test_parse_monthly_award_band(): - # The bounded bands are parsed exactly as before this change. - for band, (low, high) in { - "£0.01 to £100.00": (0.01, 100.00), - "£100.01 to £200.00": (100.01, 200.00), - "£1000.01 to £1100.00": (1000.01, 1100.00), - }.items(): - assert parse_monthly_award_band(band) == (low * 12, high * 12) - assert parse_monthly_award_band("£2,500.01 or over") == (2500.01 * 12, np.inf) + assert parse_monthly_award_band("£0.01 to £100.00") == (0, 1_200) + assert parse_monthly_award_band("£100.01 to £200.00") == (1_200, 2_400) + assert parse_monthly_award_band("£1000.01 to £1100.00") == (12_000, 13_200) + assert parse_monthly_award_band("£2,500.01 or over") == (30_000, np.inf) with pytest.raises(ValueError): parse_monthly_award_band("No payment") +@pytest.mark.parametrize( + "band", + ["£nan or over", "£inf or over", "£100.01 to £99.00", "£1.00 to £nan"], +) +def test_invalid_bands_are_rejected(band): + with pytest.raises(ValueError): + parse_monthly_award_band(band) + + def test_top_band_targets_are_reachable(): targets = {t.name: t for t in _uc_payment_distribution_targets()} top = _raw_extract().loc["£2500.01 or over"] @@ -61,7 +65,7 @@ def test_top_band_targets_are_reachable(): target = targets[ f"dwp/uc_payment_dist/{family_type}_annual_payment_30_000_to_inf" ] - assert target.lower_bound == 2500.01 * 12 + assert target.lower_bound == 30_000 assert target.upper_bound == np.inf assert target.values[2025] == top[label] for target in targets.values(): @@ -85,14 +89,13 @@ def test_band_counts_sum_to_households_with_a_payment(): assert abs(parsed.household_count.sum() - with_payment) <= 10, label -def test_bands_run_from_a_penny_to_infinity_without_overlap(): - """Each band starts a penny a month (12p a year) above the last one ends.""" +def test_bands_tile_the_positive_awards(): for family_type, bands in uc_national_payment_dist.groupby("family_type"): bands = bands.sort_values("uc_annual_payment_min") lower = bands.uc_annual_payment_min.to_numpy() upper = bands.uc_annual_payment_max.to_numpy() - assert lower[0] == pytest.approx(0.12), family_type - np.testing.assert_allclose(lower[1:] - upper[:-1], 0.12, atol=1e-6) + assert lower[0] == 0, family_type + assert np.array_equal(lower[1:], upper[:-1]), family_type assert upper[-1] == np.inf, family_type @@ -123,62 +126,64 @@ def calculate(variable, map_to=None): _TARGETS = _uc_payment_distribution_targets() -_EDGES = sorted( - {t.lower_bound for t in _TARGETS} - | {t.upper_bound for t in _TARGETS if np.isfinite(t.upper_bound)} -) +_EDGES = sorted({t.upper_bound for t in _TARGETS if np.isfinite(t.upper_bound)}) _AWARDS = st.one_of( st.just(0.0), # no payment st.floats(0, 1e6, allow_nan=False), # anywhere, including the open top band st.sampled_from(_EDGES), # exactly on a band edge st.sampled_from(_EDGES).map(lambda edge: np.nextafter(edge, np.inf)), st.sampled_from(_EDGES).map(lambda edge: np.nextafter(edge, -np.inf)), + st.sampled_from(_EDGES).map(lambda e: np.nextafter(np.float32(e), np.inf)), + st.sampled_from(_EDGES).map(lambda e: np.nextafter(np.float32(e), -np.inf)), +) +_BENEFIT_UNITS = st.lists( + st.tuples(_AWARDS, st.sampled_from(list(FAMILY_TYPES.values())), st.integers(0, 9)), + min_size=1, + max_size=60, ) -def _band_count(uc, family_type): - """Oracle: how many of the family type's bands hold each award, by an - interval search rather than the compute function's comparisons.""" - count = np.zeros(len(uc)) +def _oracle_band(uc, family_type): + """Target name of the band holding each award (None for no payment), found + by searching the family type's sorted upper bounds rather than by the + compute function's comparisons.""" + names = np.full(len(uc), None, dtype=object) for ft in np.unique(family_type): bands = sorted( - (t.lower_bound, t.upper_bound) + (t.upper_bound, t.lower_bound, t.name) for t in _TARGETS if t.name.removeprefix("dwp/uc_payment_dist/").startswith(ft + "_annual") ) - lower = np.array([b[0] for b in bands]) - upper = np.array([b[1] for b in bands]) + upper = np.array([b[0] for b in bands]) m = family_type == ft - i = np.searchsorted(lower, uc[m], side="right") - 1 - count[m] = (i >= 0) & (uc[m] < upper[np.maximum(i, 0)]) - return count + i = np.searchsorted(upper, uc[m], side="left") + names[m] = [ + bands[k][2] if k < len(bands) and award > bands[k][1] else None + for k, award in zip(i, uc[m]) + ] + return names @settings(max_examples=200, deadline=None) -@given( - st.lists( - st.tuples( - _AWARDS, st.sampled_from(list(FAMILY_TYPES.values())), st.integers(0, 9) - ), - min_size=1, - max_size=60, - ) -) -def test_each_award_lands_in_at_most_one_band(benefit_units): - """Property: summed over the bands, each household's column counts its - benefit units whose award lies in one of their family type's bands, once - (differential against an interval-search oracle). Awards from the top - band's lower bound up are always counted; zero awards never are.""" +@given(_BENEFIT_UNITS, st.booleans()) +def test_each_award_lands_in_its_own_band(benefit_units, as_float32): + """Property: every target's column counts exactly the household's benefit + units whose award an interval search places in that target's band (so no + award is counted twice, moved to a neighbouring band, or lost), for float64 + and float32 awards, on band edges and one ulp either side.""" uc, family_type, household = (np.array(column) for column in zip(*benefit_units)) - uc = uc.astype(float) + uc = uc.astype(np.float32 if as_float32 else float) ctx = _fake_ctx(uc, family_type, household) + band = _oracle_band(uc, family_type) - per_target = [compute_uc_payment_dist(t, ctx) for t in _TARGETS] - total = sum(per_target) - in_band = _band_count(uc, family_type) - expected = np.bincount(household, weights=in_band, minlength=len(total)) - np.testing.assert_array_equal(total, expected) - - top = 2500.01 * 12 - assert (in_band[uc >= top] == 1).all() - assert (in_band[uc == 0] == 0).all() + for target in _TARGETS: + expected = np.bincount( + household, + weights=(band == target.name).astype(float), + minlength=household.max() + 1, + ) + np.testing.assert_array_equal( + compute_uc_payment_dist(target, ctx), expected, err_msg=target.name + ) + # Every positive award is in some band; no payment is in none. + assert all((b is not None) == (award > 0) for b, award in zip(band, uc)) diff --git a/policyengine_uk_data/utils/uc_data.py b/policyengine_uk_data/utils/uc_data.py index 17d56427c..ffe20896e 100644 --- a/policyengine_uk_data/utils/uc_data.py +++ b/policyengine_uk_data/utils/uc_data.py @@ -4,29 +4,34 @@ def parse_monthly_award_band(band: str) -> tuple[float, float]: - """Annual [lower, upper) payment bounds of a Stat-Xplore monthly award band. + """Annual (lower, upper] payment bounds of a Stat-Xplore monthly award band. - '£100.01 to £200.00' gives (1,200.12, 2,400). The open top band - '£2500.01 or over' gives (30,000.12, inf); it used to parse to missing - bounds, so its targets could never be met. + Awards are whole pence, so the band '£100.01 to £200.00' holds monthly + awards over £100.00 and up to £200.00: annual bounds (1,200, 2,400]. The + lower bound is the previous band's top, so consecutive bands meet with no + gap. The open top band '£2500.01 or over' is (30,000, inf). """ text = band.replace("£", "").replace(",", "").strip() if text.endswith(" or over"): - return float(text.removesuffix(" or over")) * 12, np.inf - parts = text.split(" to ") - if len(parts) != 2: - raise ValueError(f"Unrecognised UC monthly award band: {band!r}") - lower, upper = (float(part) * 12 for part in parts) + lower, upper = float(text.removesuffix(" or over")), np.inf + else: + parts = text.split(" to ") + if len(parts) != 2: + raise ValueError(f"Unrecognised UC monthly award band: {band!r}") + lower, upper = float(parts[0]), float(parts[1]) * 12 + lower = round((lower - 0.01) * 12, 2) + if not (np.isfinite(lower) and lower >= 0 and upper > lower): + raise ValueError(f"Invalid UC monthly award band: {band!r}") return lower, upper def _check_bands_disjoint(bands: pd.DataFrame) -> None: """Fail if any family type's payment bands overlap. - Stat-Xplore also lists summary bands ('£1500.01 or over') that span the - finer bands below them. They are suppressed ('..') in the committed - extract; if a new extract filled one in, counting it as well would double - count those households. + Stat-Xplore's '£1500.01 or over' band is its top band for months up to + August 2022 and spans the finer bands added from September 2022. It is + suppressed ('..') in the committed extract; if a new extract filled it + in, counting it as well would double count those households. """ for family_type, group in bands.groupby("family_type"): group = group.sort_values("uc_annual_payment_min") From d39371d508c33065e636fd9dcc5f15e750177fa2 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 3 Oct 2026 07:42:18 -0400 Subject: [PATCH 41/70] Bound the reduced-build gains check on both sides A relative-error bound of 5 could never fail low: a total of zero has a relative error of 1. Reduced builds now require the total to lie within a factor of 6 of HMRC's in either direction; full builds keep the 50% bound. Co-Authored-By: Claude Opus 5.5 --- .../tests/test_cgt_band_donors.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/policyengine_uk_data/tests/test_cgt_band_donors.py b/policyengine_uk_data/tests/test_cgt_band_donors.py index a03b375a5..ec97d6519 100644 --- a/policyengine_uk_data/tests/test_cgt_band_donors.py +++ b/policyengine_uk_data/tests/test_cgt_band_donors.py @@ -162,8 +162,9 @@ def test_stack_cgt_band_donors(frs): # of main and of #529 carry about £243bn and £267bn (relative errors 2.7 and # 3.1, beyond the 0.5 x slack bound), while their full builds carry about # £53bn. Under TESTING the total-gains check only guards against -# order-of-magnitude errors; the full build keeps the 50% bound. -_TOTAL_GAINS_RELATIVE_BOUND = 5.0 if _REDUCED_BUILD_SLACK > 1 else 0.5 +# order-of-magnitude errors, in either direction: the total must lie within a +# factor of 6 of HMRC's. The full build keeps the 50% bound. +_REDUCED_GAINS_FACTOR = 6.0 def _built_with_band_donors(enhanced_frs): @@ -221,11 +222,15 @@ def test_built_total_gains(enhanced_frs): enhanced_frs = _built_with_band_donors(enhanced_frs) gains, weights = _person_gains_and_weights(enhanced_frs) total = float((gains * weights)[gains > _AEA].sum()) - assert abs(total / _HMRC_TOTAL_GAINS - 1) < _TOTAL_GAINS_RELATIVE_BOUND, ( + ratio = total / _HMRC_TOTAL_GAINS + message = ( f"£{total / 1e9:.1f}bn of above-AEA gains against HMRC's " - f"£{_HMRC_TOTAL_GAINS / 1e9:.1f}bn " - f"(relative error {abs(total / _HMRC_TOTAL_GAINS - 1):.0%})." + f"£{_HMRC_TOTAL_GAINS / 1e9:.1f}bn (ratio {ratio:.2f})." ) + if _REDUCED_BUILD_SLACK > 1: + assert 1 / _REDUCED_GAINS_FACTOR < ratio < _REDUCED_GAINS_FACTOR, message + else: + assert abs(ratio - 1) < 0.5, message @pytest.mark.slow From c84265669d6c920dcca6aeb7e86b13839c5f1c70 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 3 Oct 2026 08:06:51 -0400 Subject: [PATCH 42/70] Address review: shared pools, one region reader, unknown-region checks From the independent review of f8b21d3: - A region that holds every OA of its country (Wales, Scotland) now shares the country's stratum, so mixed known and UNKNOWN households draw exactly as a country-only call. Before, the two strata consumed the RNG in a different household order. With one clone, Welsh and Scottish households keep exactly their released OAs. - clone_and_assign derives each household's country with the sampler's own region normaliser, so bytes, ONS codes and untidy text no longer give a contradictory country (an unrecognised region now raises instead of silently counting as England). - The built-dataset test checks known regions exactly and households with no region below the country against England, instead of failing them. - New tests: uniform draws in a zero-population region (the mutant that survived), the review's mixed UNKNOWN/London counterexample, and untidy regions through clone_and_assign. The property strategies now generate UNKNOWN in every country, regions as names/codes/bytes/untidy text, and countries the crosswalk does not cover. - Docs: create_datasets.py exports the long geography weights; it does not call publish_local_h5s. Co-Authored-By: Claude Opus 5.5 --- docs/oa_calibration_pipeline.md | 2 +- .../calibration/clone_and_assign.py | 45 ++- .../calibration/oa_assignment.py | 27 +- .../tests/test_oa_region_assignment.py | 273 +++++++++++++----- 4 files changed, 246 insertions(+), 101 deletions(-) diff --git a/docs/oa_calibration_pipeline.md b/docs/oa_calibration_pipeline.md index be147e61c..eb2a1f7bd 100644 --- a/docs/oa_calibration_pipeline.md +++ b/docs/oa_calibration_pipeline.md @@ -134,7 +134,7 @@ Generate per-area H5 files from sparse L0-calibrated weights. **Deliverables:** - `policyengine_uk_data/calibration/publish_local_h5s.py` — extracts per-area H5 subsets from the sparse weight vector; each H5 contains only active households (non-zero weight) with their calibrated weights, plus the linked person and benunit rows - `policyengine_uk_data/calibration/long_geography.py` — exports matrix-free local geography weights as an OA-first long table, with constituency and LA rows derived from assigned OA geography -- `datasets/create_datasets.py` — publish step wired in after calibration, before downrating +- `datasets/create_datasets.py` — exports `local_geography_weights.csv.gz` after calibration; `publish_local_h5s()` is not called by the build - `tests/test_publish_local_h5s.py` — 13 tests covering area-household mapping, H5 structure, pruned-household exclusion, weight correctness, person/benunit FK integrity, full publish cycle, summary statistics, and validation **Key design:** diff --git a/policyengine_uk_data/calibration/clone_and_assign.py b/policyengine_uk_data/calibration/clone_and_assign.py index bc710ab61..f1907b9dc 100644 --- a/policyengine_uk_data/calibration/clone_and_assign.py +++ b/policyengine_uk_data/calibration/clone_and_assign.py @@ -19,37 +19,35 @@ from policyengine_uk.data import UKSingleYearDataset from policyengine_uk_data.calibration.oa_assignment import ( + FRS_COUNTRY_MAP, + _REGION_CODE_PREFIX_TO_COUNTRY, + _normalise_region, assign_random_geography, ) logger = logging.getLogger(__name__) -# FRS region values that map to each country -_REGION_TO_COUNTRY_CODE = { - "NORTH_EAST": 1, - "NORTH_WEST": 1, - "YORKSHIRE": 1, - "EAST_MIDLANDS": 1, - "WEST_MIDLANDS": 1, - "EAST_OF_ENGLAND": 1, - "LONDON": 1, - "SOUTH_EAST": 1, - "SOUTH_WEST": 1, - "WALES": 2, - "SCOTLAND": 3, - "NORTHERN_IRELAND": 4, - "UNKNOWN": 1, # Default to England -} +_COUNTRY_TO_FRS_CODE = {name: code for code, name in FRS_COUNTRY_MAP.items()} def _household_country_codes(dataset: UKSingleYearDataset) -> np.ndarray: - """Extract FRS country codes (1-4) from household region.""" - regions = dataset.household["region"].values - codes = np.array( - [_REGION_TO_COUNTRY_CODE.get(str(r), 1) for r in regions], - dtype=np.int32, - ) - return codes + """Extract FRS country codes (1-4) from household region. + + Uses the same region normalisation as the OA sampler, so both read + a region the same way. A region with nothing below the country + (missing or ``UNKNOWN``) counts as England; an unrecognised value + raises. + """ + codes = [] + for region in dataset.household["region"].values: + region_code = _normalise_region(region) + country = ( + "England" + if region_code is None + else _REGION_CODE_PREFIX_TO_COUNTRY[region_code[0]] + ) + codes.append(_COUNTRY_TO_FRS_CODE[country]) + return np.array(codes, dtype=np.int32) def _remap_ids( @@ -114,7 +112,6 @@ def clone_and_assign( # NI is excluded until NISRA updates their download URLs. from policyengine_uk_data.calibration.oa_assignment import ( _load_country_distributions, - FRS_COUNTRY_MAP, ) available_distributions = _load_country_distributions( diff --git a/policyengine_uk_data/calibration/oa_assignment.py b/policyengine_uk_data/calibration/oa_assignment.py index 15f3e59ee..c8d23e7a4 100644 --- a/policyengine_uk_data/calibration/oa_assignment.py +++ b/policyengine_uk_data/calibration/oa_assignment.py @@ -296,20 +296,35 @@ def assign_random_geography( n_unknown, ) + path_key = str(crosswalk_path) if crosswalk_path else None + country_distributions = _load_country_distributions(path_key) + region_distributions = ( + _load_region_distributions(path_key) if household_regions is not None else {} + ) + # A region that holds every OA of its country (Wales and Scotland in + # the crosswalk) samples from the same pool as the country, so it + # shares the country's stratum: its households then draw exactly as a + # country-only call would draw them. + sole_region_country = {} + for country, dist in country_distributions.items(): + codes = set(pd.Series(dist["region_codes"]).fillna("").astype(str).str.strip()) + if len(codes) == 1: + (code,) = codes + region_dist = region_distributions.get(code) + if region_dist is not None and len(region_dist["oa_codes"]) == len( + dist["oa_codes"] + ): + sole_region_country[code] = country + # Sampling stratum per household: its region code where known, # otherwise its country name. strata = np.array( [ - region if region is not None else country + country if region is None else sole_region_country.get(region, region) for region, country in zip(regions, countries) ], dtype=object, ) - path_key = str(crosswalk_path) if crosswalk_path else None - country_distributions = _load_country_distributions(path_key) - region_distributions = ( - _load_region_distributions(path_key) if household_regions is not None else {} - ) distributions = {} missing_distributions = [] for stratum in sorted(set(strata)): diff --git a/policyengine_uk_data/tests/test_oa_region_assignment.py b/policyengine_uk_data/tests/test_oa_region_assignment.py index 7cf39ff05..c350bfc6e 100644 --- a/policyengine_uk_data/tests/test_oa_region_assignment.py +++ b/policyengine_uk_data/tests/test_oa_region_assignment.py @@ -15,9 +15,13 @@ import pytest from policyengine_uk.data import UKSingleYearDataset -from policyengine_uk_data.calibration.clone_and_assign import clone_and_assign +from policyengine_uk_data.calibration.clone_and_assign import ( + _household_country_codes, + clone_and_assign, +) from policyengine_uk_data.calibration.oa_assignment import ( FRS_REGION_TO_CODE, + _normalise_region, assign_random_geography, ) from policyengine_uk_data.calibration.oa_crosswalk import ( @@ -76,13 +80,21 @@ def _write_crosswalk(directory: Path, rows: list) -> tuple[pd.DataFrame, str]: return frame, str(path) -def _countries(regions: list[str]) -> np.ndarray: - return np.array( - [COUNTRY_TO_FRS_CODE[REGION_TO_COUNTRY.get(r, "England")] for r in regions] - ) +def _countries(countries: list[str]) -> np.ndarray: + return np.array([COUNTRY_TO_FRS_CODE[c] for c in countries]) + + +# Ways a region can arrive: FRS name, crosswalk code, bytes, untidy text. +REPRESENTATIONS = { + "name": lambda region: region, + "code": lambda region: FRS_REGION_TO_CODE[region], + "bytes": lambda region: region.encode(), + "untidy": lambda region: f" {region.lower()} ", +} +UNKNOWN_VALUES = ["UNKNOWN", "", None, np.nan, b"UNKNOWN"] -def _toy_dataset(regions: list[str], weights: list[float]) -> UKSingleYearDataset: +def _toy_dataset(regions: list, weights: list[float]) -> UKSingleYearDataset: ids = np.arange(1, len(regions) + 1) return UKSingleYearDataset( person=pd.DataFrame( @@ -95,15 +107,35 @@ def _toy_dataset(regions: list[str], weights: list[float]) -> UKSingleYearDatase ), benunit=pd.DataFrame({"benunit_id": ids * 100 + 1}), household=pd.DataFrame( - {"household_id": ids, "household_weight": weights, "region": regions} + { + "household_id": ids, + "household_weight": weights, + "region": pd.Series(regions, dtype=object), + } ), fiscal_year=2024, ) @st.composite -def crosswalk_and_regions(draw, allow_unassignable: bool = False): - """A synthetic crosswalk plus household regions it can serve.""" +def households(draw, crosswalk_regions: list[str], unknown_countries: list[str]): + """Households as (FRS region or None, country, raw region value).""" + known = [(region, REGION_TO_COUNTRY[region]) for region in crosswalk_regions] + unknown = [(None, country) for country in unknown_countries] + region, country = draw(st.sampled_from(known + unknown)) + if region is None: + raw = draw(st.sampled_from(UNKNOWN_VALUES)) + else: + raw = REPRESENTATIONS[draw(st.sampled_from(sorted(REPRESENTATIONS)))](region) + return region, country, raw + + +@st.composite +def crosswalk_and_households(draw): + """A synthetic crosswalk plus households the sampler can serve. + + A household with no region can belong to any country in the crosswalk. + """ crosswalk_regions = draw( st.lists( st.sampled_from(sorted(FRS_REGION_TO_CODE)), @@ -124,13 +156,11 @@ def crosswalk_and_regions(draw, allow_unassignable: bool = False): ) ), ) - choices = list(crosswalk_regions) - if any(REGION_TO_COUNTRY[r] == "England" for r in crosswalk_regions): - choices.append("UNKNOWN") - if allow_unassignable and "NORTHERN_IRELAND" not in crosswalk_regions: - choices.append("NORTHERN_IRELAND") - regions = draw(st.lists(st.sampled_from(choices), min_size=1, max_size=12)) - return rows, regions + countries = sorted({REGION_TO_COUNTRY[r] for r in crosswalk_regions}) + sample = draw( + st.lists(households(crosswalk_regions, countries), min_size=1, max_size=12) + ) + return rows, sample def _as_tuple(geography) -> tuple: @@ -142,18 +172,19 @@ def _as_tuple(geography) -> tuple: class TestRegionConstraintProperties: @given( - case=crosswalk_and_regions(), + case=crosswalk_and_households(), n_clones=st.integers(1, 4), seed=st.integers(0, 2**32 - 1), ) - @settings(max_examples=60, deadline=None) + @settings(max_examples=80, deadline=None) def test_assignment_invariants(self, case, n_clones, seed): - rows, regions = case + rows, sample = case + regions, countries, raw = map(list, zip(*sample)) with tempfile.TemporaryDirectory() as directory: crosswalk, path = _write_crosswalk(directory, rows) kwargs = dict( - household_countries=_countries(regions), - household_regions=np.array(regions, dtype=object), + household_countries=_countries(countries), + household_regions=np.array(raw, dtype=object), n_clones=n_clones, seed=seed, crosswalk_path=path, @@ -164,26 +195,22 @@ def test_assignment_invariants(self, case, n_clones, seed): # Determinism: same inputs and seed, same assignment. assert _as_tuple(geography) == _as_tuple(repeat) - n = len(regions) + n = len(sample) assert len(geography.oa_code) == n * n_clones by_oa = crosswalk.set_index("oa_code") region_population = crosswalk.groupby("region_code")["population"].sum() - england_population = crosswalk.loc[ - crosswalk["country"] == "England", "population" - ].sum() + country_population = crosswalk.groupby("country")["population"].sum() for i, oa in enumerate(geography.oa_code): - region = regions[i % n] + region, country = regions[i % n], countries[i % n] row = by_oa.loc[oa] - # The OA's region is the household's region; an unknown region - # still keeps the household in its country. - if region == "UNKNOWN": - assert row["country"] == "England" - stratum_population = england_population + # The OA's region is the household's region; a household with + # no region stays in its country. + assert row["country"] == country == geography.country[i] + if region is None: + stratum_population = country_population[country] else: assert geography.region_code[i] == FRS_REGION_TO_CODE[region] stratum_population = region_population[FRS_REGION_TO_CODE[region]] - assert geography.country[i] == REGION_TO_COUNTRY.get(region, "England") - assert row["country"] == geography.country[i] # Every other code is the crosswalk's own row for that OA. for field, column in GEOGRAPHY_FIELDS.items(): assert getattr(geography, field)[i] == row[column] @@ -192,17 +219,34 @@ def test_assignment_invariants(self, case, n_clones, seed): assert row["population"] > 0 @given( - case=crosswalk_and_regions(allow_unassignable=True), + case=crosswalk_and_households(), + uncovered=st.lists( + st.sampled_from( + [("NORTHERN_IRELAND", "Northern Ireland"), (None, "England")] + ), + max_size=3, + ), weights=st.lists( - st.floats(0, 5_000, allow_nan=False), min_size=12, max_size=12 + st.floats(0, 5_000, allow_nan=False), min_size=15, max_size=15 ), n_clones=st.integers(1, 4), seed=st.integers(0, 2**32 - 1), ) - @settings(max_examples=40, deadline=None) - def test_clone_and_assign_invariants(self, case, weights, n_clones, seed): - rows, regions = case - dataset = _toy_dataset(regions, weights[: len(regions)]) + @settings(max_examples=50, deadline=None) + def test_clone_and_assign_invariants( + self, case, uncovered, weights, n_clones, seed + ): + rows, sample = case + # clone_and_assign reads a household without a region as English. + sample = [(r, "England" if r is None else c, raw) for r, c, raw in sample] + covered_countries = {row["country"] for row in rows} + sample += [ + (region, country, region or "UNKNOWN") + for region, country in uncovered + if country not in covered_countries + ] + regions, countries, raw = map(list, zip(*sample)) + dataset = _toy_dataset(raw, weights[: len(sample)]) with tempfile.TemporaryDirectory() as directory: _, path = _write_crosswalk(directory, rows) kwargs = dict(n_clones=n_clones, seed=seed, crosswalk_path=path) @@ -225,50 +269,68 @@ def test_clone_and_assign_invariants(self, case, weights, n_clones, seed): rtol=1e-12, atol=1e-9, ) - # Cloning never rewrites the FRS region. - assert household["region"].tolist() == original["region"].tolist() * n_clones - expected = household["region"].map(FRS_REGION_TO_CODE) - known = household["region"].isin(FRS_REGION_TO_CODE) & ( - household["oa_code"] != "" - ) - assert (household.loc[known, "region_code_oa"] == expected[known]).all() - unknown = household["region"] == "UNKNOWN" - assert household.loc[unknown, "region_code_oa"].str.startswith("E12").all() - # A region the crosswalk does not cover gets no geography at all. - covered = {row["region_code"] for row in rows} - uncovered = ~unknown & ~expected.isin(covered) - for column in ["oa_code", "la_code_oa", "constituency_code_oa"]: - assert (household.loc[uncovered, column] == "").all() - assert (household.loc[~uncovered, column] != "").all() + # Cloning never rewrites the FRS region (a missing value may come + # back as None or NaN; both are missing). + def tidy(values): + return [None if pd.isna(v) else v for v in values] + + assert tidy(household["region"]) == tidy(original["region"]) * n_clones + + for i, (region, country) in enumerate( + zip(regions * n_clones, countries * n_clones) + ): + assigned = household.iloc[i] + if country not in covered_countries: + # A country the crosswalk does not cover gets no geography. + for column in ["oa_code", "la_code_oa", "constituency_code_oa"]: + assert assigned[column] == "" + elif region is None: + assert assigned["region_code_oa"].startswith("E12") + else: + assert assigned["region_code_oa"] == FRS_REGION_TO_CODE[region] + assert assigned["oa_code"] != "" @given( - case=crosswalk_and_regions(), + unknown_countries=st.lists( + st.sampled_from(["England", "Wales", "Scotland", "Northern Ireland"]), + max_size=6, + ), + known=st.lists( + st.sampled_from(["LONDON", "WALES", "SCOTLAND", "NORTHERN_IRELAND"]), + max_size=6, + ), + order=st.randoms(use_true_random=False), n_clones=st.integers(1, 4), seed=st.integers(0, 2**32 - 1), ) - @settings(max_examples=40, deadline=None) + @settings(max_examples=60, deadline=None) def test_matches_country_sampling_when_region_is_the_country( - self, case, n_clones, seed + self, unknown_countries, known, order, n_clones, seed ): - """Differential: with one region per country the two paths agree.""" - _, regions = case - one_region_each = ["LONDON", "WALES", "SCOTLAND", "NORTHERN_IRELAND"] - regions = [r for r in regions if r in one_region_each] or ["LONDON"] + """Differential: when each country is one region, giving regions + changes nothing, even with households of unknown region mixed in.""" + sample = [(None, c) for c in unknown_countries] + [ + (r, REGION_TO_COUNTRY[r]) for r in known + ] or [("LONDON", "England")] + order.shuffle(sample) rows = [] - for region in one_region_each: + for region in ["LONDON", "WALES", "SCOTLAND", "NORTHERN_IRELAND"]: rows += _crosswalk_rows(region, [[30, 10, 0], [5, 55], [20]]) with tempfile.TemporaryDirectory() as directory: _, path = _write_crosswalk(directory, rows) kwargs = dict( - household_countries=_countries(regions), + household_countries=_countries([c for _, c in sample]), n_clones=n_clones, seed=seed, crosswalk_path=path, ) by_country = assign_random_geography(**kwargs) by_region = assign_random_geography( - household_regions=np.array(regions, dtype=object), **kwargs + household_regions=np.array( + [r or "UNKNOWN" for r, _ in sample], dtype=object + ), + **kwargs, ) assert _as_tuple(by_country) == _as_tuple(by_region) @@ -407,6 +469,69 @@ def test_single_constituency_region_terminates(self, tmp_path): ) assert len(set(geography.constituency_code)) == 1 + def test_zero_population_region_samples_uniformly(self, tmp_path): + """A region with no recorded population draws its OAs uniformly.""" + rows = _crosswalk_rows("WALES", [[0, 0], [0, 0]]) + _crosswalk_rows( + "LONDON", [[100]] + ) + crosswalk, path = _write_crosswalk(tmp_path, rows) + n = 8_000 + geography = assign_random_geography( + household_countries=np.full(n, 2), + household_regions=np.array(["WALES"] * n, dtype=object), + n_clones=1, + seed=5, + crosswalk_path=path, + ) + shares = pd.Series(geography.oa_code).value_counts(normalize=True) + welsh = set(crosswalk.loc[crosswalk["country"] == "Wales", "oa_code"]) + assert set(shares.index) == welsh + # Binomial(8,000, 0.25): four standard errors is 0.019. + assert (shares - 0.25).abs().max() < 0.02 + + def test_mixed_unknown_and_sole_region_draw_like_the_country(self, tmp_path): + """Review counterexample: an UNKNOWN and a London household, London + being England's only region, draw exactly as a country-only call.""" + rows = ( + _crosswalk_rows("LONDON", [[100], [100]]) + + _crosswalk_rows("WALES", [[100]]) + + _crosswalk_rows("SCOTLAND", [[100]]) + + _crosswalk_rows("NORTHERN_IRELAND", [[100]]) + ) + _, path = _write_crosswalk(tmp_path, rows) + kwargs = dict( + household_countries=np.array([1, 1]), + n_clones=1, + seed=0, + crosswalk_path=path, + ) + by_country = assign_random_geography(**kwargs) + by_region = assign_random_geography( + household_regions=np.array(["UNKNOWN", "LONDON"], dtype=object), + **kwargs, + ) + assert _as_tuple(by_country) == _as_tuple(by_region) + + def test_clone_and_assign_reads_untidy_regions_like_the_sampler(self, tmp_path): + """Review counterexample: bytes, codes and untidy text give the + same country in cloning as in the sampler.""" + rows = _crosswalk_rows("WALES", [[100]]) + _crosswalk_rows("LONDON", [[100]]) + _, path = _write_crosswalk(tmp_path, rows) + raw = [b"WALES", " wales ", "W99999999", b"NORTHERN_IRELAND", "UNKNOWN"] + assert _household_country_codes( + _toy_dataset(raw, [1.0] * len(raw)) + ).tolist() == [2, 2, 2, 4, 1] + household = clone_and_assign( + _toy_dataset(raw, [1.0] * len(raw)), n_clones=1, crosswalk_path=path + ).household + assert household["region_code_oa"].tolist() == [ + "W99999999", + "W99999999", + "W99999999", + "", + "E12000007", + ] + @pytest.fixture(scope="module") def real_crosswalk() -> pd.DataFrame: @@ -466,7 +591,7 @@ def test_assignment_on_the_real_crosswalk(self, real_crosswalk): regions = np.array(covered * 40, dtype=object) n_clones = 10 geography = assign_random_geography( - household_countries=_countries(list(regions)), + household_countries=_countries([REGION_TO_COUNTRY[r] for r in regions]), household_regions=regions, n_clones=n_clones, seed=42, @@ -481,11 +606,19 @@ def test_assignment_on_the_real_crosswalk(self, real_crosswalk): def test_built_dataset_oa_region_matches_frs_region(enhanced_frs): - """Every household of the built enhanced FRS sits in its own region.""" + """Every household of the built enhanced FRS sits in its own region. + + A household with no region below the country is English to + clone_and_assign, so its OA must be English. + """ household = enhanced_frs.household - decode = lambda value: value.decode() if isinstance(value, bytes) else str(value) # noqa: E731 - region_code = household["region_code_oa"].map(decode) - expected = household["region"].map(decode).map(FRS_REGION_TO_CODE) + region_code = household["region_code_oa"].map( + lambda value: value.decode() if isinstance(value, bytes) else str(value) + ) + expected = household["region"].map(_normalise_region) has_oa = region_code != "" assert has_oa.any() - assert int((region_code[has_oa] != expected[has_oa]).sum()) == 0 + known = has_oa & expected.notna() + assert int((region_code[known] != expected[known]).sum()) == 0 + unknown = has_oa & expected.isna() + assert region_code[unknown].str.startswith("E12").all() From 40ea9453385b2197060e70c592e1495c1ac989d3 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 3 Oct 2026 16:26:47 -0400 Subject: [PATCH 43/70] Restore HMRC salary sacrifice relief calibration targets GOV.UK withdrew the July 2025 Tables 6.1/6.2 CSV (410 Gone) when HMRC published the July 2026 private pension statistics, and get_targets() logged the error and returned without the relief targets, so every build since has calibrated without hmrc/salary_sacrifice_it_relief_* and the HMRC NICs relief targets. - Point sources.yaml at the July 2026 CSV (tax year 2024-25) and commit a copy in storage; a failed download uses it, and a table without the expected rows raises instead of returning fewer targets. - Map the tax year from the table: PolicyEngine year N is tax year N to N+1, so 2024-25 is 2024 (the old comment put 2023-24 at 2024). - Split IT relief across the bands each person's relief straddles, as HMRC does, instead of classifying by adjusted net income against taxable-income thresholds (which put every basic-rate taxpayer with income between 37,700 and 50,270 in the higher-rate target). - Drop obr/salary_sacrifice_{employee,employer}_ni_relief: static copies of HMRC's 2023-24 Table 6.2 figures computed on the same column as the restored HMRC NICs targets. Co-Authored-By: Claude Opus 5.5 --- ...c-salary-sacrifice-relief-targets.fixed.md | 1 + ..._pension_relief_tables_6_1_6_2_2024_25.csv | 83 +++++++ .../targets/build_loss_matrix.py | 2 - .../targets/compute/income.py | 84 ++++--- policyengine_uk_data/targets/sources.yaml | 4 +- .../targets/sources/hmrc_salary_sacrifice.py | 215 ++++++++++-------- policyengine_uk_data/targets/sources/obr.py | 24 +- .../test_hmrc_salary_sacrifice_targets.py | 178 +++++++++++++++ .../tests/test_target_registry.py | 19 ++ 9 files changed, 468 insertions(+), 142 deletions(-) create mode 100644 changelog.d/hmrc-salary-sacrifice-relief-targets.fixed.md create mode 100644 policyengine_uk_data/storage/hmrc_pension_relief_tables_6_1_6_2_2024_25.csv create mode 100644 policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py diff --git a/changelog.d/hmrc-salary-sacrifice-relief-targets.fixed.md b/changelog.d/hmrc-salary-sacrifice-relief-targets.fixed.md new file mode 100644 index 000000000..46b3fb23a --- /dev/null +++ b/changelog.d/hmrc-salary-sacrifice-relief-targets.fixed.md @@ -0,0 +1 @@ +Restore the HMRC salary sacrifice income tax and NICs relief calibration targets, lost to a withdrawn (410 Gone) HMRC CSV since the July 2026 private pension statistics release. They now use the 2024-25 Tables 6.1 and 6.2, mapped to year 2024, with a committed copy used when the download fails; a changed table fails the build. The rate-band targets split each person's relief across the bands it is given in (they had been assigned by adjusted net income against taxable-income thresholds), and the OBR-labelled NICs relief targets, which repeated the 2023-24 HMRC figures, are removed. diff --git a/policyengine_uk_data/storage/hmrc_pension_relief_tables_6_1_6_2_2024_25.csv b/policyengine_uk_data/storage/hmrc_pension_relief_tables_6_1_6_2_2024_25.csv new file mode 100644 index 000000000..48b149176 --- /dev/null +++ b/policyengine_uk_data/storage/hmrc_pension_relief_tables_6_1_6_2_2024_25.csv @@ -0,0 +1,83 @@ +"tax_year","income_tax_nics","contribution_type","nics_relief_class","sector_scheme","scheme_type","tax_rate","value_of_relief" +"2024 to 2025","Income Tax","Individual contributions to net pay arrangements","Not applicable","Total","Total","Total","7000" +"2024 to 2025","Income Tax","Individual contributions to relief at source schemes","Not applicable","Total","Total","Total","5900" +"2024 to 2025","Income Tax","Salary sacrificed contributions","Not applicable","Total","Total","Total","8800" +"2024 to 2025","Income Tax","Employer contributions to net pay arrangements plus deficit reduction contributions","Not applicable","Total","Total","Total","24800" +"2024 to 2025","Income Tax","Employer contributions to relief at source schemes","Not applicable","Total","Total","Total","9200" +"2024 to 2025","Income Tax","Individual contributions to net pay arrangements","Not applicable","Public sector occupational scheme","Total","Total","4500" +"2024 to 2025","Income Tax","Individual contributions to relief at source schemes","Not applicable","Public sector occupational scheme","Total","Total","200" +"2024 to 2025","Income Tax","Salary sacrificed contributions","Not applicable","Public sector occupational scheme","Total","Total","600" +"2024 to 2025","Income Tax","Employer contributions to net pay arrangements plus deficit reduction contributions","Not applicable","Public sector occupational scheme","Total","Total","14000" +"2024 to 2025","Income Tax","Employer contributions to relief at source schemes","Not applicable","Public sector occupational scheme","Total","Total","400" +"2024 to 2025","Income Tax","Individual contributions to net pay arrangements","Not applicable","Personal or private sector occupational scheme","Total","Total","2500" +"2024 to 2025","Income Tax","Individual contributions to relief at source schemes","Not applicable","Personal or private sector occupational scheme","Total","Total","5700" +"2024 to 2025","Income Tax","Salary sacrificed contributions","Not applicable","Personal or private sector occupational scheme","Total","Total","8300" +"2024 to 2025","Income Tax","Employer contributions to net pay arrangements plus deficit reduction contributions","Not applicable","Personal or private sector occupational scheme","Total","Total","10800" +"2024 to 2025","Income Tax","Employer contributions to relief at source schemes","Not applicable","Personal or private sector occupational scheme","Total","Total","8800" +"2024 to 2025","Income Tax","Individual contributions to net pay arrangements","Not applicable","Total","Defined benefit","Total","5200" +"2024 to 2025","Income Tax","Individual contributions to relief at source schemes","Not applicable","Total","Defined benefit","Total","0" +"2024 to 2025","Income Tax","Salary sacrificed contributions","Not applicable","Total","Defined benefit","Total","1500" +"2024 to 2025","Income Tax","Employer contributions to net pay arrangements plus deficit reduction contributions","Not applicable","Total","Defined benefit","Total","16600" +"2024 to 2025","Income Tax","Employer contributions to relief at source schemes","Not applicable","Total","Defined benefit","Total","0" +"2024 to 2025","Income Tax","Individual contributions to net pay arrangements","Not applicable","Total","Defined contribution","Total","1800" +"2024 to 2025","Income Tax","Individual contributions to relief at source schemes","Not applicable","Total","Defined contribution","Total","5900" +"2024 to 2025","Income Tax","Salary sacrificed contributions","Not applicable","Total","Defined contribution","Total","7400" +"2024 to 2025","Income Tax","Employer contributions to net pay arrangements plus deficit reduction contributions","Not applicable","Total","Defined contribution","Total","8200" +"2024 to 2025","Income Tax","Employer contributions to relief at source schemes","Not applicable","Total","Defined contribution","Total","9200" +"2024 to 2025","Income Tax","Individual contributions to net pay arrangements","Not applicable","Total","Total","Basic Rate","2400" +"2024 to 2025","Income Tax","Individual contributions to relief at source schemes","Not applicable","Total","Total","Basic Rate","3200" +"2024 to 2025","Income Tax","Salary sacrificed contributions","Not applicable","Total","Total","Basic Rate","1600" +"2024 to 2025","Income Tax","Employer contributions to net pay arrangements plus deficit reduction contributions","Not applicable","Total","Total","Basic Rate","6700" +"2024 to 2025","Income Tax","Employer contributions to relief at source schemes","Not applicable","Total","Total","Basic Rate","2200" +"2024 to 2025","Income Tax","Individual contributions to net pay arrangements","Not applicable","Total","Total","Higher Rate","3800" +"2024 to 2025","Income Tax","Individual contributions to relief at source schemes","Not applicable","Total","Total","Higher Rate","1600" +"2024 to 2025","Income Tax","Salary sacrificed contributions","Not applicable","Total","Total","Higher Rate","5500" +"2024 to 2025","Income Tax","Employer contributions to net pay arrangements plus deficit reduction contributions","Not applicable","Total","Total","Higher Rate","15600" +"2024 to 2025","Income Tax","Employer contributions to relief at source schemes","Not applicable","Total","Total","Higher Rate","5200" +"2024 to 2025","Income Tax","Individual contributions to net pay arrangements","Not applicable","Total","Total","Additional Rate","900" +"2024 to 2025","Income Tax","Individual contributions to relief at source schemes","Not applicable","Total","Total","Additional Rate","1100" +"2024 to 2025","Income Tax","Salary sacrificed contributions","Not applicable","Total","Total","Additional Rate","1800" +"2024 to 2025","Income Tax","Employer contributions to net pay arrangements plus deficit reduction contributions","Not applicable","Total","Total","Additional Rate","2500" +"2024 to 2025","Income Tax","Employer contributions to relief at source schemes","Not applicable","Total","Total","Additional Rate","1700" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Primary (employee)","Total","Total","Total","3600" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Primary (employee)","Total","Total","Total","1200" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Primary (employee)","Total","Total","Total","1000" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Secondary (employer)","Total","Total","Total","10600" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Secondary (employer)","Total","Total","Total","3800" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Secondary (employer)","Total","Total","Total","3400" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Primary (employee)","Public sector occupational scheme","Total","Total","2300" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Primary (employee)","Public sector occupational scheme","Total","Total","900" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Primary (employee)","Public sector occupational scheme","Total","Total","100" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Secondary (employer)","Public sector occupational scheme","Total","Total","6300" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Secondary (employer)","Public sector occupational scheme","Total","Total","200" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Secondary (employer)","Public sector occupational scheme","Total","Total","200" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Primary (employee)","Personal or private sector occupational scheme","Total","Total","1300" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Primary (employee)","Personal or private sector occupational scheme","Total","Total","300" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Primary (employee)","Personal or private sector occupational scheme","Total","Total","900" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Secondary (employer)","Personal or private sector occupational scheme","Total","Total","4300" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Secondary (employer)","Personal or private sector occupational scheme","Total","Total","3600" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Secondary (employer)","Personal or private sector occupational scheme","Total","Total","3100" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Primary (employee)","Total","Defined benefit","Total","2500" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Primary (employee)","Total","Defined benefit","Total","0" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Primary (employee)","Total","Defined benefit","Total","200" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Secondary (employer)","Total","Defined benefit","Total","7200" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Secondary (employer)","Total","Defined benefit","Total","0" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Secondary (employer)","Total","Defined benefit","Total","600" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Primary (employee)","Total","Defined contribution","Total","1100" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Primary (employee)","Total","Defined contribution","Total","1200" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Primary (employee)","Total","Defined contribution","Total","800" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Secondary (employer)","Total","Defined contribution","Total","3300" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Secondary (employer)","Total","Defined contribution","Total","3800" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Secondary (employer)","Total","Defined contribution","Total","2800" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Primary (employee)","Total","Total","Main Rate","2800" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Primary (employee)","Total","Total","Main Rate","900" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Primary (employee)","Total","Total","Main Rate","600" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Secondary (employer)","Total","Total","Main Rate","10600" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Secondary (employer)","Total","Total","Main Rate","3800" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Secondary (employer)","Total","Total","Main Rate","3400" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Primary (employee)","Total","Total","Additional Rate","800" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Primary (employee)","Total","Total","Additional Rate","300" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Primary (employee)","Total","Total","Additional Rate","300" +"2024 to 2025","NICs","Employer contributions to net pay arrangements and on employer deficit reduction contributions","Class 1 Secondary (employer)","Total","Total","Additional Rate","[z]" +"2024 to 2025","NICs","Employer contributions to relief at source schemes","Class 1 Secondary (employer)","Total","Total","Additional Rate","[z]" +"2024 to 2025","NICs","Salary sacrificed contributions","Class 1 Secondary (employer)","Total","Total","Additional Rate","[z]" diff --git a/policyengine_uk_data/targets/build_loss_matrix.py b/policyengine_uk_data/targets/build_loss_matrix.py index 9552aeea2..0c374dbf8 100644 --- a/policyengine_uk_data/targets/build_loss_matrix.py +++ b/policyengine_uk_data/targets/build_loss_matrix.py @@ -386,9 +386,7 @@ def _compute_column(target: Target, ctx: _SimContext, year: int) -> np.ndarray | # Salary sacrifice NI relief if name in ( "hmrc/salary_sacrifice_employee_nics_relief", - "obr/salary_sacrifice_employee_ni_relief", "hmrc/salary_sacrifice_employer_nics_relief", - "obr/salary_sacrifice_employer_ni_relief", ): return compute_ss_ni_relief(target, ctx) diff --git a/policyengine_uk_data/targets/compute/income.py b/policyengine_uk_data/targets/compute/income.py index f5be3e2bb..d96c9234e 100644 --- a/policyengine_uk_data/targets/compute/income.py +++ b/policyengine_uk_data/targets/compute/income.py @@ -20,34 +20,66 @@ def compute_income_band(target, ctx) -> np.ndarray: return ctx.household_from_person(income_df[variable] * in_band) -def compute_ss_it_relief(target, ctx) -> np.ndarray: - """Compute salary sacrifice IT relief by tax band.""" - it_base = ctx.sim.calculate("income_tax") - it_cf = ctx.counterfactual_sim.calculate("income_tax", ctx.time_period) - it_relief = it_cf - it_base - - adj_net_income_cf = ctx.counterfactual_sim.calculate( - "adjusted_net_income", ctx.time_period - ) +# Income tax on earned income in each rUK band (rates.uk thresholds on +# earned_taxable_income), keyed by the band word in the target name. Scottish +# taxpayers are split on the same rUK boundaries, an approximation: HMRC +# groups their relief by Scottish marginal rate (starter and intermediate +# with basic), and the Scottish band thresholds differ from the rUK ones. +_BAND_TAX_VARIABLES = { + "basic": "basic_rate_earned_income_tax", + "higher": "higher_rate_earned_income_tax", + "additional": "add_rate_earned_income_tax", +} + + +def split_relief_by_band( + relief: np.ndarray, band_tax_cf: dict, band_tax_base: dict +) -> dict: + """Share each person's income tax relief across the bands it is given in. + + HMRC's Table 6.1 models contributions that straddle bands ("not all be + relievable at the same rate"; private pension statistics, background and + methodology), so a person's relief is split in proportion to the fall in + their earned-income tax within each band. Relief with no fall in any + earned band (it comes through savings or dividend bands) counts as basic + rate. The shares sum to one, so the bands add up to ``relief``. + """ + drops = { + band: np.maximum(np.asarray(band_tax_cf[band]) - band_tax_base[band], 0) + for band in _BAND_TAX_VARIABLES + } + total = sum(drops.values()) + has_drop = total > 0 + safe_total = np.where(has_drop, total, 1) + relief = np.asarray(relief) + return { + band: relief + * np.where(has_drop, drop / safe_total, 1.0 if band == "basic" else 0.0) + for band, drop in drops.items() + } - params = ctx.sim.tax_benefit_system.parameters.gov.hmrc.income_tax.rates.uk - basic_thresh = params[0].threshold(ctx.time_period) - higher_thresh = params[1].threshold(ctx.time_period) - additional_thresh = params[2].threshold(ctx.time_period) - name = target.name - if "basic" in name: - mask = (adj_net_income_cf > basic_thresh) & (adj_net_income_cf <= higher_thresh) - elif "higher" in name: - mask = (adj_net_income_cf > higher_thresh) & ( - adj_net_income_cf <= additional_thresh - ) - elif "additional" in name: - mask = adj_net_income_cf > additional_thresh - else: - mask = np.ones_like(it_relief, dtype=bool) - - return ctx.household_from_person(it_relief * mask) +def compute_ss_it_relief(target, ctx) -> np.ndarray: + """Compute salary sacrifice IT relief, in total or for one rate band.""" + period = ctx.time_period + cf, base = ctx.counterfactual_sim, ctx.sim + relief = np.asarray(cf.calculate("income_tax", period)) - np.asarray( + base.calculate("income_tax", period) + ) + band = next((b for b in _BAND_TAX_VARIABLES if b in target.name), None) + if band is not None: + relief = split_relief_by_band( + relief, + { + b: np.asarray(cf.calculate(v, period)) + for b, v in _BAND_TAX_VARIABLES.items() + }, + { + b: np.asarray(base.calculate(v, period)) + for b, v in _BAND_TAX_VARIABLES.items() + }, + )[band] + return ctx.household_from_person(relief) def compute_ss_contributions(target, ctx) -> np.ndarray: diff --git a/policyengine_uk_data/targets/sources.yaml b/policyengine_uk_data/targets/sources.yaml index 5d1cd89ba..973e39567 100644 --- a/policyengine_uk_data/targets/sources.yaml +++ b/policyengine_uk_data/targets/sources.yaml @@ -11,7 +11,9 @@ hmrc: spi_geography: "https://assets.publishing.service.gov.uk/media/69f1f17cc42061e837e3ac3b/Collated_Tables_3_12_to_3_15a_2324.ods" income_tax_liabilities: "https://www.gov.uk/government/statistics/income-tax-liabilities-statistics-tax-year-2022-to-2023-to-tax-year-2025-to-2026" capital_gains_statistics: "https://www.gov.uk/government/statistics/capital-gains-tax-statistics" - salary_sacrifice_table_6: "https://assets.publishing.service.gov.uk/media/687a294e312ee8a5f0806b6d/Tables_6_1_and_6_2.csv" + # Private pension statistics, July 2026 (tax year 2024-25). Refresh with + # storage/hmrc_pension_relief_tables_6_1_6_2_*.csv (hmrc_salary_sacrifice.py). + salary_sacrifice_table_6: "https://assets.publishing.service.gov.uk/media/6a673e0e5e87122783093901/Tables_6_1_and_6_2.csv" dwp: stat_xplore_api: "https://stat-xplore.dwp.gov.uk/webapi/rest/v1" diff --git a/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py b/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py index f9865e6f7..828d48688 100644 --- a/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py +++ b/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py @@ -1,13 +1,23 @@ """HMRC salary sacrifice income tax and NICs relief targets. -Downloads Table 6.2 CSV from HMRC to get salary sacrifice IT relief -by tax rate band and NICs relief (employee + employer). - -Source: https://assets.publishing.service.gov.uk/media/687a294e312ee8a5f0806b6d/Tables_6_1_and_6_2.csv +Reads HMRC private pension statistics Tables 6.1 and 6.2 (tidy CSV): income +tax relief on salary-sacrificed pension contributions by marginal rate, and +the Class 1 primary (employee) and secondary (employer) NICs relief on them. + +GOV.UK withdraws a release's assets when HMRC publishes the next one: the +July 2025 CSV has returned 410 Gone since the July 2026 release, and the +broad ``except`` this module used to have turned that into calibration +builds that silently lacked these targets. A failed download now falls back +to the copy committed in storage (the same release as ``sources.yaml``), and +a table that no longer has the expected rows raises instead of returning +fewer targets. + +Source: https://www.gov.uk/government/statistics/personal-and-stakeholder-pensions-statistics """ import io import logging +import re import pandas as pd import requests @@ -15,110 +25,135 @@ from policyengine_uk_data.targets.schema import Target, Unit from policyengine_uk_data.targets.sources._common import ( HEADERS, + STORAGE, load_config, to_float, ) logger = logging.getLogger(__name__) +# Tables 6.1 and 6.2 from the July 2026 release (tax year 2024-25), as +# downloaded from the sources.yaml URL. Replace both together. +FALLBACK_CSV = STORAGE / "hmrc_pension_relief_tables_6_1_6_2_2024_25.csv" + # Uprate 3% pa for wage growth from the base year _GROWTH = 1.03 -_BASE_YEAR = 2024 # 2023-24 tax year → calendar 2024 +_LAST_YEAR = 2031 + +# Table 6.1 rate rows → target name suffix. HMRC counts Scottish starter +# and intermediate rate relief as basic rate. +_IT_RATES = { + "Basic Rate": "basic_rate", + "Higher Rate": "higher_rate", + "Additional Rate": "additional_rate", + "Total": "total", +} +# Table 6.2 NICs classes → (target name, PolicyEngine variable) +_NICS_CLASSES = { + "Class 1 Primary (employee)": ( + "hmrc/salary_sacrifice_employee_nics_relief", + "ni_employee", + ), + "Class 1 Secondary (employer)": ( + "hmrc/salary_sacrifice_employer_nics_relief", + "ni_employer", + ), +} + +# Total salary sacrifice contributions (SPP Review 2025: £24bn base) +_SS_CONTRIBUTIONS_BASE_YEAR = 2024 + + +def _read_table(url: str) -> pd.DataFrame: + try: + r = requests.get(url, headers=HEADERS, allow_redirects=True, timeout=30) + r.raise_for_status() + text = r.content.decode("utf-8-sig") + except requests.RequestException as e: + logger.warning( + "HMRC Tables 6.1 and 6.2 download failed (%s); using %s", + e, + FALLBACK_CSV.name, + ) + text = FALLBACK_CSV.read_text(encoding="utf-8-sig") + return pd.read_csv(io.StringIO(text), dtype=str) + + +def _base_year(df: pd.DataFrame) -> int: + """Map the table's tax year to a PolicyEngine year. + + PolicyEngine UK's year N is tax year N to N+1 (a year-N simulation reads + the parameter values in force from 6 April N), so "2024 to 2025" is 2024. + """ + years = df["tax_year"].unique() + match = re.fullmatch(r"(\d{4}) to (\d{4})", years[0]) if len(years) == 1 else None + if match is None or int(match[2]) != int(match[1]) + 1: + raise ValueError(f"Expected one tax year in Tables 6.1/6.2, got {years}") + return int(match[1]) + + +def _relief(rows: pd.DataFrame, column: str, label: str) -> float: + """The single positive £m value in ``rows`` whose ``column`` is ``label``.""" + values = rows.loc[rows[column] == label, "value_of_relief"].map(to_float) + if len(values) != 1 or values.iloc[0] <= 0: + raise ValueError( + f"HMRC salary sacrifice relief: expected one positive value for " + f"{label!r}, got {values.tolist()}" + ) + return values.iloc[0] * 1e6 + + +def _relief_targets(df: pd.DataFrame, reference_url: str) -> list[Target]: + base_year = _base_year(df) + ss = df[ + (df["contribution_type"] == "Salary sacrificed contributions") + & (df["sector_scheme"] == "Total") + & (df["scheme_type"] == "Total") + ] + income_tax = ss[ss["income_tax_nics"] == "Income Tax"] + nics = ss[(ss["income_tax_nics"] == "NICs") & (ss["tax_rate"] == "Total")] + + specs = [ + ( + f"hmrc/salary_sacrifice_it_relief_{suffix}", + "income_tax", + _relief(income_tax, "tax_rate", rate), + ) + for rate, suffix in _IT_RATES.items() + ] + [ + (name, variable, _relief(nics, "nics_relief_class", nics_class)) + for nics_class, (name, variable) in _NICS_CLASSES.items() + ] + return [ + Target( + name=name, + variable=variable, + source="hmrc", + unit=Unit.GBP, + values={ + y: base * _GROWTH ** (y - base_year) + for y in range(base_year, _LAST_YEAR + 1) + }, + reference_url=reference_url, + ) + for name, variable, base in specs + ] def get_targets() -> list[Target]: - config = load_config() - ref = config["hmrc"]["salary_sacrifice_table_6"] - targets = [] + ref = load_config()["hmrc"]["salary_sacrifice_table_6"] + targets = _relief_targets(_read_table(ref), ref) - try: - r = requests.get(ref, headers=HEADERS, allow_redirects=True, timeout=30) - r.raise_for_status() - df = pd.read_csv(io.StringIO(r.content.decode("utf-8-sig"))) - - ss = df[df["contribution_type"] == "Salary sacrificed contributions"] - - # IT relief by tax band - ss_it = ss[ - (ss["income_tax_nics"] == "Income Tax") - & (ss["sector_scheme"] == "Total") - & (ss["scheme_type"] == "Total") - ] - for _, row in ss_it.iterrows(): - rate = row["tax_rate"] - val = to_float(row["value_of_relief"]) - if val <= 0: - continue - rate_key = rate.lower().replace(" ", "_") - base = val * 1e6 - targets.append( - Target( - name=f"hmrc/salary_sacrifice_it_relief_{rate_key}", - variable="income_tax", - source="hmrc", - unit=Unit.GBP, - values={ - y: base * _GROWTH ** max(0, y - _BASE_YEAR) - for y in range(_BASE_YEAR, 2032) - }, - reference_url=ref, - ) - ) - - # NICs relief (employee + employer) - ss_nics = ss[ - (ss["income_tax_nics"] == "NICs") - & (ss["sector_scheme"] == "Total") - & (ss["scheme_type"] == "Total") - ] - for _, row in ss_nics.iterrows(): - nics_class = row["nics_relief_class"] - val = to_float(row["value_of_relief"]) - if val <= 0: - continue - if "employee" in str(nics_class).lower(): - name = "hmrc/salary_sacrifice_employee_nics_relief" - variable = "ni_employee" - elif "employer" in str(nics_class).lower(): - name = "hmrc/salary_sacrifice_employer_nics_relief" - variable = "ni_employer" - else: - continue - - # Only take the first (Total scheme) row for each class - existing = {t.name for t in targets} - if name in existing: - continue - - base = val * 1e6 - targets.append( - Target( - name=name, - variable=variable, - source="hmrc", - unit=Unit.GBP, - values={ - y: base * _GROWTH ** max(0, y - _BASE_YEAR) - for y in range(_BASE_YEAR, 2032) - }, - reference_url=ref, - ) - ) - - except Exception as e: - logger.error("Failed to download/parse HMRC salary sacrifice CSV: %s", e) - - # Total salary sacrifice contributions (SPP Review 2025: £24bn base) - _SS_CONTRIBUTIONS = { - y: 24e9 * _GROWTH ** max(0, y - _BASE_YEAR) for y in range(_BASE_YEAR, 2030) - } targets.append( Target( name="hmrc/salary_sacrifice_contributions", variable="pension_contributions_via_salary_sacrifice", source="hmrc", unit=Unit.GBP, - values=_SS_CONTRIBUTIONS, + values={ + y: 24e9 * _GROWTH ** (y - _SS_CONTRIBUTIONS_BASE_YEAR) + for y in range(_SS_CONTRIBUTIONS_BASE_YEAR, 2030) + }, reference_url=( "https://assets.publishing.service.gov.uk/media/" "67ce0e7c08e764d17a5d3c21/2025_SPP_Review.pdf" diff --git a/policyengine_uk_data/targets/sources/obr.py b/policyengine_uk_data/targets/sources/obr.py index ad4e3cf17..82909c0ca 100644 --- a/policyengine_uk_data/targets/sources/obr.py +++ b/policyengine_uk_data/targets/sources/obr.py @@ -617,9 +617,7 @@ def _parse_tv_licence(wb: openpyxl.Workbook) -> list[Target]: # ISC census: private school students (roughly constant at ~557k) _PRIVATE_SCHOOL = {y: 557_000 for y in range(2018, 2032)} -# SPP Review: salary sacrifice NI relief (uprated 3% pa from 2024 base) -_SS_EMPLOYEE_NI = {y: 1.2e9 * 1.03 ** max(0, y - 2024) for y in range(2024, 2032)} -_SS_EMPLOYER_NI = {y: 2.9e9 * 1.03 ** max(0, y - 2024) for y in range(2024, 2032)} +# Salary sacrifice NICs relief comes from HMRC Table 6.2 (hmrc_salary_sacrifice.py). # Salary sacrifice headcount: 7.7m total (3.3m above £2k, 4.3m below) # OBR para 1.7: SS population grows 0.9% faster than employees (~2.4%/yr) @@ -666,26 +664,6 @@ def get_targets() -> list[Target]: reference_url="https://www.isc.co.uk/research/annual-census/", ) ) - targets.append( - Target( - name="obr/salary_sacrifice_employee_ni_relief", - variable="ni_employee", - source="obr", - unit=Unit.GBP, - values=_SS_EMPLOYEE_NI, - reference_url="https://assets.publishing.service.gov.uk/media/67ce0e7c08e764d17a5d3c21/2025_SPP_Review.pdf", - ) - ) - targets.append( - Target( - name="obr/salary_sacrifice_employer_ni_relief", - variable="ni_employer", - source="obr", - unit=Unit.GBP, - values=_SS_EMPLOYER_NI, - reference_url="https://assets.publishing.service.gov.uk/media/67ce0e7c08e764d17a5d3c21/2025_SPP_Review.pdf", - ) - ) # Salary sacrifice headcount targets _SS_REF = ( diff --git a/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py b/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py new file mode 100644 index 000000000..801e86a9f --- /dev/null +++ b/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py @@ -0,0 +1,178 @@ +"""Tests for the HMRC salary sacrifice relief targets (Tables 6.1 and 6.2). + +The July 2025 CSV returned 410 Gone once HMRC published the July 2026 +release, and the source module logged the error and returned without the +relief targets, so builds calibrated without them. These tests pin: the +committed table parses to every relief target, a failed download uses it, a +changed table raises, and the rate-band columns split relief the way HMRC +does (across the bands a contribution straddles). +""" + +from unittest.mock import patch + +import numpy as np +import pandas as pd +import pytest +import requests + +from policyengine_uk_data.targets.compute.income import ( + compute_ss_it_relief, + split_relief_by_band, +) +from policyengine_uk_data.targets.schema import Target, Unit +from policyengine_uk_data.targets.sources import hmrc_salary_sacrifice as hmrc_ss + +# Tables 6.1 and 6.2, tax year 2024-25 (£m), from the committed CSV. +RELIEF_2024_25 = { + "hmrc/salary_sacrifice_it_relief_total": 8_800, + "hmrc/salary_sacrifice_it_relief_basic_rate": 1_600, + "hmrc/salary_sacrifice_it_relief_higher_rate": 5_500, + "hmrc/salary_sacrifice_it_relief_additional_rate": 1_800, + "hmrc/salary_sacrifice_employee_nics_relief": 1_000, + "hmrc/salary_sacrifice_employer_nics_relief": 3_400, +} + + +def _committed_table() -> pd.DataFrame: + return pd.read_csv(hmrc_ss.FALLBACK_CSV, dtype=str, encoding="utf-8-sig") + + +def test_committed_table_gives_every_relief_target(): + targets = {t.name: t for t in hmrc_ss._relief_targets(_committed_table(), "x")} + assert set(targets) == set(RELIEF_2024_25) + for name, millions in RELIEF_2024_25.items(): + values = targets[name].values + # Tax year 2024-25 is PolicyEngine year 2024. + assert min(values) == 2024 + assert values[2024] == pytest.approx(millions * 1e6) + assert values[2025] == pytest.approx(millions * 1e6 * 1.03) + assert targets["hmrc/salary_sacrifice_employee_nics_relief"].variable == ( + "ni_employee" + ) + assert targets["hmrc/salary_sacrifice_employer_nics_relief"].variable == ( + "ni_employer" + ) + + +def _gone(*args, **kwargs): + response = requests.Response() + response.status_code = 410 + response.url = args[0] + return response + + +def _offline(*args, **kwargs): + raise requests.ConnectionError("offline") + + +@pytest.mark.parametrize("get", [_gone, _offline], ids=["410", "offline"]) +def test_failed_download_uses_committed_table(get): + with patch.object(hmrc_ss.requests, "get", side_effect=get): + names = {t.name for t in hmrc_ss.get_targets()} + assert set(RELIEF_2024_25) <= names + assert "hmrc/salary_sacrifice_contributions" in names + + +@pytest.mark.parametrize( + "change", + [ + lambda df: df[df["tax_rate"] != "Higher Rate"], + lambda df: df[df["nics_relief_class"] != "Class 1 Secondary (employer)"], + lambda df: pd.concat( + [df.iloc[:-1], df.iloc[-1:].assign(tax_year="2025 to 2026")] + ), + lambda df: df.assign(tax_year="2024 to 2026"), + lambda df: df.drop(columns="sector_scheme"), + ], + ids=["no-higher-rate", "no-employer-nics", "two-years", "bad-year", "no-column"], +) +def test_changed_table_raises(change): + with pytest.raises((ValueError, KeyError)): + hmrc_ss._relief_targets(change(_committed_table()), "x") + + +BANDS = ("basic", "higher", "additional") + + +def test_split_straddling_relief(): + # £4k sacrificed from £52k pay (2025-26 rUK): earned taxable income falls + # from £39,430 to £35,430, so £1,730 leaves the higher band and £2,270 + # the basic band. + split = split_relief_by_band( + np.array([1_146.0]), + {"basic": [7_540.0], "higher": [692.0], "additional": [0.0]}, + {"basic": [7_086.0], "higher": [0.0], "additional": [0.0]}, + ) + assert split["basic"] == pytest.approx([454.0]) + assert split["higher"] == pytest.approx([692.0]) + assert split["additional"] == pytest.approx([0.0]) + + +def test_split_invariants_on_random_inputs(): + """Bands add up to the relief, keep its sign, and default to basic rate.""" + rng = np.random.default_rng(0) + n = 5_000 + relief = rng.normal(500, 1_000, n) * rng.integers(0, 2, n) + base = {b: rng.uniform(0, 20_000, n) * rng.integers(0, 2, n) for b in BANDS} + # A smaller sacrifice never raises band tax; some people see no change. + cf = {b: base[b] + rng.uniform(0, 3_000, n) * rng.integers(0, 2, n) for b in BANDS} + split = split_relief_by_band(relief, cf, base) + + np.testing.assert_allclose(sum(split.values()), relief, rtol=1e-12, atol=1e-9) + for band in BANDS: + assert np.all(split[band] * np.sign(relief) >= -1e-9) + no_drop = sum(cf[b] - base[b] for b in BANDS) == 0 + assert no_drop.any() + np.testing.assert_array_equal(split["basic"][no_drop], relief[no_drop]) + + +class _Ctx: + """The parts of build_loss_matrix._SimContext the compute function reads.""" + + time_period = 2025 + + def __init__(self, base_pay, sacrifice): + from policyengine_uk import Simulation + + def sim(pay): + return Simulation( + situation={ + "people": { + "a": {"age": {2025: 40}, "employment_income": {2025: pay}} + }, + "benunits": {"b": {"members": ["a"]}}, + "households": {"h": {"members": ["a"]}}, + } + ) + + # The counterfactual adds the sacrifice back to pay, as + # _SimContext.counterfactual_sim does. + self.sim = sim(base_pay) + self.counterfactual_sim = sim(base_pay + sacrifice) + + @staticmethod + def household_from_person(values): + return np.asarray(values) + + +def _relief(ctx, suffix): + target = Target( + name=f"hmrc/salary_sacrifice_it_relief_{suffix}", + variable="income_tax", + source="hmrc", + unit=Unit.GBP, + values={2025: 1.0}, + ) + return float(compute_ss_it_relief(target, ctx)[0]) + + +def test_compute_splits_relief_for_a_basic_rate_taxpayer_near_the_threshold(): + """Pay of £48k after a £4k sacrifice: 40% relief only above £50,270.""" + ctx = _Ctx(base_pay=48_000, sacrifice=4_000) + by_band = { + s: _relief(ctx, s) for s in ("basic_rate", "higher_rate", "additional_rate") + } + assert _relief(ctx, "total") == pytest.approx(1_146) + assert by_band == pytest.approx( + {"basic_rate": 454, "higher_rate": 692, "additional_rate": 0} + ) diff --git a/policyengine_uk_data/tests/test_target_registry.py b/policyengine_uk_data/tests/test_target_registry.py index 22cf7b2d0..59d0b09f5 100644 --- a/policyengine_uk_data/tests/test_target_registry.py +++ b/policyengine_uk_data/tests/test_target_registry.py @@ -81,6 +81,25 @@ def pe_count(variable): assert _compute_column(target, DummyCtx(), 2025) == [1, 0, 1] +def test_hmrc_salary_sacrifice_relief_targets(): + """HMRC Table 6.1/6.2 relief targets reach the registry (uk-data: 410 Gone + on the old CSV dropped them from every build without failing it).""" + targets = {t.name: t for t in get_all_targets(year=2025)} + for name in ( + "hmrc/salary_sacrifice_it_relief_total", + "hmrc/salary_sacrifice_it_relief_basic_rate", + "hmrc/salary_sacrifice_it_relief_higher_rate", + "hmrc/salary_sacrifice_it_relief_additional_rate", + "hmrc/salary_sacrifice_employee_nics_relief", + "hmrc/salary_sacrifice_employer_nics_relief", + ): + assert name in targets, f"{name} missing from the target registry" + # One NICs relief target per class: the OBR-labelled copies of the + # 2023-24 figures are gone. + assert "obr/salary_sacrifice_employee_ni_relief" not in targets + assert "obr/salary_sacrifice_employer_ni_relief" not in targets + + def test_voa_council_tax_targets(): """VOA council tax band targets should exist.""" targets = get_all_targets(year=2025) From dfe8dcaa175cd7df576c08bca1fc483ba016439b Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 3 Oct 2026 17:22:26 -0400 Subject: [PATCH 44/70] Use TOTCAPB4, model-derived uprating rows and core 3.32.13 (review of #513) - TOTCAPB4 (DWP's below-average-resources measure since 2019/20) in place of TOTCAPB3, which stays as the fallback for earlier survey years. On #510 build D plus the column: the same 87.7k non-entitled reporters as with TOTCAPB3, GB entitled units 2,080.7k vs 2,083.5k, gate claims 1,290.0k vs 1,291.8k. The docstring now calls it an approximation (financial assets only; no Sch V disregard or reg 19 valuation). - uprating_factors.csv and uprating_growth_factors.csv rows recomputed from policyengine-uk 2.107.0's per-capita GDP index (2024 1.204, 2025 1.256), not copied from the stale savings row, so calibration and runtime grow the capital alike; the test now checks the rows against the model. - policyengine-core 3.32.13 in uv.lock (3.32.12 leaks memory per simulation). Co-Authored-By: Claude Opus 5.5 --- .../frs-pc-reported-capital.changed.md | 2 +- policyengine_uk_data/datasets/frs.py | 42 +++++++------ .../storage/uprating_factors.csv | 2 +- .../storage/uprating_growth_factors.csv | 2 +- .../test_pension_credit_reported_capital.py | 59 ++++++++++++++----- uv.lock | 6 +- 6 files changed, 73 insertions(+), 40 deletions(-) diff --git a/changelog.d/frs-pc-reported-capital.changed.md b/changelog.d/frs-pc-reported-capital.changed.md index 7986dc739..d6433759f 100644 --- a/changelog.d/frs-pc-reported-capital.changed.md +++ b/changelog.d/frs-pc-reported-capital.changed.md @@ -1 +1 @@ -Carry each benefit unit's FRS total capital (TOTCAPB3) into policyengine-uk's `pension_credit_reported_capital`, so Pension Credit's capital test uses the survey's own benefit-unit capital instead of imputed household wealth. +Carry each benefit unit's FRS total capital (TOTCAPB4, DWP's current benefit-unit savings and investments measure; TOTCAPB3 for earlier survey years) into policyengine-uk's `pension_credit_reported_capital`, so Pension Credit's capital test uses the survey's own benefit-unit capital instead of imputed household wealth. diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index 5cdb760c0..4f69a1262 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -573,25 +573,31 @@ def validate_frs_survey_year(raw_frs_folder, year: int) -> None: def derive_pension_credit_reported_capital(benunit: pd.DataFrame) -> np.ndarray: """Each benefit unit's capital as the FRS records it, for Pension Credit. - ``TOTCAPB3`` is DWP's derived benefit-unit total of the adults' savings and - investments (current, savings and NS&I accounts, gilts, unit and investment - trusts, shares and bonds, ISAs, credit unions), the measure its FRS-based - National Statistics use. Pension Credit counts the claimant's capital and, - under the State Pension Credit Act 2002 s. 5, the partner's, which is what - this records. The household wealth imputation instead draws a household's - wealth from Wealth and Assets Survey households with similar income, - composition, tenure and region, with no information on means-tested - receipt, and policyengine-uk spreads it over the household's pension-age - adults. - - ``TOTCAPB3`` covers financial assets only: second homes and land, which - Pension Credit also counts, are not in it. A missing or negative value gives - -1, so policyengine-uk falls back to the household proxy. + Uses ``TOTCAPB4``, DWP's derived benefit-unit total of the adults' savings + and investments, which its below-average-resources statistics use in place + of ``TOTCAPB3`` since it became available in 2019/20; ``TOTCAPB3`` is the + fallback for earlier survey years. Pension Credit counts the claimant's + capital and, under the State Pension Credit Act 2002 s. 5, the partner's, + and this is a benefit-unit measure. It is an approximation of Pension + Credit capital, not the assessed figure: it covers financial assets only + (second homes and land, which Pension Credit also counts, are not in it), + and no Schedule V disregard or reg. 19 valuation is applied to it. The + household wealth imputation instead draws a household's wealth from Wealth + and Assets Survey households with similar income, composition, tenure and + region, with no information on means-tested receipt, and policyengine-uk + spreads it over the household's pension-age adults. + + A missing or negative value gives -1, so policyengine-uk falls back to the + household proxy. """ - if "totcapb3" not in benunit.columns: - return np.full(len(benunit), -1.0) - capital = pd.to_numeric(benunit["totcapb3"], errors="coerce").to_numpy(dtype=float) - return np.where(np.isfinite(capital) & (capital >= 0), capital, -1.0) + capital = pd.Series(np.nan, index=benunit.index, dtype=float) + for column in ("totcapb3", "totcapb4"): # later columns take precedence + if column in benunit.columns: + values = pd.to_numeric(benunit[column], errors="coerce") + valid = np.isfinite(values) & (values >= 0) + capital = capital.where(~valid, values) + values = capital.to_numpy(dtype=float) + return np.where(np.isfinite(values) & (values >= 0), values, -1.0) def create_frs( diff --git a/policyengine_uk_data/storage/uprating_factors.csv b/policyengine_uk_data/storage/uprating_factors.csv index 8453aaa97..149ef19ff 100644 --- a/policyengine_uk_data/storage/uprating_factors.csv +++ b/policyengine_uk_data/storage/uprating_factors.csv @@ -54,7 +54,7 @@ other_investment_income,1.0,1.0,1.092,1.147,1.19,1.223,1.258,1.297,1.34,1.384,1. other_residential_property_value,1.0,1.0,1.092,1.147,1.19,1.223,1.258,1.297,1.34,1.384,1.384,1.384,1.384,1.384,1.384 owned_land,1.0,1.0,1.092,1.147,1.19,1.223,1.258,1.297,1.34,1.384,1.384,1.384,1.384,1.384,1.384 pension_credit_reported,1.0,1.04,1.144,1.209,1.237,1.277,1.301,1.327,1.353,1.38,1.38,1.38,1.38,1.38,1.38 -pension_credit_reported_capital,1.0,1.0,1.092,1.147,1.19,1.223,1.258,1.297,1.34,1.384,1.384,1.384,1.384,1.384,1.384 +pension_credit_reported_capital,1.0,1.0,1.102,1.161,1.204,1.256,1.293,1.335,1.376,1.417,1.462,1.508,1.555,1.604,1.655 pension_income,1.0,1.0,1.092,1.147,1.19,1.223,1.258,1.297,1.34,1.384,1.384,1.384,1.384,1.384,1.384 personal_pension_contributions,1.0,1.059,1.127,1.205,1.261,1.308,1.337,1.365,1.396,1.431,1.431,1.431,1.431,1.431,1.431 petrol_spending,1.0,1.104,1.635,1.796,1.531,1.483,1.452,1.406,1.363,1.305,1.237,1.237,1.237,1.237,1.237 diff --git a/policyengine_uk_data/storage/uprating_growth_factors.csv b/policyengine_uk_data/storage/uprating_growth_factors.csv index 6722cb582..956f740d7 100644 --- a/policyengine_uk_data/storage/uprating_growth_factors.csv +++ b/policyengine_uk_data/storage/uprating_growth_factors.csv @@ -54,7 +54,7 @@ other_investment_income,0,0.0,0.092,0.05,0.037,0.028,0.029,0.031,0.033,0.033,0.0 other_residential_property_value,0,0.0,0.092,0.05,0.037,0.028,0.029,0.031,0.033,0.033,0.0,0.0,0.0,0.0,0.0 owned_land,0,0.0,0.092,0.05,0.037,0.028,0.029,0.031,0.033,0.033,0.0,0.0,0.0,0.0,0.0 pension_credit_reported,0,0.04,0.1,0.057,0.023,0.032,0.019,0.02,0.02,0.02,0.0,0.0,0.0,0.0,0.0 -pension_credit_reported_capital,0,0.0,0.092,0.05,0.037,0.028,0.029,0.031,0.033,0.033,0.0,0.0,0.0,0.0,0.0 +pension_credit_reported_capital,0,0.0,0.102,0.054,0.037,0.043,0.029,0.032,0.031,0.03,0.032,0.031,0.031,0.032,0.032 pension_income,0,0.0,0.092,0.05,0.037,0.028,0.029,0.031,0.033,0.033,0.0,0.0,0.0,0.0,0.0 personal_pension_contributions,0,0.059,0.064,0.069,0.046,0.037,0.022,0.021,0.023,0.025,0.0,0.0,0.0,0.0,0.0 petrol_spending,0,0.104,0.481,0.099,-0.147,-0.031,-0.021,-0.032,-0.031,-0.043,-0.052,0.0,0.0,0.0,0.0 diff --git a/policyengine_uk_data/tests/test_pension_credit_reported_capital.py b/policyengine_uk_data/tests/test_pension_credit_reported_capital.py index 0081769bb..2e93839de 100644 --- a/policyengine_uk_data/tests/test_pension_credit_reported_capital.py +++ b/policyengine_uk_data/tests/test_pension_credit_reported_capital.py @@ -1,11 +1,13 @@ """`pension_credit_reported_capital` from the FRS benefit-unit capital -measure (TOTCAPB3). +measure (TOTCAPB4, falling back to TOTCAPB3). Invariants: -1. A finite, non-negative TOTCAPB3 is carried over unchanged. -2. A missing, non-numeric or negative value gives -1 (policyengine-uk's - "none recorded" sentinel), so the household proxy applies. -3. Without a TOTCAPB3 column every benefit unit gets -1. +1. A finite, non-negative TOTCAPB4 is carried over unchanged; where TOTCAPB4 + is absent or invalid, a valid TOTCAPB3 is used. +2. A missing, non-numeric or negative value in both gives -1 + (policyengine-uk's "none recorded" sentinel), so the household proxy + applies. +3. Without either column every benefit unit gets -1. 4. The output is always -1 or a non-negative number, one per benefit unit. """ @@ -23,6 +25,17 @@ def test_values_carry_over_and_invalid_values_fall_back(): assert result.tolist() == [0.0, 300.0, 2_900.0, 1_250_000.0, -1.0, -1.0, -1.0] +def test_totcapb4_takes_precedence_with_totcapb3_fallback(): + benunit = pd.DataFrame( + { + "totcapb3": [100.0, 200.0, 300.0, np.nan, -1.0], + "totcapb4": [150.0, np.nan, -5.0, 400.0, np.nan], + } + ) + result = derive_pension_credit_reported_capital(benunit) + assert result.tolist() == [150.0, 200.0, 300.0, 400.0, -1.0] + + def test_missing_column_gives_sentinel(): benunit = pd.DataFrame({"benunit_id": [101, 102, 201]}) assert derive_pension_credit_reported_capital(benunit).tolist() == [-1.0] * 3 @@ -35,7 +48,7 @@ def test_output_is_sentinel_or_non_negative_for_random_inputs(): values = rng.normal(5_000, 20_000, n) values[rng.random(n) < 0.1] = np.nan result = derive_pension_credit_reported_capital( - pd.DataFrame({"totcapb3": values}) + pd.DataFrame({"totcapb4": values}) ) assert len(result) == n assert np.all((result == -1) | (result >= 0)) @@ -44,18 +57,32 @@ def test_output_is_sentinel_or_non_negative_for_random_inputs(): assert np.all(result[~keep] == -1) -def test_uprating_rows_match_savings(): - """The column grows with ``savings`` (policyengine-uk uprates it with the - same per-capita GDP index), so the build's uprating keeps them in step.""" - from policyengine_uk_data.storage import STORAGE_FOLDER +def test_uprating_rows_match_the_model(): + """The build uprates the column with these rows (calibration materialises + the calibration year from them), and policyengine-uk projects the saved + dataset with the variable's own uprating index at runtime. The rows must + equal what ``create_policyengine_uprating_factors_table`` derives from the + locked policyengine-uk, or a unit near the 10,000 pound deemed-income + disregard can be assessed differently in calibration and at runtime.""" + from policyengine_uk.system import system - for name in ["uprating_factors.csv", "uprating_growth_factors.csv"]: - table = pd.read_csv(STORAGE_FOLDER / name).set_index("Variable") - pd.testing.assert_series_equal( - table.loc["pension_credit_reported_capital"], - table.loc["savings"], - check_names=False, + from policyengine_uk_data.storage import STORAGE_FOLDER + from policyengine_uk_data.utils.uprating import END_YEAR, START_YEAR + + variable = system.variables["pension_credit_reported_capital"] + index = system.parameters.get_child(variable.uprating) + years = range(START_YEAR, END_YEAR + 1) + expected = {y: round(index(y) / index(START_YEAR), 3) for y in years} + factors = pd.read_csv(STORAGE_FOLDER / "uprating_factors.csv").set_index("Variable") + growth = pd.read_csv(STORAGE_FOLDER / "uprating_growth_factors.csv").set_index( + "Variable" + ) + for y in years: + assert factors.loc["pension_credit_reported_capital", str(y)] == expected[y] + expected_growth = ( + 0 if y == START_YEAR else round(expected[y] / expected[y - 1] - 1, 3) ) + assert growth.loc["pension_credit_reported_capital", str(y)] == expected_growth def test_spi_copy_records_no_capital(): diff --git a/uv.lock b/uv.lock index ab6e353ec..b0b2249b7 100644 --- a/uv.lock +++ b/uv.lock @@ -1322,7 +1322,7 @@ wheels = [ [[package]] name = "policyengine-core" -version = "3.32.12" +version = "3.32.13" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "dpath" }, @@ -1342,9 +1342,9 @@ dependencies = [ { name = "standard-imghdr" }, { name = "wheel" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e3/cd/2e9c7e4a0c4395a0d556cebde1fa92b94c4c2c594815938e5bfd052b3b47/policyengine_core-3.32.12.tar.gz", hash = "sha256:1d163936b3e4b2704cf0fe33eee3b93832a84aa4bf027b552a745d6f6d35bad8", size = 451537, upload-time = "2026-10-02T04:58:58.42Z" } +sdist = { url = "https://files.pythonhosted.org/packages/40/0a/b6c27953e1083d3ab2c40330c49580130fff48a2fe9cbfc8d731e92882e6/policyengine_core-3.32.13.tar.gz", hash = "sha256:a870f7e212fdfa1b5fdad7df92aa2b325fd0280ede16a40aeeceea74d44fb864", size = 457899, upload-time = "2026-10-03T11:30:20.572Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/36/9e/f8f41e2f33454be51e9116c1b96db77ec9982d5d97d8691a0d8bd7b35b99/policyengine_core-3.32.12-py3-none-any.whl", hash = "sha256:44f0cdc100ff171f107671965bdbb41aa0c9965f632e400734e9eb2bf6ed80ee", size = 250582, upload-time = "2026-10-02T04:58:56.986Z" }, + { url = "https://files.pythonhosted.org/packages/d8/01/00ebf4c13152347bc5396b40e80445fa92ea96712b9ec0bfdca7c5d11413/policyengine_core-3.32.13-py3-none-any.whl", hash = "sha256:262543c3ac696207f304f55664711b72e894fbad7b566407afa9d30b16086a41", size = 251251, upload-time = "2026-10-03T11:30:19.171Z" }, ] [[package]] From 1cecceeaea9e701bb02b68207653dddae9f0bdfd Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 3 Oct 2026 18:45:24 -0400 Subject: [PATCH 45/70] Check PolicyBench couples against claimant and partner (policyengine-uk 2.107) policyengine-uk 2.107 (#1896) presumes a couple married when the dataset does not say, and its couple is the claimant and partner rather than any two adults: a member under 20 and 16+ years younger than the claimant is presumed to be their child. The family-structure test compared is_married with the adult count, which the lock bump to 2.107.0 made fail; it now compares with the claimant-and-partner count. family_type still counts is_adult, so that check is unchanged. Co-Authored-By: Claude Opus 5.5 --- .../tests/test_policybench_transfer.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/policyengine_uk_data/tests/test_policybench_transfer.py b/policyengine_uk_data/tests/test_policybench_transfer.py index 900b73d1f..9a8d587cb 100644 --- a/policyengine_uk_data/tests/test_policybench_transfer.py +++ b/policyengine_uk_data/tests/test_policybench_transfer.py @@ -205,6 +205,9 @@ def test_policybench_transfer_family_structure_matches_person_membership( person_benunit_ids = sim.calculate("person_benunit_id", map_to="person").values is_adult = sim.calculate("is_adult", map_to="person").values is_child = sim.calculate("is_child", map_to="person").values + is_claimant_or_partner = sim.calculate( + "is_claimant_or_partner", map_to="person" + ).values is_married = sim.calculate("is_married", map_to="benunit").values family_type = sim.calculate("family_type", map_to="benunit").values @@ -213,7 +216,12 @@ def test_policybench_transfer_family_structure_matches_person_membership( adults = int(is_adult[member_mask].sum()) children = int(is_child[member_mask].sum()) - assert bool(married) == (adults == 2) + # policyengine-uk (from 2.107, #1896) presumes a couple married when + # the dataset does not say, and a couple is a claimant and partner, + # not any two adults: a member under 20 and 16+ years younger than + # the claimant is presumed to be their child. + claimant_and_partner = int(is_claimant_or_partner[member_mask].sum()) + assert bool(married) == (claimant_and_partner == 2) if adults == 2 and children > 0: expected = "COUPLE_WITH_CHILDREN" From 138c72ac246315cfeaefcf0402b0be76f95c45f4 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 00:35:22 -0400 Subject: [PATCH 46/70] Address review: rate-adjust NICs targets, relieve pay at rUK or Scottish bands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Employer NICs relief targets follow the Class 1 rate in PolicyEngine's parameters (13.8% in 2024-25, 15% from April 2025), so the 2025 target is £3.81bn, not £3.50bn; employee targets weight the main and additional rates by HMRC's split (unchanged, 8% and 2%). - Income tax relief is the rise in tax on earned income, allocated to HMRC's basic/higher/additional categories under the person's rUK or Scottish rates (starter and intermediate with basic, advanced with higher, top with additional). HMRC applies income tax rates to ASHE pay; the previous measure (change in income_tax) included the High Income Child Benefit Charge and savings and dividend tax, and split Scottish relief on rUK boundaries. - Drop the IT relief total target: it is the sum of the bands, which HMRC rounds separately (£8.9bn vs £8.8bn in 2024-25). - The table's tax year must equal _TAX_YEAR, which names the committed copy, so pointing sources.yaml at a new release without refreshing the copy fails instead of giving online and offline builds different targets. - Test that every relief target produces a loss-matrix column on the built dataset (create_target_matrix skips with a warning otherwise). Co-Authored-By: Claude Opus 5.5 --- .../targets/compute/income.py | 103 +++++----- .../targets/sources/hmrc_salary_sacrifice.py | 104 ++++++++-- .../test_hmrc_salary_sacrifice_targets.py | 188 +++++++++++++----- .../tests/test_target_registry.py | 3 +- 4 files changed, 269 insertions(+), 129 deletions(-) diff --git a/policyengine_uk_data/targets/compute/income.py b/policyengine_uk_data/targets/compute/income.py index d96c9234e..19c49ac71 100644 --- a/policyengine_uk_data/targets/compute/income.py +++ b/policyengine_uk_data/targets/compute/income.py @@ -20,66 +20,59 @@ def compute_income_band(target, ctx) -> np.ndarray: return ctx.household_from_person(income_df[variable] * in_band) -# Income tax on earned income in each rUK band (rates.uk thresholds on -# earned_taxable_income), keyed by the band word in the target name. Scottish -# taxpayers are split on the same rUK boundaries, an approximation: HMRC -# groups their relief by Scottish marginal rate (starter and intermediate -# with basic), and the Scottish band thresholds differ from the rUK ones. -_BAND_TAX_VARIABLES = { - "basic": "basic_rate_earned_income_tax", - "higher": "higher_rate_earned_income_tax", - "additional": "add_rate_earned_income_tax", -} - - -def split_relief_by_band( - relief: np.ndarray, band_tax_cf: dict, band_tax_base: dict -) -> dict: - """Share each person's income tax relief across the bands it is given in. - - HMRC's Table 6.1 models contributions that straddle bands ("not all be - relievable at the same rate"; private pension statistics, background and - methodology), so a person's relief is split in proportion to the fall in - their earned-income tax within each band. Relief with no fall in any - earned band (it comes through savings or dividend bands) counts as basic - rate. The shares sum to one, so the bands add up to ``relief``. +def tax_by_band(income: np.ndarray, thresholds, rates) -> dict: + """Tax on ``income`` within each of HMRC's rate categories. + + HMRC's Table 6.1 groups relief by marginal rate: basic (with the Scottish + starter and intermediate rates), higher and additional. Brackets taxed + below 30% are basic, brackets at the scale's top rate are additional (the + rUK additional rate, the Scottish top rate) and the rest are higher (the + Scottish higher and advanced rates, which cover the income range of the + rUK higher rate). The categories sum to the scale's tax on ``income``. """ - drops = { - band: np.maximum(np.asarray(band_tax_cf[band]) - band_tax_base[band], 0) - for band in _BAND_TAX_VARIABLES - } - total = sum(drops.values()) - has_drop = total > 0 - safe_total = np.where(has_drop, total, 1) - relief = np.asarray(relief) - return { - band: relief - * np.where(has_drop, drop / safe_total, 1.0 if band == "basic" else 0.0) - for band, drop in drops.items() - } + income = np.asarray(income, dtype=float) + thresholds = [t for t, r in zip(thresholds, rates) if r is not None] + rates = [r for r in rates if r is not None] + uppers = thresholds[1:] + [np.inf] + bands = {"basic": 0.0, "higher": 0.0, "additional": 0.0} + for lower, upper, rate in zip(thresholds, uppers, rates): + band = ( + "basic" if rate < 0.3 else "additional" if rate == rates[-1] else "higher" + ) + bands[band] = bands[band] + rate * np.clip(income - lower, 0, upper - lower) + return bands + + +def ss_it_relief_by_band(ctx) -> dict: + """Person-level salary sacrifice income tax relief in each rate category. + + HMRC applies income tax rates to employees' pay (ASHE), so relief is the + rise in tax on earned income when the sacrifice is paid as salary, under + the person's rUK or Scottish rates. Contributions that straddle a band + boundary are relieved partly at each rate, as in HMRC's estimates. + """ + period = ctx.time_period + rates = ctx.sim.tax_benefit_system.parameters(period).gov.hmrc.income_tax.rates + scottish = np.asarray(ctx.sim.calculate("pays_scottish_income_tax", period)) + base = np.asarray(ctx.sim.calculate("earned_taxable_income", period)) + cf = np.asarray(ctx.counterfactual_sim.calculate("earned_taxable_income", period)) + relief = {} + for scale, in_scale in ((rates.uk, ~scottish), (rates.scotland.rates, scottish)): + band_cf = tax_by_band(cf, scale.thresholds, scale.rates) + band_base = tax_by_band(base, scale.thresholds, scale.rates) + for band in band_cf: + relief[band] = relief.get(band, 0) + in_scale * ( + band_cf[band] - band_base[band] + ) + return relief def compute_ss_it_relief(target, ctx) -> np.ndarray: - """Compute salary sacrifice IT relief, in total or for one rate band.""" - period = ctx.time_period - cf, base = ctx.counterfactual_sim, ctx.sim - relief = np.asarray(cf.calculate("income_tax", period)) - np.asarray( - base.calculate("income_tax", period) + """Compute salary sacrifice income tax relief at one rate.""" + band = target.name.removeprefix("hmrc/salary_sacrifice_it_relief_") + return ctx.household_from_person( + ss_it_relief_by_band(ctx)[band.removesuffix("_rate")] ) - band = next((b for b in _BAND_TAX_VARIABLES if b in target.name), None) - if band is not None: - relief = split_relief_by_band( - relief, - { - b: np.asarray(cf.calculate(v, period)) - for b, v in _BAND_TAX_VARIABLES.items() - }, - { - b: np.asarray(base.calculate(v, period)) - for b, v in _BAND_TAX_VARIABLES.items() - }, - )[band] - return ctx.household_from_person(relief) def compute_ss_contributions(target, ctx) -> np.ndarray: diff --git a/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py b/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py index 828d48688..f90754fe0 100644 --- a/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py +++ b/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py @@ -9,15 +9,19 @@ broad ``except`` this module used to have turned that into calibration builds that silently lacked these targets. A failed download now falls back to the copy committed in storage (the same release as ``sources.yaml``), and -a table that no longer has the expected rows raises instead of returning -fewer targets. +a table for another tax year, or without the expected rows, raises instead +of returning fewer targets. + +Targets grow 3% a year from the table's year. The NICs relief targets also +follow the Class 1 rates in PolicyEngine's parameters, so the April 2025 +rise in the employer rate from 13.8% to 15% raises the employer target in +the years the simulation charges 15%. Source: https://www.gov.uk/government/statistics/personal-and-stakeholder-pensions-statistics """ import io import logging -import re import pandas as pd import requests @@ -32,21 +36,27 @@ logger = logging.getLogger(__name__) -# Tables 6.1 and 6.2 from the July 2026 release (tax year 2024-25), as -# downloaded from the sources.yaml URL. Replace both together. -FALLBACK_CSV = STORAGE / "hmrc_pension_relief_tables_6_1_6_2_2024_25.csv" +# Tax year of the Tables 6.1 and 6.2 release in sources.yaml (July 2026, +# 2024-25) and of its committed copy. Refresh the URL, the copy and this +# together: a table for any other year raises. +_TAX_YEAR = 2024 +FALLBACK_CSV = ( + STORAGE + / f"hmrc_pension_relief_tables_6_1_6_2_{_TAX_YEAR}_{(_TAX_YEAR + 1) % 100:02d}.csv" +) # Uprate 3% pa for wage growth from the base year _GROWTH = 1.03 _LAST_YEAR = 2031 # Table 6.1 rate rows → target name suffix. HMRC counts Scottish starter -# and intermediate rate relief as basic rate. +# and intermediate rate relief as basic rate. The Total row is not a target: +# it is the sum of the bands, which HMRC rounds separately (2024-25: bands +# £8.9bn, total £8.8bn), so targeting both would ask for two values. _IT_RATES = { "Basic Rate": "basic_rate", "Higher Rate": "higher_rate", "Additional Rate": "additional_rate", - "Total": "total", } # Table 6.2 NICs classes → (target name, PolicyEngine variable) _NICS_CLASSES = { @@ -60,6 +70,13 @@ ), } +# Table 6.2 (class, rate row) → the PolicyEngine Class 1 rate it was relieved at +_NICS_RATE_PARAMETERS = { + ("Class 1 Primary (employee)", "Main Rate"): "employee.main", + ("Class 1 Primary (employee)", "Additional Rate"): "employee.additional", + ("Class 1 Secondary (employer)", "Main Rate"): "employer", +} + # Total salary sacrifice contributions (SPP Review 2025: £24bn base) _SS_CONTRIBUTIONS_BASE_YEAR = 2024 @@ -79,17 +96,54 @@ def _read_table(url: str) -> pd.DataFrame: return pd.read_csv(io.StringIO(text), dtype=str) -def _base_year(df: pd.DataFrame) -> int: - """Map the table's tax year to a PolicyEngine year. +def _check_tax_year(df: pd.DataFrame) -> int: + """The table's PolicyEngine year, which must be ``_TAX_YEAR``. PolicyEngine UK's year N is tax year N to N+1 (a year-N simulation reads the parameter values in force from 6 April N), so "2024 to 2025" is 2024. """ - years = df["tax_year"].unique() - match = re.fullmatch(r"(\d{4}) to (\d{4})", years[0]) if len(years) == 1 else None - if match is None or int(match[2]) != int(match[1]) + 1: - raise ValueError(f"Expected one tax year in Tables 6.1/6.2, got {years}") - return int(match[1]) + years = list(df["tax_year"].unique()) + expected = f"{_TAX_YEAR} to {_TAX_YEAR + 1}" + if years != [expected]: + raise ValueError( + f"HMRC Tables 6.1/6.2 cover {years}, but {FALLBACK_CSV.name} and " + f"_TAX_YEAR are {expected!r}: refresh the sources.yaml URL, the " + "committed copy and _TAX_YEAR together." + ) + return _TAX_YEAR + + +def _nics_rate_factors(rows: pd.DataFrame, nics_class: str, base_year: int) -> dict: + """Class 1 rate in each year relative to the table's year, by year. + + Weighted by HMRC's split of the class's relief between the main and + additional rates (rows suppressed as [z] weigh nothing). + """ + from policyengine_uk import CountryTaxBenefitSystem + + parameters = CountryTaxBenefitSystem().parameters + weights = {} + for rate_row in ("Main Rate", "Additional Rate"): + values = rows.loc[ + (rows["nics_relief_class"] == nics_class) & (rows["tax_rate"] == rate_row), + "value_of_relief", + ].map(to_float) + if values.sum() > 0: + path = _NICS_RATE_PARAMETERS[(nics_class, rate_row)] + weights[path] = values.sum() + if not weights: + raise ValueError(f"HMRC Table 6.2: no rate split for {nics_class!r}") + + def rate(path, year): + return parameters.get_child( + f"gov.hmrc.national_insurance.class_1.rates.{path}" + )(str(year)) + + return { + year: sum(w * rate(p, year) / rate(p, base_year) for p, w in weights.items()) + / sum(weights.values()) + for year in range(base_year, _LAST_YEAR + 1) + } def _relief(rows: pd.DataFrame, column: str, label: str) -> float: @@ -104,24 +158,32 @@ def _relief(rows: pd.DataFrame, column: str, label: str) -> float: def _relief_targets(df: pd.DataFrame, reference_url: str) -> list[Target]: - base_year = _base_year(df) + base_year = _check_tax_year(df) ss = df[ (df["contribution_type"] == "Salary sacrificed contributions") & (df["sector_scheme"] == "Total") & (df["scheme_type"] == "Total") ] income_tax = ss[ss["income_tax_nics"] == "Income Tax"] - nics = ss[(ss["income_tax_nics"] == "NICs") & (ss["tax_rate"] == "Total")] + nics = ss[ss["income_tax_nics"] == "NICs"] + nics_total = nics[nics["tax_rate"] == "Total"] + unchanged = {y: 1.0 for y in range(base_year, _LAST_YEAR + 1)} specs = [ ( f"hmrc/salary_sacrifice_it_relief_{suffix}", "income_tax", _relief(income_tax, "tax_rate", rate), + unchanged, ) for rate, suffix in _IT_RATES.items() ] + [ - (name, variable, _relief(nics, "nics_relief_class", nics_class)) + ( + name, + variable, + _relief(nics_total, "nics_relief_class", nics_class), + _nics_rate_factors(nics, nics_class, base_year), + ) for nics_class, (name, variable) in _NICS_CLASSES.items() ] return [ @@ -131,12 +193,12 @@ def _relief_targets(df: pd.DataFrame, reference_url: str) -> list[Target]: source="hmrc", unit=Unit.GBP, values={ - y: base * _GROWTH ** (y - base_year) - for y in range(base_year, _LAST_YEAR + 1) + y: base * _GROWTH ** (y - base_year) * factor + for y, factor in factors.items() }, reference_url=reference_url, ) - for name, variable, base in specs + for name, variable, base, factors in specs ] diff --git a/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py b/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py index 801e86a9f..2e6aafdac 100644 --- a/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py +++ b/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py @@ -4,8 +4,9 @@ release, and the source module logged the error and returned without the relief targets, so builds calibrated without them. These tests pin: the committed table parses to every relief target, a failed download uses it, a -changed table raises, and the rate-band columns split relief the way HMRC -does (across the bands a contribution straddles). +changed table raises, the rate-band columns measure relief the way HMRC does +(tax on pay, relieved at each rate a contribution straddles), and on a built +dataset every relief target produces a loss-matrix column. """ from unittest.mock import patch @@ -15,37 +16,57 @@ import pytest import requests +from policyengine_uk_data.datasets.frs_release import CURRENT_FRS_RELEASE +from policyengine_uk_data.targets.build_loss_matrix import ( + _compute_column, + _resolve_value, + _SimContext, +) from policyengine_uk_data.targets.compute.income import ( compute_ss_it_relief, - split_relief_by_band, + tax_by_band, ) from policyengine_uk_data.targets.schema import Target, Unit from policyengine_uk_data.targets.sources import hmrc_salary_sacrifice as hmrc_ss # Tables 6.1 and 6.2, tax year 2024-25 (£m), from the committed CSV. RELIEF_2024_25 = { - "hmrc/salary_sacrifice_it_relief_total": 8_800, "hmrc/salary_sacrifice_it_relief_basic_rate": 1_600, "hmrc/salary_sacrifice_it_relief_higher_rate": 5_500, "hmrc/salary_sacrifice_it_relief_additional_rate": 1_800, "hmrc/salary_sacrifice_employee_nics_relief": 1_000, "hmrc/salary_sacrifice_employer_nics_relief": 3_400, } +# Class 1 secondary (employer) rate: 13.8% in 2024-25, 15% from 6 April 2025 +# (National Insurance Contributions (Secondary Class 1 Contributions) Act +# 2025). The primary rates (8% main, 2% additional) did not change. +EMPLOYER_RATE_RISE = 0.15 / 0.138 def _committed_table() -> pd.DataFrame: return pd.read_csv(hmrc_ss.FALLBACK_CSV, dtype=str, encoding="utf-8-sig") +def _offline(*args, **kwargs): + raise requests.ConnectionError("offline") + + +def _offline_targets() -> list[Target]: + with patch.object(hmrc_ss.requests, "get", side_effect=_offline): + return hmrc_ss.get_targets() + + def test_committed_table_gives_every_relief_target(): targets = {t.name: t for t in hmrc_ss._relief_targets(_committed_table(), "x")} assert set(targets) == set(RELIEF_2024_25) for name, millions in RELIEF_2024_25.items(): values = targets[name].values + rate_rise = EMPLOYER_RATE_RISE if "employer" in name else 1 # Tax year 2024-25 is PolicyEngine year 2024. assert min(values) == 2024 assert values[2024] == pytest.approx(millions * 1e6) - assert values[2025] == pytest.approx(millions * 1e6 * 1.03) + assert values[2025] == pytest.approx(millions * 1e6 * 1.03 * rate_rise) + assert values[2026] == pytest.approx(millions * 1e6 * 1.03**2 * rate_rise) assert targets["hmrc/salary_sacrifice_employee_nics_relief"].variable == ( "ni_employee" ) @@ -54,6 +75,12 @@ def test_committed_table_gives_every_relief_target(): ) +def test_fallback_file_matches_the_tax_year_it_is_checked_against(): + assert list(_committed_table()["tax_year"].unique()) == [ + f"{hmrc_ss._TAX_YEAR} to {hmrc_ss._TAX_YEAR + 1}" + ] + + def _gone(*args, **kwargs): response = requests.Response() response.status_code = 410 @@ -61,10 +88,6 @@ def _gone(*args, **kwargs): return response -def _offline(*args, **kwargs): - raise requests.ConnectionError("offline") - - @pytest.mark.parametrize("get", [_gone, _offline], ids=["410", "offline"]) def test_failed_download_uses_committed_table(get): with patch.object(hmrc_ss.requests, "get", side_effect=get): @@ -78,52 +101,71 @@ def test_failed_download_uses_committed_table(get): [ lambda df: df[df["tax_rate"] != "Higher Rate"], lambda df: df[df["nics_relief_class"] != "Class 1 Secondary (employer)"], + lambda df: df[ + ~( + (df["nics_relief_class"] == "Class 1 Secondary (employer)") + & (df["tax_rate"] == "Main Rate") + ) + ], lambda df: pd.concat( [df.iloc[:-1], df.iloc[-1:].assign(tax_year="2025 to 2026")] ), - lambda df: df.assign(tax_year="2024 to 2026"), + lambda df: df.assign(tax_year="2025 to 2026"), lambda df: df.drop(columns="sector_scheme"), ], - ids=["no-higher-rate", "no-employer-nics", "two-years", "bad-year", "no-column"], + ids=[ + "no-higher-rate", + "no-employer-nics", + "no-employer-rate-split", + "two-years", + "next-release", + "no-column", + ], ) def test_changed_table_raises(change): with pytest.raises((ValueError, KeyError)): hmrc_ss._relief_targets(change(_committed_table()), "x") -BANDS = ("basic", "higher", "additional") +def _scales(year): + from policyengine_uk import CountryTaxBenefitSystem - -def test_split_straddling_relief(): - # £4k sacrificed from £52k pay (2025-26 rUK): earned taxable income falls - # from £39,430 to £35,430, so £1,730 leaves the higher band and £2,270 - # the basic band. - split = split_relief_by_band( - np.array([1_146.0]), - {"basic": [7_540.0], "higher": [692.0], "additional": [0.0]}, - {"basic": [7_086.0], "higher": [0.0], "additional": [0.0]}, - ) - assert split["basic"] == pytest.approx([454.0]) - assert split["higher"] == pytest.approx([692.0]) - assert split["additional"] == pytest.approx([0.0]) + rates = CountryTaxBenefitSystem().parameters(year).gov.hmrc.income_tax.rates + return {"uk": rates.uk, "scotland": rates.scotland.rates} -def test_split_invariants_on_random_inputs(): - """Bands add up to the relief, keep its sign, and default to basic rate.""" +@pytest.mark.parametrize("year", ["2023", "2024", "2025"]) +@pytest.mark.parametrize("schedule", ["uk", "scotland"]) +def test_tax_by_band_adds_up_to_the_schedule_and_rises_with_income(year, schedule): + """Differential against PolicyEngine's own scale, plus monotonicity.""" + scale = _scales(year)[schedule] rng = np.random.default_rng(0) - n = 5_000 - relief = rng.normal(500, 1_000, n) * rng.integers(0, 2, n) - base = {b: rng.uniform(0, 20_000, n) * rng.integers(0, 2, n) for b in BANDS} - # A smaller sacrifice never raises band tax; some people see no change. - cf = {b: base[b] + rng.uniform(0, 3_000, n) * rng.integers(0, 2, n) for b in BANDS} - split = split_relief_by_band(relief, cf, base) + income = np.concatenate( + [rng.uniform(-1_000, 200_000, 5_000), np.asarray(scale.thresholds[1:])] + ) + bands = tax_by_band(income, scale.thresholds, scale.rates) + np.testing.assert_allclose(sum(bands.values()), scale.calc(income), atol=1e-6) + more = tax_by_band( + income + rng.uniform(0, 20_000, income.size), scale.thresholds, scale.rates + ) + for band in bands: + assert np.all(more[band] >= bands[band] - 1e-9) - np.testing.assert_allclose(sum(split.values()), relief, rtol=1e-12, atol=1e-9) - for band in BANDS: - assert np.all(split[band] * np.sign(relief) >= -1e-9) - no_drop = sum(cf[b] - base[b] for b in BANDS) == 0 - assert no_drop.any() - np.testing.assert_array_equal(split["basic"][no_drop], relief[no_drop]) + +def test_tax_by_band_groups_scottish_rates_into_hmrc_categories(): + # 2025-26 Scottish taxable-income bands: intermediate (21%) up to £31,092, + # higher (42%) to £62,430, advanced (45%) to £112,570, then top (48%). + scale = _scales("2025")["scotland"] + bands = tax_by_band( + np.array([20_000, 50_000, 100_000, 150_000]), scale.thresholds, scale.rates + ) + assert bands["higher"][0] == 0 and bands["additional"][0] == 0 + assert bands["higher"][1] > 0 and bands["additional"][1] == 0 + # The advanced rate counts as higher rate. + assert bands["higher"][2] == pytest.approx( + 0.42 * (62_430 - 31_092) + 0.45 * (100_000 - 62_430) + ) + assert bands["additional"][3] == pytest.approx(0.48 * (150_000 - 112_570)) class _Ctx: @@ -131,7 +173,7 @@ class _Ctx: time_period = 2025 - def __init__(self, base_pay, sacrifice): + def __init__(self, base_pay, sacrifice, region="LONDON"): from policyengine_uk import Simulation def sim(pay): @@ -141,7 +183,7 @@ def sim(pay): "a": {"age": {2025: 40}, "employment_income": {2025: pay}} }, "benunits": {"b": {"members": ["a"]}}, - "households": {"h": {"members": ["a"]}}, + "households": {"h": {"members": ["a"], "region": {2025: region}}}, } ) @@ -155,9 +197,9 @@ def household_from_person(values): return np.asarray(values) -def _relief(ctx, suffix): +def _relief(ctx, band): target = Target( - name=f"hmrc/salary_sacrifice_it_relief_{suffix}", + name=f"hmrc/salary_sacrifice_it_relief_{band}_rate", variable="income_tax", source="hmrc", unit=Unit.GBP, @@ -166,13 +208,55 @@ def _relief(ctx, suffix): return float(compute_ss_it_relief(target, ctx)[0]) -def test_compute_splits_relief_for_a_basic_rate_taxpayer_near_the_threshold(): - """Pay of £48k after a £4k sacrifice: 40% relief only above £50,270.""" - ctx = _Ctx(base_pay=48_000, sacrifice=4_000) - by_band = { - s: _relief(ctx, s) for s in ("basic_rate", "higher_rate", "additional_rate") - } - assert _relief(ctx, "total") == pytest.approx(1_146) - assert by_band == pytest.approx( - {"basic_rate": 454, "higher_rate": 692, "additional_rate": 0} +@pytest.mark.parametrize( + "base_pay, sacrifice, region, expected", + [ + # rUK, £48k after a £4k sacrifice: taxable income £35,430 → £39,430, + # 40% only above £37,700. + (48_000, 4_000, "LONDON", {"basic": 454, "higher": 692, "additional": 0}), + # Scotland, £42k after £4k: taxable £29,430 → £33,430, 21% to £31,092 + # (basic category), 42% above. + ( + 42_000, + 4_000, + "SCOTLAND", + {"basic": 349.02, "higher": 981.96, "additional": 0}, + ), + # rUK, £100k after £10k: £5k of personal allowance is withdrawn, so + # relief is 60% of the sacrifice, all in the higher band. + (100_000, 10_000, "LONDON", {"basic": 0, "higher": 6_000, "additional": 0}), + ], + ids=["ruk-straddle", "scotland-straddle", "allowance-taper"], +) +def test_compute_relieves_each_slice_at_its_rate(base_pay, sacrifice, region, expected): + ctx = _Ctx(base_pay, sacrifice, region) + by_band = {band: _relief(ctx, band) for band in expected} + assert by_band == pytest.approx(expected, abs=0.01) + # With pay as the only income, the bands add up to the fall in income tax. + income_tax = [ + float(s.calculate("income_tax", 2025)[0]) + for s in (ctx.counterfactual_sim, ctx.sim) + ] + assert sum(by_band.values()) == pytest.approx( + income_tax[0] - income_tax[1], abs=0.01 ) + + +def test_relief_targets_produce_loss_matrix_columns(enhanced_frs): + """create_target_matrix skips a target, with only a warning, when + _resolve_value or _compute_column raises or returns None. On the built + dataset neither may happen for these targets.""" + from policyengine_uk import Microsimulation + + year = CURRENT_FRS_RELEASE.calibration_year + sim = Microsimulation(dataset=enhanced_frs) + sim.default_calculation_period = year + ctx = _SimContext(sim, year, enhanced_frs, None) + weights = np.asarray(sim.calculate("household_weight", year)) + targets = [t for t in _offline_targets() if t.name in RELIEF_2024_25] + assert len(targets) == len(RELIEF_2024_25) + for target in targets: + assert _resolve_value(target, year) is not None, target.name + column = np.asarray(_compute_column(target, ctx, year), dtype=float) + assert np.isfinite(column).all(), target.name + assert column @ weights > 0, target.name diff --git a/policyengine_uk_data/tests/test_target_registry.py b/policyengine_uk_data/tests/test_target_registry.py index 59d0b09f5..c2a1c1c37 100644 --- a/policyengine_uk_data/tests/test_target_registry.py +++ b/policyengine_uk_data/tests/test_target_registry.py @@ -86,7 +86,6 @@ def test_hmrc_salary_sacrifice_relief_targets(): on the old CSV dropped them from every build without failing it).""" targets = {t.name: t for t in get_all_targets(year=2025)} for name in ( - "hmrc/salary_sacrifice_it_relief_total", "hmrc/salary_sacrifice_it_relief_basic_rate", "hmrc/salary_sacrifice_it_relief_higher_rate", "hmrc/salary_sacrifice_it_relief_additional_rate", @@ -94,6 +93,8 @@ def test_hmrc_salary_sacrifice_relief_targets(): "hmrc/salary_sacrifice_employer_nics_relief", ): assert name in targets, f"{name} missing from the target registry" + # The bands, not HMRC's separately rounded total, are the targets. + assert "hmrc/salary_sacrifice_it_relief_total" not in targets # One NICs relief target per class: the OBR-labelled copies of the # 2023-24 figures are gone. assert "obr/salary_sacrifice_employee_ni_relief" not in targets From 585402d9d6784226faf862227e288908332ef819 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 00:49:29 -0400 Subject: [PATCH 47/70] Update the changelog fragment for the review changes Co-Authored-By: Claude Opus 5.5 --- changelog.d/hmrc-salary-sacrifice-relief-targets.fixed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.d/hmrc-salary-sacrifice-relief-targets.fixed.md b/changelog.d/hmrc-salary-sacrifice-relief-targets.fixed.md index 46b3fb23a..f7fb4a92f 100644 --- a/changelog.d/hmrc-salary-sacrifice-relief-targets.fixed.md +++ b/changelog.d/hmrc-salary-sacrifice-relief-targets.fixed.md @@ -1 +1 @@ -Restore the HMRC salary sacrifice income tax and NICs relief calibration targets, lost to a withdrawn (410 Gone) HMRC CSV since the July 2026 private pension statistics release. They now use the 2024-25 Tables 6.1 and 6.2, mapped to year 2024, with a committed copy used when the download fails; a changed table fails the build. The rate-band targets split each person's relief across the bands it is given in (they had been assigned by adjusted net income against taxable-income thresholds), and the OBR-labelled NICs relief targets, which repeated the 2023-24 HMRC figures, are removed. +Restore the HMRC salary sacrifice income tax and NICs relief calibration targets. They had been lost since the July 2026 private pension statistics release, when the old HMRC CSV was withdrawn (410 Gone). The targets now come from the 2024-25 Tables 6.1 and 6.2, mapped to year 2024. A committed copy is used when the download fails, and a table for another tax year or without the expected rows fails the build. Income tax relief is the rise in tax on pay under the person's rUK or Scottish rates, relieved at each rate the sacrifice straddles; it had been assigned whole to one band by comparing adjusted net income with taxable-income thresholds. The NICs targets follow the Class 1 rates, including the employer rate rise to 15% from April 2025. The OBR-labelled NICs relief targets, which repeated HMRC's 2023-24 figures, and the separately rounded income tax relief total are removed. From b22417123f45824a8cf4b72ab6fa95ab2488440a Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 01:58:03 -0400 Subject: [PATCH 48/70] Address review r2 nits: blank cells raise, pin relief to pay, unpin a PE threshold MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - _relief rejects a blank (NaN) cell instead of returning a NaN target. - Test that dividends pushed into a higher band by the sacrifice do not count as relief (a revert to the change in income_tax passed every test before). - The Scottish category test reads the thresholds from PolicyEngine's schedule instead of stating its top-rate threshold (£112,570) as law (policyengine-uk#2130: the statutory threshold is £125,140). Co-Authored-By: Claude Opus 5.5 --- .../targets/sources/hmrc_salary_sacrifice.py | 2 +- .../test_hmrc_salary_sacrifice_targets.py | 48 +++++++++++++++---- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py b/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py index f90754fe0..fd21f15c6 100644 --- a/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py +++ b/policyengine_uk_data/targets/sources/hmrc_salary_sacrifice.py @@ -149,7 +149,7 @@ def rate(path, year): def _relief(rows: pd.DataFrame, column: str, label: str) -> float: """The single positive £m value in ``rows`` whose ``column`` is ``label``.""" values = rows.loc[rows[column] == label, "value_of_relief"].map(to_float) - if len(values) != 1 or values.iloc[0] <= 0: + if len(values) != 1 or not values.iloc[0] > 0: # also rejects a blank cell raise ValueError( f"HMRC salary sacrifice relief: expected one positive value for " f"{label!r}, got {values.tolist()}" diff --git a/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py b/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py index 2e6aafdac..d70f9384f 100644 --- a/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py +++ b/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py @@ -112,6 +112,9 @@ def test_failed_download_uses_committed_table(get): ), lambda df: df.assign(tax_year="2025 to 2026"), lambda df: df.drop(columns="sector_scheme"), + lambda df: df.assign( + value_of_relief=df["value_of_relief"].where(df["tax_rate"] != "Basic Rate") + ), ], ids=[ "no-higher-rate", @@ -120,6 +123,7 @@ def test_failed_download_uses_committed_table(get): "two-years", "next-release", "no-column", + "blank-cell", ], ) def test_changed_table_raises(change): @@ -153,19 +157,25 @@ def test_tax_by_band_adds_up_to_the_schedule_and_rises_with_income(year, schedul def test_tax_by_band_groups_scottish_rates_into_hmrc_categories(): - # 2025-26 Scottish taxable-income bands: intermediate (21%) up to £31,092, - # higher (42%) to £62,430, advanced (45%) to £112,570, then top (48%). + """Starter, basic and intermediate → basic; higher and advanced → higher; + top → additional. Thresholds come from PolicyEngine's 2025 schedule + (policyengine-uk#2130: its top-rate threshold is £112,570 rather than + the statutory £125,140).""" scale = _scales("2025")["scotland"] - bands = tax_by_band( - np.array([20_000, 50_000, 100_000, 150_000]), scale.thresholds, scale.rates + (_, _, _, higher, advanced, top) = scale.thresholds + assert list(scale.rates) == [0.19, 0.20, 0.21, 0.42, 0.45, 0.48] + income = np.array( + [higher - 1, (higher + advanced) / 2, (advanced + top) / 2, top + 10_000] ) + bands = tax_by_band(income, scale.thresholds, scale.rates) assert bands["higher"][0] == 0 and bands["additional"][0] == 0 - assert bands["higher"][1] > 0 and bands["additional"][1] == 0 + assert bands["higher"][1] == pytest.approx(0.42 * (income[1] - higher)) # The advanced rate counts as higher rate. assert bands["higher"][2] == pytest.approx( - 0.42 * (62_430 - 31_092) + 0.45 * (100_000 - 62_430) + 0.42 * (advanced - higher) + 0.45 * (income[2] - advanced) ) - assert bands["additional"][3] == pytest.approx(0.48 * (150_000 - 112_570)) + assert bands["additional"][2] == 0 + assert bands["additional"][3] == pytest.approx(0.48 * 10_000) class _Ctx: @@ -173,14 +183,18 @@ class _Ctx: time_period = 2025 - def __init__(self, base_pay, sacrifice, region="LONDON"): + def __init__(self, base_pay, sacrifice, region="LONDON", dividends=0): from policyengine_uk import Simulation def sim(pay): return Simulation( situation={ "people": { - "a": {"age": {2025: 40}, "employment_income": {2025: pay}} + "a": { + "age": {2025: 40}, + "employment_income": {2025: pay}, + "dividend_income": {2025: dividends}, + } }, "benunits": {"b": {"members": ["a"]}}, "households": {"h": {"members": ["a"], "region": {2025: region}}}, @@ -260,3 +274,19 @@ def test_relief_targets_produce_loss_matrix_columns(enhanced_frs): column = np.asarray(_compute_column(target, ctx, year), dtype=float) assert np.isfinite(column).all(), target.name assert column @ weights > 0, target.name + + +def test_relief_is_tax_on_pay_not_on_other_income(): + """HMRC applies income tax rates to pay. Paying the sacrifice as salary + also pushes £10k of dividends from the basic into the higher dividend + band; that extra dividend tax is not salary sacrifice relief.""" + ctx = _Ctx(48_000, 4_000, dividends=10_000) + by_band = {band: _relief(ctx, band) for band in ("basic", "higher", "additional")} + assert by_band == pytest.approx( + {"basic": 454, "higher": 692, "additional": 0}, abs=0.01 + ) + income_tax = [ + float(s.calculate("income_tax", 2025)[0]) + for s in (ctx.counterfactual_sim, ctx.sim) + ] + assert income_tax[0] - income_tax[1] > sum(by_band.values()) + 100 From 0863a6aa540be49dac65cfd73c17ebe82b17eecd Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 03:02:09 -0400 Subject: [PATCH 49/70] Correct the dividend test's docstring (review r3 T1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Only the dividends taxed in the basic rate band move to the higher band, not the whole £10k. Co-Authored-By: Claude Opus 5.5 --- .../tests/test_hmrc_salary_sacrifice_targets.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py b/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py index d70f9384f..ec01d2801 100644 --- a/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py +++ b/policyengine_uk_data/tests/test_hmrc_salary_sacrifice_targets.py @@ -278,8 +278,9 @@ def test_relief_targets_produce_loss_matrix_columns(enhanced_frs): def test_relief_is_tax_on_pay_not_on_other_income(): """HMRC applies income tax rates to pay. Paying the sacrifice as salary - also pushes £10k of dividends from the basic into the higher dividend - band; that extra dividend tax is not salary sacrifice relief.""" + also moves the dividends that were taxed in the basic rate band into the + higher dividend band; that extra dividend tax is not salary sacrifice + relief.""" ctx = _Ctx(48_000, 4_000, dividends=10_000) by_band = {band: _relief(ctx, band) for band in ("basic", "higher", "additional")} assert by_band == pytest.approx( From 1c5b20c02a2f0d3509fff90cc679f302b8225c0e Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 06:27:07 -0400 Subject: [PATCH 50/70] Docs: 10 clones is the default, not what release builds use Review nit: create_datasets.py defaults to 10 clones (2 with TESTING=1), and PE_UK_DATA_OA_CLONES overrides it; push.yaml and pull_request.yaml set it to 1. Co-Authored-By: Claude Opus 5.5 --- docs/oa_calibration_pipeline.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/oa_calibration_pipeline.md b/docs/oa_calibration_pipeline.md index eb2a1f7bd..a8722826c 100644 --- a/docs/oa_calibration_pipeline.md +++ b/docs/oa_calibration_pipeline.md @@ -42,14 +42,14 @@ Clone each FRS household N times and assign each clone a different OA. **Deliverables:** - `policyengine_uk_data/calibration/clone_and_assign.py` — clones all three entity tables (household, person, benunit), remaps IDs, divides weights by N, attaches OA geography columns -- `datasets/create_datasets.py` — clone step inserted after imputations, before uprating/calibration (N=10 production, N=2 testing) +- `datasets/create_datasets.py` — clone step inserted after imputations, before uprating/calibration (N defaults to 10, or 2 with `TESTING=1`; `PE_UK_DATA_OA_CLONES` overrides it) - `tests/test_clone_and_assign.py` — 14 tests covering dimensions, weight preservation, ID uniqueness, FK integrity, country constraints, data preservation **Key design:** -- N=10 clones in production, N=2 in testing mode +- N defaults to 10 clones (2 with `TESTING=1`); the `PE_UK_DATA_OA_CLONES` environment variable overrides it, and the release (`push.yaml`) and pull request workflows set it to 1 - Constituency collision avoidance: each clone gets a different constituency where possible - Region constraint: each clone's OA is drawn from the household's own FRS region (Wales and Scotland are one region each), so `region_code_oa`, `la_code_oa` and `constituency_code_oa` never contradict `region`. A household with no region below the country falls back to its country. No LA or constituency straddles a region, so every OA stays reachable -- Collision avoidance draws from the same region; the smallest (North East) has 27 constituencies, more than the 10 production clones +- Collision avoidance draws from the same region; the smallest (North East) has 27 constituencies, more than the default 10 clones - Weights divided by N so population totals are preserved - Pure pandas/numpy operations — no simulation required, fast execution From a1690afaa72595b2d5a847ac6581b692be1fbf14 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 06:32:29 -0400 Subject: [PATCH 51/70] Keep the TOTCAPB3 fallback with nullable inputs (review of #513) With pandas nullable Float64 columns, a missing TOTCAPB4 (pd.NA) made the validity mask NA and wiped a valid TOTCAPB3. Convert each column to plain float64 first so the mask has no missing entries. The FRS reader uses plain NumPy dtypes, so this release's input is unaffected. Co-Authored-By: Claude Opus 5.5 --- policyengine_uk_data/datasets/frs.py | 15 ++++++++++----- .../tests/test_pension_credit_reported_capital.py | 13 +++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/policyengine_uk_data/datasets/frs.py b/policyengine_uk_data/datasets/frs.py index 4f69a1262..77e6f3391 100644 --- a/policyengine_uk_data/datasets/frs.py +++ b/policyengine_uk_data/datasets/frs.py @@ -590,14 +590,19 @@ def derive_pension_credit_reported_capital(benunit: pd.DataFrame) -> np.ndarray: A missing or negative value gives -1, so policyengine-uk falls back to the household proxy. """ - capital = pd.Series(np.nan, index=benunit.index, dtype=float) + capital = np.full(len(benunit), np.nan) for column in ("totcapb3", "totcapb4"): # later columns take precedence if column in benunit.columns: - values = pd.to_numeric(benunit[column], errors="coerce") + # Plain float64, so nullable (pd.NA) inputs become NaN and the + # validity mask is a plain bool array with no missing entries. + values = ( + pd.to_numeric(benunit[column], errors="coerce") + .astype("float64") + .to_numpy(dtype=float, na_value=np.nan) + ) valid = np.isfinite(values) & (values >= 0) - capital = capital.where(~valid, values) - values = capital.to_numpy(dtype=float) - return np.where(np.isfinite(values) & (values >= 0), values, -1.0) + capital = np.where(valid, values, capital) + return np.where(np.isfinite(capital) & (capital >= 0), capital, -1.0) def create_frs( diff --git a/policyengine_uk_data/tests/test_pension_credit_reported_capital.py b/policyengine_uk_data/tests/test_pension_credit_reported_capital.py index 2e93839de..d19185811 100644 --- a/policyengine_uk_data/tests/test_pension_credit_reported_capital.py +++ b/policyengine_uk_data/tests/test_pension_credit_reported_capital.py @@ -36,6 +36,19 @@ def test_totcapb4_takes_precedence_with_totcapb3_fallback(): assert result.tolist() == [150.0, 200.0, 300.0, 400.0, -1.0] +def test_nullable_inputs_keep_the_totcapb3_fallback(): + """Nullable (pd.NA) columns must not wipe a valid TOTCAPB3 where TOTCAPB4 + is missing.""" + benunit = pd.DataFrame( + { + "totcapb3": pd.array([0.0, 250.0, pd.NA, -3.0], dtype="Float64"), + "totcapb4": pd.array([pd.NA, pd.NA, 400.0, pd.NA], dtype="Float64"), + } + ) + result = derive_pension_credit_reported_capital(benunit) + assert result.tolist() == [0.0, 250.0, 400.0, -1.0] + + def test_missing_column_gives_sentinel(): benunit = pd.DataFrame({"benunit_id": [101, 102, 201]}) assert derive_pension_credit_reported_capital(benunit).tolist() == [-1.0] * 3 From 503b00ce7e82ebf0061828a91082005564b5a2d9 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 4 Oct 2026 11:49:46 -0400 Subject: [PATCH 52/70] Fall back to the committed OBR workbooks when obr.uk answers 200 with a non-workbook page obr.uk can answer the EFO URLs with HTTP 200 and an HTML "No Access" page instead of the xlsx. openpyxl then raised zipfile.BadZipFile, which is not a requests.RequestException, so it escaped _download_workbook before the committed-workbook fallback ran, and get_targets() dropped the nine receipts and NICs targets (34 -> 25). A body that openpyxl cannot read (BadZipFile, InvalidFileException, KeyError, OSError, ValueError) is now a permanent download failure: it is not retried, control reaches the fallback, and the warning names the URL, the status, the Content-Type and the parse error. Tests run every failure kind (200 HTML/empty/truncated zip/zip without xlsx manifest/zip without workbook part, 403, 404, 500 until retries run out, connection error) against both EFO URLs and get_targets(), with a positive control that a real workbook body is used without the fallback. Co-Authored-By: Claude Opus 5.5 --- .../obr-fallback-non-workbook.fixed.md | 1 + policyengine_uk_data/targets/sources/obr.py | 31 +++- .../tests/test_obr_efo_fallback.py | 143 +++++++++++++++++- 3 files changed, 170 insertions(+), 5 deletions(-) create mode 100644 changelog.d/obr-fallback-non-workbook.fixed.md diff --git a/changelog.d/obr-fallback-non-workbook.fixed.md b/changelog.d/obr-fallback-non-workbook.fixed.md new file mode 100644 index 000000000..5e3e78c6f --- /dev/null +++ b/changelog.d/obr-fallback-non-workbook.fixed.md @@ -0,0 +1 @@ +Fall back to the committed OBR EFO workbooks when obr.uk answers 200 with a page that is not a workbook (such as its HTML "No Access" page), not only when the download fails with an HTTP error. The parse error used to escape the fallback, and `get_targets()` silently dropped the nine OBR receipts and NICs targets. A body that is not a readable xlsx is now treated as a permanent failure: it is not retried, and a warning names the URL, the status and the parse error. diff --git a/policyengine_uk_data/targets/sources/obr.py b/policyengine_uk_data/targets/sources/obr.py index ad4e3cf17..69e75c229 100644 --- a/policyengine_uk_data/targets/sources/obr.py +++ b/policyengine_uk_data/targets/sources/obr.py @@ -12,10 +12,12 @@ import io import logging import time +import zipfile from functools import lru_cache import openpyxl import requests +from openpyxl.utils.exceptions import InvalidFileException from policyengine_uk_data.targets.schema import Target, Unit from policyengine_uk_data.targets.sources._common import ( @@ -44,6 +46,20 @@ _DOWNLOAD_MAX_ATTEMPTS = 4 _DOWNLOAD_RETRY_STATUSES = {429, 500, 502, 503, 504} +# obr.uk can also answer 200 with an HTML "No Access" page instead of the +# workbook (observed 2026-10-04 from a local machine). These are the errors +# openpyxl raises on a body that is not a readable xlsx: not a zip +# (BadZipFile), a zip without the xlsx manifest (KeyError) or workbook part +# (OSError), or malformed XML inside (ValueError). Such a body will not turn +# into a workbook on retry, so it is treated as permanent, like a 403. +_WORKBOOK_PARSE_ERRORS = ( + zipfile.BadZipFile, + InvalidFileException, + KeyError, + OSError, + ValueError, +) + # obr.uk serves 403 Forbidden to GitHub Actions runner IPs (observed on the # 2026-07-21 push builds: every attempt 403'd while the same URLs work from @@ -78,7 +94,8 @@ def _download_workbook(url: str) -> openpyxl.Workbook: Retries transient HTTP errors (429/5xx) and connection failures with exponential backoff, honouring a numeric Retry-After header when present. Falls back to the committed workbook in storage/obr_efo/ when - the download ultimately fails (obr.uk 403s CI runner IPs). + the download ultimately fails: obr.uk 403s CI runner IPs, and can answer + 200 with an HTML page that is not a workbook. Neither is retried. """ last_error: Exception | None = None for attempt in range(_DOWNLOAD_MAX_ATTEMPTS): @@ -89,7 +106,17 @@ def _download_workbook(url: str) -> openpyxl.Workbook: last_error = e # connection/timeout — retryable else: if r.status_code < 400: - return openpyxl.load_workbook(io.BytesIO(r.content), data_only=False) + try: + return openpyxl.load_workbook( + io.BytesIO(r.content), data_only=False + ) + except _WORKBOOK_PARSE_ERRORS as e: + last_error = ValueError( + f"{r.status_code} for url: {url}, but the body " + f"({r.headers.get('Content-Type', 'no Content-Type')}) " + f"is not an xlsx workbook ({type(e).__name__}: {e})" + ) + break last_error = requests.HTTPError( f"{r.status_code} for url: {url}", response=r ) diff --git a/policyengine_uk_data/tests/test_obr_efo_fallback.py b/policyengine_uk_data/tests/test_obr_efo_fallback.py index 309e8d7c4..ff6cace65 100644 --- a/policyengine_uk_data/tests/test_obr_efo_fallback.py +++ b/policyengine_uk_data/tests/test_obr_efo_fallback.py @@ -2,11 +2,17 @@ obr.uk serves 403 Forbidden to GitHub Actions runner IPs, and losing the workbooks silently drops 28 OBR targets and calibrates a degraded dataset -(observed on the 2026-07-21 push builds). These tests pin: the fallback -workbooks are committed and parseable, a failed download uses them instead -of raising, and a 403 does not burn the retry budget. +(observed on the 2026-07-21 push builds). obr.uk can also answer 200 with +an HTML "No Access" page, which once escaped the fallback as a BadZipFile +and dropped the nine receipts and NICs targets (observed 2026-10-04). These +tests pin: the fallback workbooks are committed and parseable, every kind of +failed download uses them instead of raising, and permanent failures do not +burn the retry budget. """ +import io +import zipfile +from contextlib import contextmanager from types import SimpleNamespace from unittest.mock import patch @@ -15,6 +21,7 @@ from policyengine_uk_data.storage import STORAGE_FOLDER from policyengine_uk_data.targets.sources import obr +from policyengine_uk_data.targets.sources._common import load_config @pytest.fixture(autouse=True) @@ -28,6 +35,102 @@ def _forbidden(*args, **kwargs): return SimpleNamespace(status_code=403, headers={}, content=b"") +def _response(status_code, content=b"", content_type=None): + headers = {"Content-Type": content_type} if content_type else {} + return SimpleNamespace(status_code=status_code, headers=headers, content=content) + + +def _zip(members: dict[str, str]) -> bytes: + buffer = io.BytesIO() + with zipfile.ZipFile(buffer, "w") as archive: + for name, data in members.items(): + archive.writestr(name, data) + return buffer.getvalue() + + +def _connection_error(): + raise requests.ConnectionError("no route to obr.uk") + + +_NO_ACCESS_PAGE = ( + b"" + b"No Access - Office for Budget Responsibility" + b"

-CaAiu`?t~+N?{zEg6mCS_LW@{-)OI=EXTH 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%0AZ8zk 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�#3H$ccz;Fk=szglZVgu1K<^j`0E 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 z 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≪%>?Q{P!%-Yz(jFdR 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

k#L>xe3`aMJ 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%0DZrtE!JaMH!Fqz{>Xf4)H1-Cu>HC=(^1nC*xwK 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