You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Four more variables declare uprating but are missing from uprating_indices.yaml #1862
Follow-up to #1859 / #1860, raised in review of that PR. Same root cause, different variables — filed separately to keep the fix there focused.
Root cause, stated for the record
The class-level uprating = "..." attribute on a Variable is dead metadata in this repo: nothing reads it, and policyengine-core only inspects it to refuse combining it with its own @uprated decorator. data/uprating_indices.yaml is the only mechanism that actually applies uprating (apply_single_year_uprating / reset_growthfactor_uprating in data/economic_assumptions.py).
So a variable can declare an index and silently never be uprated. That is what #1859 observed for electricity_consumption and gas_consumption.
Four more affected
Measured on enhanced_frs_2024_25, household means, 2024 → 2027, all flat:
variable
declares
2024
2027
water_and_sewerage_charges
indices.ofwat.water_bills
375.51
375.51
housing_service_charges
indices.obr.lagged_average_earnings
91.81
91.81
pension_contributions_via_salary_sacrifice
indices.obr.average_earnings
418.69
418.69
rail_usage
gov.dft.rail.ridership_index
515.59
515.59
Separately, savings_interest_income declares indices.ons.household_interest_income, but the YAML applies per_capita.gdp to it — a mismatch rather than an omission.
Two of the four point at indices that may have no yoy_growth parameter yet, so fixing them is likely more than a YAML addition.
Suggested durable fix
A code-health test (natural home policyengine_uk/tests/code_health/) asserting that every variable declaring uprating appears in uprating_indices.yaml under the matching index. That makes the gap visible instead of silent, and would have caught #1859 at the point it was introduced.
Activity
Scope the energy exclusion to dataset projection, and fix the fragment
Stop CPI-uprating energy, which the data build already prices (#1868)
Uprate three more columns, and guard the gap that hid them
Uprate three more columns, and guard the gap that hid them