Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/2778.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Bring the economic assumptions page into line with the uprating map, the rent and water projections and the October 2026 road fuel forecast.
107 changes: 89 additions & 18 deletions docs/book/assumptions/growthfactors.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ We use the OBR's CPI projections to drive most benefit and consumption variables
| Growth rate | 9.1% | 7.3% | 2.5% | 3.4% | 3.1% | 3.4% | 2.1% | 2.1% | 2.0% | 2.0% |

We apply CPI to these variables:
- All reported benefits– `carers_allowance_reported`, `child_benefit_reported`, `child_tax_credit_reported`, `esa_contrib_reported`, `esa_income_reported`, `housing_benefit_reported`, `iidb_reported`, `incapacity_benefit_reported`, `income_support_reported`, `jsa_contrib_reported`, `jsa_income_reported`, `maternity_allowance_reported`, `pension_credit_reported`, `sda_reported`, `state_pension_reported`, `universal_credit_reported`, `winter_fuel_allowance_reported`, `working_tax_credit_reported`
- Reported benefits, apart from the reported council tax reduction under Council tax below– `carers_allowance_reported`, `child_benefit_reported`, `child_tax_credit_reported`, `esa_contrib_reported`, `esa_income_reported`, `housing_benefit_reported`, `iidb_reported`, `incapacity_benefit_reported`, `income_support_reported`, `jsa_contrib_reported`, `jsa_income_reported`, `maternity_allowance_reported`, `pension_credit_reported`, `sda_reported`, `state_pension_reported`, `universal_credit_reported`, `winter_fuel_allowance_reported`, `working_tax_credit_reported`
- All consumption categories EXCEPT energy– `alcohol_and_tobacco_consumption`, `clothing_and_footwear_consumption`, `communication_consumption`, `education_consumption`, `food_and_non_alcoholic_beverages_consumption`, `health_consumption`, `household_furnishings_consumption`, `housing_water_and_electricity_consumption`, `miscellaneous_consumption`, `recreation_consumption`, `restaurants_and_hotels_consumption`, `transport_consumption`

`domestic_energy_consumption`, `electricity_consumption` and `gas_consumption` are deliberately excluded. The data build calibrates them to NEED mean kWh and converts to pounds at Ofgem Q2 2026 unit rates, so the stored values already carry FY26/27 price levels; uprating them from the dataset's data year would re-apply price changes that are already included. See PolicyEngine/policyengine-uk#1867. A dataset that declares its energy price year instead projects them with household electricity and gas price indices (`gov.economic_assumptions.energy_prices`): ONS CPI prices to the latest outturn, then the OBR's utilities inflation forecast, holding VAT on electricity at 5% so the VAT formulas apply any change in the rate. See the economic assumptions README. `liquid_fuel_consumption` and `solid_fuel_consumption` (heating oil, LPG, coal and wood) are not covered by Ofgem's price cap, so they are CPI-uprated from the data year like other LCFS spending.

- Other variables– `afcs_reported`, `bsp_reported`, `childcare_expenses`, `free_school_fruit_veg`, `free_school_meals`, `free_school_milk`, `maintenance_expenses`, `statutory_maternity_pay`, `statutory_paternity_pay`, `statutory_sick_pay`, `state_pension`, `war_widows_pension_reported`, `widowed_parents_allowance_reported`
- Other variables– `afcs_reported`, `bsp_reported`, `bus_fare_spending`, `bus_fare_spending_reported`, `childcare_expenses`, `company_car_capital_contributions`, `company_car_list_price`, `company_car_private_use_payments`, `free_school_fruit_veg`, `free_school_meals`, `free_school_milk`, `local_bus_uncapped_single_fare`, `maintenance_expenses`, `statutory_maternity_pay`, `statutory_paternity_pay`, `statutory_sick_pay`, `state_pension`, `war_widows_pension_reported`, `widowed_parents_allowance_reported`

`bsp_reported` stays nominally flat when a dataset explicitly supplies both
`war_widows_pension_reported` and `widowed_parents_allowance_reported` in
Expand All @@ -34,7 +34,7 @@ We use HMRC road-fuel clearances and OBR-implied forecast volumes for petrol and

| Fiscal year | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 | 2031 |
|-------------|------|------|------|------|------|------|------|------|------|------|
| Growth rate | 6.3% | -0.6% | -0.1% | -1.3% | -2.3% | -3.1% | -3.1% | -4.0% | -5.4% | -6.5% |
| Growth rate | 6.3% | -0.6% | -0.1% | -1.3% | -2.3% | -3.1% | -4.0% | -4.1% | -5.6% | -6.6% |

We apply this to: `diesel_spending`, `petrol_spending`

Expand Down Expand Up @@ -62,7 +62,9 @@ We apply the OBR's wage growth forecasts to employment-related variables.
|-------------|------|------|------|------|------|------|------|------|------|------|
| Growth rate | 6.1% | 6.2% | 5.1% | 4.1% | 3.7% | 3.0% | 2.1% | 2.3% | 2.5% | 2.6% |

We use average earnings for these variables: `employee_pension_contributions`, `employer_pension_contributions`, `employment_income`, `employment_income_before_lsr`, `personal_pension_contributions`, `student_loan_repayments`
We use average earnings for these variables: `defined_benefit_pension_input_amount`, `employee_pension_contributions`, `employer_pension_contributions`, `employment_income`, `employment_income_before_lsr`, `pension_contributions_via_bonus_sacrifice`, `pension_contributions_via_salary_sacrifice`, `pension_contributions_via_salary_sacrifice_pre_2015`, `personal_pension_contributions`, `student_loan_repayments`

The map leaves out `employee_pension_contributions_reported`, so we hold a stored value flat to 2030 and grow it with average earnings from 2031.

### Newly assigned student loan plans

Expand All @@ -82,14 +84,15 @@ later intakes are added only in England: Plan 5 is the only plan that did not
exist in the base year, while the other nations' plans for those intakes are
already in the data. Plan 1 loans first paid before September 2006 (the 2005
and earlier intakes) are written off at 65, later ones about 29 years after
the course started. Take-up remains a fixed 40%
probability with a draw keyed on person ID. This funding-nation routing
applies to newly assigned loans; the existing-holder relabelling and
write-off approximations are unchanged.
the course started. Take-up stays at a fixed 40%
probability with a draw keyed on person ID. These routes and the write-off
ages decide only which new loans we assign. Existing holders keep their
recorded plan and repayment, because the data hold no course or repayment
dates that could establish a new plan or a cancellation.

## Lagged average earnings

We lag earnings growth by one year and use that to uprate housing service charges (including ground rent).
We lag earnings growth by one year and use that to uprate housing service charges, including ground rent (`housing_service_charges`).

| Year | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 | 2031 |
|-------------|------|------|------|------|------|------|------|------|------|------|
Expand All @@ -103,7 +106,13 @@ We derive these rates as calendar-year nominal GDP growth from the OBR's October
|-------------|------|------|------|------|------|------|------|------|------|------|
| Growth rate | 10.0% | 5.2% | 4.0% | 4.6% | 4.0% | 3.1% | 3.4% | 3.6% | 3.4% | 3.3% |

We use per capita GDP for these variables: `benunit_reported_capital`, `capital_gains`, `capital_gains_badr`, `capital_gains_before_response`, `capital_gains_carried_interest`, `capital_gains_residential_property`, `cash_isa`, `cash_isa_balance`, `corporate_wealth`, `directly_held_shares`, `dividend_income`, `gross_financial_wealth`, `household_lifetime_isa_balance`, `lifetime_isa_balance`, `lump_sum_income`, `main_residence_value`, `maintenance_income`, `miscellaneous_income`, `mortgage_capital_repayment`, `net_financial_wealth`, `non_residential_property_value`, `other_residential_property_value`, `owned_land`, `pension_credit_reported_capital`, `pension_income`, `private_pension_wealth`, `private_transfer_income`, `property_income`, `property_rental_income`, `savings`, `spousal_maintenance_income`, `stocks_and_shares_isa`, `stocks_and_shares_isa_balance`, `sublet_income`, `uc_reported_capital`, `unit_and_investment_trusts`
We use per capita GDP for these variables: `benunit_reported_capital`, `cash_isa`, `cash_isa_balance`, `consumer_debt`, `corporate_wealth`, `directly_held_shares`, `dividend_income`, `gross_financial_wealth`, `household_lifetime_isa_balance`, `income_not_otherwise_charged`, `individual_savings_account_dividend_income`, `lifetime_isa_balance`, `lump_sum_income`, `maintenance_income`, `miscellaneous_income`, `mortgage_capital_repayment`, `mortgage_debt`, `net_financial_wealth`, `non_residential_property_purchased`, `non_residential_property_secured_debt`, `non_residential_property_value`, `other_residential_property_secured_debt`, `owned_company_capital`, `owned_company_holding_value`, `owned_company_trade_assets`, `owned_land`, `pension_credit_reported_capital`, `pension_income`, `private_pension_wealth`, `private_transfer_income`, `property_income`, `property_rental_income`, `rent_paid_as_boarder`, `rent_paid_as_lodger`, `savings`, `spousal_maintenance_income`, `stocks_and_shares_isa`, `stocks_and_shares_isa_balance`, `sublet_income`, `uc_reported_capital`, `unit_and_investment_trusts`

## Capital gains

By default we grow capital gains at the per capita GDP rates above. A simulation can supply a versioned projection of aggregate gains instead, and we convert it to factors for each record using population growth. See the [capital gains projection guide](https://github.com/PolicyEngine/policyengine-uk/blob/main/docs/capital-gains-projection.md).

We apply this to: `capital_gains`, `capital_gains_badr`, `capital_gains_before_response`, `capital_gains_carried_interest`, `capital_gains_residential_property`

## Savings income

Expand All @@ -130,11 +139,38 @@ We project each country's council tax receipts, net of council tax reduction, wi
| Scotland | 6.4% | 2.4% | 3.9% | 3.9% | 3.9% | 3.9% | 3.9% | 3.9% | 3.9% |
| Wales | 7.1% | 9.9% | 7.7% | 7.4% | 7.4% | 7.4% | 7.4% | 7.4% | 7.4% |

Receipts are the Band D level times the tax base, the number of Band D equivalent dwellings, so they grow with the number of homes as well as with bills. Household weights grow with population, so each household's `council_tax` grows by its country's receipts growth divided by population growth: (1 + receipts growth) / (1 + population growth) − 1. Each country's weighted total then grows with its receipts. Northern Ireland has no council tax (it has domestic rates), so any `council_tax` a dataset gives its households is held flat.
Receipts are the Band D level times the tax base, the number of Band D equivalent dwellings, so they grow with the number of homes as well as with bills. Household weights grow with population, so each household's `council_tax` grows by its country's receipts growth divided by population growth: (1 + receipts growth) / (1 + population growth) − 1. Each country's weighted total then grows with its receipts. Northern Ireland has no council tax (it has domestic rates), so any `council_tax` a dataset gives its households is held flat. A person's `council_tax_benefit_reported` grows by the same factor as their household's `council_tax`, so a reported reduction keeps its share of the bill.

## Domestic rates

A Northern Ireland household's rates bill equals its home's capital value times the sum of the regional rate and its council's district rate. Domestic capital values stay at the 1 January 2005 valuation list, so the bill grows with those two rates. We grow `domestic_rates` by their combined growth across the 11 councils, weighted by the domestic rates households paid to each council the year before. From 2027-28 we hold the 2026-27 growth, assuming the domestic regional rate rises 5% a year, as the Finance Minister's draft Budget proposed to 2028-29, and district rates keep their 2026-27 growth. Households outside Northern Ireland have no domestic rates.

| Fiscal year | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 | 2031 |
|-------------|------|------|------|------|------|------|------|------|------|------|
| Growth rate | 1.3% | 6.3% | 4.9% | 4.7% | 4.3% | 4.3% | 4.3% | 4.3% | 4.3% | 4.3% |

## Water and sewerage

We project `water_and_sewerage_charges` by country. Households in England and Wales follow the average household bill from Ofwat. Households in Scotland follow Scottish Water's charges, which Scottish Water sets within limits from the Water Industry Commission for Scotland. Both series end at 2029-30 and keep that rate in later years. Northern Ireland has no domestic water charges, so any a dataset gives its households stay flat. These country routes run to the end of the dataset projection in 2032. From 2033 policyengine-core grows every household's charges by the Ofwat index the variable declares, in Scotland and Northern Ireland too. That index grows to 2074, the last year any growth series covers, so charges hold from 2075.

| Fiscal year | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 |
|-------------------|------|------|------|------|------|------|------|------|
| England and Wales | 5.2% | 9.2% | 4.4% | 27.0% | 5.4% | 6.2% | 6.2% | 5.0% |
| Scotland | 4.2% | 5.0% | 8.8% | 9.9% | 8.7% | 3.9% | 3.9% | 4.1% |

## House prices

We use the OBR's house price growth (October 2026 EFO, economy Table 1.16).

| Year | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 | 2031 |
|-------------|------|------|------|------|------|------|------|------|------|------|
| Growth rate | 9.3% | 0.4% | 0.7% | 2.6% | 2.1% | 2.4% | 2.8% | 2.8% | 2.8% | 2.8% |

We apply this to: `additional_residential_property_purchased`, `main_residence_value`, `other_residential_property_value`

## Mortgage interest

We use the OBR's mortgage interest rate index growth rates.
We use the OBR's mortgage interest rate index growth rates. The OBR's October 2026 EFO stops forecasting mortgage interest payments after 2029, so for 2030 we use its November 2025 forecast, and we hold that rate in later years.

| Year | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 | 2031 |
|-------------|------|------|------|------|------|------|------|------|------|------|
Expand All @@ -154,13 +190,16 @@ We apply this to: `private_pension_income`

## Rent

We use the OBR's rental growth projections.
We project `rent` by tenure. Each household that rents privately follows the ONS Price Index of Private Rents for its region to 2025 and then the OBR's UK private rents forecast (October 2026 EFO, economy Table 1.7). With no published regional forecast, every region takes the UK rate from 2026, and a household with no recorded region takes the UK rate in every year.

| Year | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 | 2031 |
|-------------|------|------|------|------|------|------|------|------|------|------|
| Growth rate | 3.5% | 5.8% | 7.2% | 5.4% | 3.6% | 3.2% | 2.7% | 2.6% | 2.5% | 2.8% |
Every other household follows social rent growth. To 2025 we use the Regulator of Social Housing's stock-average general needs rent growth in England. The OBR publishes no social rent forecast, so from 2026 we apply the England social rent cap: CPI inflation in the previous September plus 1 percentage point.

We apply this to: `rent`
Both series run to the end of the dataset projection in 2032, and we apply each series' 2031 rate again in 2032. From 2033 each household's `rent` holds at its 2032 value, because the variable declares no uprating index.

| Year | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 | 2031 |
|-----------------|------|------|------|------|------|------|------|------|------|------|
| Private rent, UK | 4.3% | 7.4% | 8.7% | 6.3% | 3.4% | 2.6% | 2.0% | 2.1% | 2.4% | 2.6% |
| Social rent | 1.6% | 4.1% | 7.2% | 8.0% | 4.8% | 4.5% | 4.4% | 3.0% | 3.2% | 3.0% |

## Per capita mixed income

Expand All @@ -170,7 +209,39 @@ We derive these rates as calendar-year mixed income growth from the OBR's Octobe
|-------------|------|------|------|------|------|------|------|------|------|------|
| Growth rate | 2.8% | -0.6% | 2.8% | 0.5% | 3.0% | 3.2% | 3.5% | 3.8% | 4.0% | 4.0% |

We apply this to: `self_employment_income`
We apply this to: `owned_company_income_share`, `self_employment_gross_receipts`, `self_employment_income`, `trading_loss`

## Gambling duty bases

We grow each gambling duty's base per person with its own series, and get each year's base by dividing the duty's receipts by the rate the model charges that year. We take receipts from HMRC's outturn for 2025-26 and from the OBR's October 2026 EFO (receipts Table 4.10) from 2026-27, and divide the base's growth by population growth: (1 + base growth) / (1 + population growth) − 1. Growing the base rather than receipts lets the model apply its own rate changes once. See the [gambling duties guide](https://github.com/PolicyEngine/policyengine-uk/blob/main/docs/engineering/gambling-duties.md#projection).

| Fiscal year | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 | 2031 |
|-------------|------|------|------|------|------|------|------|
| General Betting Duty | -4.4% | -4.4% | 2.6% | 4.3% | 3.2% | 2.7% | 2.6% |
| Pool Betting Duty | -51.3% | -28.9% | -5.4% | 6.5% | -1.0% | 5.3% | 4.1% |
| Remote Gaming Duty | 13.3% | 9.2% | 0.9% | 2.0% | 2.0% | 1.1% | 0.4% |
| Machine Games Duty | 4.9% | 5.4% | -0.4% | 3.5% | 0.8% | 0.9% | 2.1% |
| Gaming Duty | 4.8% | 0.0% | 6.0% | 0.0% | -0.1% | 0.3% | -0.7% |
| Bingo Duty | 3.0% | -0.2% | -0.1% | -0.2% | -0.2% | -0.2% | -0.2% |
| Lottery Duty | 4.8% | -15.4% | 2.2% | 2.9% | 3.0% | 2.6% | 2.7% |

We apply each series to its duty's bases:

- General Betting Duty: `betting_exchange_commission`, `financial_spread_betting_net_losses`, `horse_and_dog_pool_betting_net_losses`, `land_based_fixed_odds_betting_net_losses`, `other_spread_betting_net_losses`, `remote_other_betting_net_losses`, `remote_uk_horseracing_betting_net_losses`
- Pool Betting Duty: `pool_betting_net_receipts`
- Remote Gaming Duty: `remote_gaming_net_losses`
- Machine Games Duty: `machine_games_higher_rate_net_takings`, `machine_games_lower_rate_net_takings`, `machine_games_standard_rate_higher_stake_net_takings`, `machine_games_standard_rate_net_takings`
- Gaming Duty: `land_based_casino_net_losses`
- Bingo Duty: `bingo_net_receipts`
- Lottery Duty: `national_lottery_ticket_spending`

## Rail usage

We use passenger journeys in Great Britain from the Office of Rail and Road (Table 1220), and hold journeys flat from 2026-27, with no official forecast to follow. Household weights grow with population, so each household's `rail_usage` grows by journey growth divided by population growth: (1 + journey growth) / (1 + population growth) − 1. The weighted total then follows the journeys.

| Fiscal year | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 | 2031 |
|-------------|------|------|------|------|------|------|------|------|------|------|
| Growth rate | 38.4% | 14.9% | 6.2% | 5.5% | -0.2% | -0.1% | -0.2% | -0.2% | -0.2% | -0.2% |

## Population

Expand Down
Loading