What happens
A UK simulation scoped by row filter (nation, constituency or local-authority regions, or any RowFilterStrategy/RegionGroupStrategy) runs policyengine-uk on the filtered households only. Several policyengine-uk formulas normalise over the households in the dataset. On a filtered dataset they normalise over the region instead of the UK, so the region's households receive UK-wide totals and region-relative ranks.
Measured on 2026-10-08/09 with policyengine-uk 2.102.3 on the certified enhanced_frs_2024_25_year_2026.h5 (baseline policy, 2026). The nation rows were re-run on main at 07bae75 (6.2.3, #565's region filters) and match the first measurement exactly. Each figure compares a scoped run with the same households in the national run:
| scope |
households |
business rates, scoped |
same households, national run |
household net income, scoped |
same households, national run |
| country/england |
37,961 |
£31.73bn |
£27.28bn |
£1,487.19bn |
£1,492.28bn |
| country/scotland |
5,405 |
£31.73bn |
£2.37bn |
£103.98bn |
£139.15bn |
| country/wales |
3,821 |
£31.73bn |
£1.83bn |
£49.28bn |
£85.06bn |
| country/northern_ireland |
5,659 |
£31.73bn |
£0.25bn |
£6.07bn |
£43.75bn |
| constituency W07000105 |
143 |
£31.73bn |
£0.05bn |
−£34.45bn |
£3.48bn |
£31.73bn is the UK business-rates total. The national run splits it £27.28bn / £2.37bn / £1.83bn / £0.25bn across the four nations; every scoped run puts all of it on the region.
Which variables (Scotland, 5,405 households)
| variable |
records that differ |
scoped total |
national run, same records |
shareholding |
484 |
1.00 |
0.07 |
business_rates |
4,375 |
£31.73bn |
£2.37bn |
corporate_sdlt |
4,375 |
£3.13bn |
£0.23bn |
expected_sdlt |
4,375 |
£3.13bn |
£0.23bn |
corporate_land_value |
4,375 |
£2,058.6bn |
£153.4bn |
household_income_decile |
1,340 |
|
|
household_wealth_decile |
2,072 |
|
|
pre_budget_change_ons_household_income_decile |
3,955 |
|
|
in_relative_poverty_bhc / _ahc |
45 / 89 |
736k / 751k weighted |
651k / 709k |
attends_private_school (persons) |
23 |
|
|
State Pension, LHA rates, weights and the absolute poverty thresholds match. The reform-only incidence variables (corporate_incident_tax_revenue_change, consumer_incident_tax_revenue_change, employer_ni_response_*) are zero in the baseline, so this run does not test them.
Mechanism (policyengine-uk 2.102.3, read this session)
shareholding = household corporate_sector_wealth / Σ(corporate_sector_wealth × household_weight) over the dataset. business_rates = shareholding × UK business-rates revenue (all four nations). corporate_sdlt = shareholding × UK corporate stamp-duty revenue. corporate_land_value divides by the same dataset total. On a filtered dataset the shares sum to 1 over the region.
household_income_decile ranks equiv_hbai_household_net_income within the dataset, so scoped runs report within-region deciles.
in_relative_poverty_bhc compares income with 60% of the dataset's person-weighted median, so scoped runs use the region's median, not the UK's.
Who is affected
Options
- Run nationally, then filter outputs, for UK row-filter strategies. Scoped results equal the national run restricted to the region by construction, including under reforms. A UK national run takes seconds. Regional deciles become UK deciles, unlike US state runs, which keep filtering before the run.
- Pass national values into the scoped run (for example
shareholding from the unscoped baseline). This keeps within-region deciles. It cannot cover reform-dependent quantities such as the relative poverty median under a reform, or the reform-only incidence variables.
Option 1 changes what regional decile outputs mean, so it needs a decision.
What happens
A UK simulation scoped by row filter (nation, constituency or local-authority regions, or any
RowFilterStrategy/RegionGroupStrategy) runs policyengine-uk on the filtered households only. Several policyengine-uk formulas normalise over the households in the dataset. On a filtered dataset they normalise over the region instead of the UK, so the region's households receive UK-wide totals and region-relative ranks.Measured on 2026-10-08/09 with policyengine-uk 2.102.3 on the certified
enhanced_frs_2024_25_year_2026.h5(baseline policy, 2026). The nation rows were re-run onmainat 07bae75 (6.2.3, #565'sregionfilters) and match the first measurement exactly. Each figure compares a scoped run with the same households in the national run:£31.73bn is the UK business-rates total. The national run splits it £27.28bn / £2.37bn / £1.83bn / £0.25bn across the four nations; every scoped run puts all of it on the region.
Which variables (Scotland, 5,405 households)
shareholdingbusiness_ratescorporate_sdltexpected_sdltcorporate_land_valuehousehold_income_decilehousehold_wealth_decilepre_budget_change_ons_household_income_decilein_relative_poverty_bhc/_ahcattends_private_school(persons)State Pension, LHA rates, weights and the absolute poverty thresholds match. The reform-only incidence variables (
corporate_incident_tax_revenue_change,consumer_incident_tax_revenue_change,employer_ni_response_*) are zero in the baseline, so this run does not test them.Mechanism (policyengine-uk 2.102.3, read this session)
shareholding= householdcorporate_sector_wealth/ Σ(corporate_sector_wealth×household_weight) over the dataset.business_rates=shareholding× UK business-rates revenue (all four nations).corporate_sdlt=shareholding× UK corporate stamp-duty revenue.corporate_land_valuedivides by the same dataset total. On a filtered dataset the shares sum to 1 over the region.household_income_decileranksequiv_hbai_household_net_incomewithin the dataset, so scoped runs report within-region deciles.in_relative_poverty_bhccompares income with 60% of the dataset's person-weighted median, so scoped runs use the region's median, not the UK's.Who is affected
include_constituencies/include_local_authoritiesproduce them too.Options
shareholdingfrom the unscoped baseline). This keeps within-region deciles. It cannot cover reform-dependent quantities such as the relative poverty median under a reform, or the reform-only incidence variables.Option 1 changes what regional decile outputs mean, so it needs a decision.