diff --git a/changelog.d/nlw-april-2027-rates.added.md b/changelog.d/nlw-april-2027-rates.added.md new file mode 100644 index 0000000000..54ed52e987 --- /dev/null +++ b/changelog.d/nlw-april-2027-rates.added.md @@ -0,0 +1 @@ +Add the April 2027 minimum wage rates Budget 2026 announced (paragraph 6.128): £13.21 for the national living wage, £11.27 for ages 18 to 20, and £8.31 for ages 16 to 17 and apprentices. The projection by earnings growth now starts from them. diff --git a/changelog.d/nlw-projection-earnings.fixed.md b/changelog.d/nlw-projection-earnings.fixed.md new file mode 100644 index 0000000000..9ce5cb9e5b --- /dev/null +++ b/changelog.d/nlw-projection-earnings.fixed.md @@ -0,0 +1 @@ +Project the minimum wage rates, including the national living wage, after the last rate set by the OBR's national living wage forecast (EFO economy Table 1.13) and average earnings growth after it, so the Universal Credit benefit cap earnings exception, the minimum income floor, ESA permitted work, the childcare earnings tests and the Carer's Allowance earnings limit rise with them instead of holding April 2026 rates. A reform that sets a minimum wage rate from some year onwards now holds that rate flat against a rising baseline, where before it was an uplift on a flat one. diff --git a/docs/book/assumptions/nowcasting-comparison.md b/docs/book/assumptions/nowcasting-comparison.md index f86d67c466..482e4dc14d 100644 --- a/docs/book/assumptions/nowcasting-comparison.md +++ b/docs/book/assumptions/nowcasting-comparison.md @@ -33,10 +33,10 @@ totals over the next two-to-three fiscal years. | Aspect | Resolution Foundation | PolicyEngine UK | |-------|------------------------|-----------------| -| Wage floor | Models the National Living Wage / NMW explicitly each year, lifting anyone below their age-appropriate minimum to the floor. | Earnings are uprated by the OBR average-earnings index without an explicit floor; minimum wage uprating is held in `gov/hmrc/minimum_wage/` and only enters when a reform invokes it. | +| Wage floor | Models the National Living Wage / NMW explicitly each year, lifting anyone below their age-appropriate minimum to the floor. | Earnings are uprated by the OBR average-earnings index without an explicit floor; minimum wage rates are held in `gov/hmrc/minimum_wage/` and projected after the last rate set by the OBR's national living wage forecast, then average earnings; they enter through the rules that read them (the Universal Credit minimum income floor and benefit cap earnings exception, the childcare earnings tests, ESA permitted work and the Carer's Allowance earnings limit), not through earnings. | | Spillovers | Includes a spillover effect for workers just above the wage floor (compression of the lower wage distribution). | No automatic spillover; earnings shift uniformly with the OBR index. | -| NLW extensions | Models the 2024-25 extension of the NLW to 21- and 22-year-olds, and provisionally the 2029-30 extension to 18-20-year-olds. | NLW age bands are encoded in parameters (`gov/hmrc/minimum_wage`) but extensions only flow into outputs if a household's wage actually falls below the modelled floor — there is no explicit re-anchoring of earnings. | -| Beyond 2025-26 | Assumes the wage floor grows in line with average earnings. | Same effective behaviour, but driven by uprating rather than a wage-floor rule. | +| NLW extensions | Models the 2024-25 extension of the NLW to 21- and 22-year-olds, and provisionally the 2029-30 extension to 18-20-year-olds. | NLW age bands are encoded in parameters (`gov/hmrc/minimum_wage`). A change to a band, such as extending the NLW to younger workers, reaches outputs through the rules that read a person's age-band rate (the Universal Credit minimum income floor and the childcare earnings tests); earnings are not re-anchored to the floor. | +| Beyond 2025-26 | Assumes the wage floor grows in line with average earnings. | Minimum wage rates after the last one set grow by uprating rather than a wage-floor rule: with the OBR's national living wage forecast to the end of the EFO, then with average earnings. Like the model's other indices, the projection ends in 2039 and holds flat from 2040. | **Practical implication.** Low-paid workers' incomes can grow faster under the RF nowcast than under PolicyEngine because the wage floor binds and diff --git a/policyengine_uk/parameters/gov/economic_assumptions/README.md b/policyengine_uk/parameters/gov/economic_assumptions/README.md index b4e58b8cfc..2131c20b71 100644 --- a/policyengine_uk/parameters/gov/economic_assumptions/README.md +++ b/policyengine_uk/parameters/gov/economic_assumptions/README.md @@ -25,6 +25,7 @@ GDP and population assumptions remain supported. | `consumer_price_index_ahc` | CPI excluding rents/maintenance/water (AHC measure) | ONS ad hoc 3582; forecast derived by `utils/create_ahc_deflator.py` | | `rpi` | Retail Price Index year-on-year growth | EFO Table 1.7 | | `average_earnings` | Average weekly earnings growth | EFO Table 1.6 | +| `national_living_wage` | National living wage growth, for April of each year | EFO economy Table 1.13 | | `non_labour_income` | Non-labour household income growth | derived from EFO | | `road_fuel_volume` | Petrol + diesel road-fuel clearances | HMRC Hydrocarbon Oils + OBR fuel-duty forecast | | `petrol_spending_litre_proxy` | Spending growth that preserves road-fuel litres | HMRC + OBR | @@ -44,6 +45,18 @@ in an earlier EFO), the EFO's forecast years, and after them the `average_earnings` path. Years before the outturn year are kept, so each index keeps its base year. +`national_living_wage` projects the minimum wage rates +(`gov.hmrc.minimum_wage`) after the last rate set. It is the growth of the +rates set to 2027, then the OBR's estimates in Table 1.13 of the detailed +economy tables, then `average_earnings`' long-run growth. The checked-in +estimates are the October 2026 EFO's, ahead of the other series' March 2026 +vintage, because HM Treasury costed Budget 2026's Carer's Allowance taper on +them. `utils/import_obr_forecasts.py` doesn't read Table 1.13, so the series +is updated by hand with each EFO. `test_minimum_wage_projection.py` holds the +table and fails if the series stops reproducing it, or if its long-run years +stop matching `average_earnings`. Each rate is set by an S.I., so this is a projection, not +a formula. + ## Time horizons Three horizons are stitched together for each OBR and ONS series (not diff --git a/policyengine_uk/parameters/gov/economic_assumptions/create_earnings_uprating.py b/policyengine_uk/parameters/gov/economic_assumptions/create_earnings_uprating.py index bfb7db0ef3..ca15588194 100644 --- a/policyengine_uk/parameters/gov/economic_assumptions/create_earnings_uprating.py +++ b/policyengine_uk/parameters/gov/economic_assumptions/create_earnings_uprating.py @@ -11,8 +11,9 @@ triple lock and rounds to the 0.1 percentage points published by the ONS. ``create_economic_assumption_indices`` compounds it into -``gov.economic_assumptions.indices.earnings_uprating``. The series starts -from a 2010 base and runs to one year past the statutory inputs. Published +``gov.economic_assumptions.indices.earnings_uprating``. The yearly series +starts from a 2010 base and runs to one year past the statutory inputs; the +index, like the others built there, stops in 2039. Published benefit amounts remain explicit; the index projects later years. """ diff --git a/policyengine_uk/parameters/gov/economic_assumptions/yoy_growth.yaml b/policyengine_uk/parameters/gov/economic_assumptions/yoy_growth.yaml index f654017784..dc96368222 100644 --- a/policyengine_uk/parameters/gov/economic_assumptions/yoy_growth.yaml +++ b/policyengine_uk/parameters/gov/economic_assumptions/yoy_growth.yaml @@ -205,6 +205,89 @@ obr: - title: OBR long-run economic methodology (the 3.83% rate from 2036, unchanged from November 2025) href: https://obr.uk/forecasts-in-depth/the-economy-forecast/potential-output-and-the-output-gap/ + national_living_wage: + description: National living wage year-on-year growth, for the rate from April of each year. + # The OBR forecasts the national living wage itself (EFO detailed economy + # tables, Table 1.13): rates set to 2027, then "OBR estimates consistent + # with the rest of our economy forecast". Each value here is one year's + # rate over the year before's, to six decimals, so compounding them from + # £13.21 reproduces the table to the penny: £13.51 (2028), £13.85 (2029), + # £14.23 (2030) and £14.62 (2031). HM Treasury costed the Budget 2026 + # Carer's Allowance taper on these "OBR projections for increases in the + # National Living Wage" (policy costings, October 2026). After the EFO + # horizon the series takes average_earnings' long-run growth: the Low Pay + # Commission's reference point for the rate is two-thirds of median + # hourly earnings (remit 2026). Refresh 2028 onwards with each EFO. + values: + # Rates set: S.I. 2021/329 to 2026/357, and £13.21 for 2027 (Budget + # 2026, paragraph 6.128), from £8.72 in 2020. + 2021-01-01: 0.021789 + 2022-01-01: 0.066218 + 2023-01-01: 0.096842 + 2024-01-01: 0.097889 + 2025-01-01: 0.067308 + 2026-01-01: 0.040950 + 2027-01-01: 0.039339 + # OBR estimates (2028-2031), EFO October 2026 Table 1.13 + 2028-01-01: 0.022984 + 2029-01-01: 0.025251 + 2030-01-01: 0.027289 + 2031-01-01: 0.026986 + # Long run (2032+): average_earnings growth, as refreshed by the + # October 2026 EFO (#2717) + 2032-01-01: 0.0285 + 2033-01-01: 0.0309 + 2034-01-01: 0.0334 + 2035-01-01: 0.0358 + 2036-01-01: 0.0383 + 2037-01-01: 0.0383 + 2038-01-01: 0.0383 + 2039-01-01: 0.0383 + 2040-01-01: 0.0383 + 2041-01-01: 0.0383 + 2042-01-01: 0.0383 + 2043-01-01: 0.0383 + 2044-01-01: 0.0383 + 2045-01-01: 0.0383 + 2046-01-01: 0.0383 + 2047-01-01: 0.0383 + 2048-01-01: 0.0383 + 2049-01-01: 0.0383 + 2050-01-01: 0.0383 + 2051-01-01: 0.0383 + 2052-01-01: 0.0383 + 2053-01-01: 0.0383 + 2054-01-01: 0.0383 + 2055-01-01: 0.0383 + 2056-01-01: 0.0383 + 2057-01-01: 0.0383 + 2058-01-01: 0.0383 + 2059-01-01: 0.0383 + 2060-01-01: 0.0383 + 2061-01-01: 0.0383 + 2062-01-01: 0.0383 + 2063-01-01: 0.0383 + 2064-01-01: 0.0383 + 2065-01-01: 0.0383 + 2066-01-01: 0.0383 + 2067-01-01: 0.0383 + 2068-01-01: 0.0383 + 2069-01-01: 0.0383 + 2070-01-01: 0.0383 + 2071-01-01: 0.0383 + 2072-01-01: 0.0383 + 2073-01-01: 0.0383 + metadata: + unit: /1 + label: National living wage growth + reference: + - title: OBR EFO October 2026, detailed forecast tables (economy), Table 1.13 + href: https://obr.uk/efo/economic-and-fiscal-outlook-october-2026/ + - title: HM Treasury, Budget 2026 policy costings, Carer's Allowance taper (cost base) + href: https://assets.publishing.service.gov.uk/media/6ae1883fe4367e5c8b0467df/AB26_Policy_Costing.pdf + - title: Low Pay Commission remit 2026 + href: https://www.gov.uk/government/publications/national-minimum-wage-and-national-living-wage-low-pay-commission-remit-2026/low-pay-commission-remit-2026-national-living-wage-and-national-minimum-wage + consumer_price_index: description: Consumer price index year-on-year growth. values: diff --git a/policyengine_uk/parameters/gov/hmrc/minimum_wage/apprentice.yaml b/policyengine_uk/parameters/gov/hmrc/minimum_wage/apprentice.yaml index 14c0f8f0dd..abc2abc61f 100644 --- a/policyengine_uk/parameters/gov/hmrc/minimum_wage/apprentice.yaml +++ b/policyengine_uk/parameters/gov/hmrc/minimum_wage/apprentice.yaml @@ -4,6 +4,13 @@ description: Minimum wage rate for apprentices. # rate began on 1 October 2010 (NMW Regulations 1999 reg. 13(3) as substituted # by S.I. 2010/1901 reg. 5). Rates take effect on the commencement date of each # amending S.I.: on 1 October until 2016, then on 1 April from 2017. +# Rates after the last one set here are a projection, not law: the last rate +# set times the growth since then in +# gov.economic_assumptions.indices.obr.national_living_wage, rounded to the +# nearest penny, as for the other minimum wage rates (non_apprentice.yaml). +# Growing it by the national living wage's index, which keeps its ratio to +# that rate to the penny, is an assumption: the Low Pay Commission is asked +# to set it to support apprentices' employment prospects (remit 2026). values: 2010-10-01: value: 2.5 @@ -95,11 +102,21 @@ values: reference: - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(3)(c) href: https://www.legislation.gov.uk/uksi/2026/357/made + 2027-04-01: + value: 8.31 + reference: + - title: Budget 2026, paragraph 6.128 (announced 28 October 2026; the amending S.I. is not yet made) + href: https://www.gov.uk/government/publications/budget-2026-document/budget-2026-html metadata: economy: false household: false label: Apprentice minimum wage unit: currency-GBP + uprating: + parameter: gov.economic_assumptions.indices.obr.national_living_wage + rounding: + type: nearest + interval: 0.01 reference: - title: The National Minimum Wage Regulations 2015, regulations 4A(1)(d) and 5 href: https://www.legislation.gov.uk/uksi/2015/621/contents diff --git a/policyengine_uk/parameters/gov/hmrc/minimum_wage/non_apprentice.yaml b/policyengine_uk/parameters/gov/hmrc/minimum_wage/non_apprentice.yaml index ae74684457..78f3619d9e 100644 --- a/policyengine_uk/parameters/gov/hmrc/minimum_wage/non_apprentice.yaml +++ b/policyengine_uk/parameters/gov/hmrc/minimum_wage/non_apprentice.yaml @@ -20,469 +20,560 @@ description: Minimum wage rate for non-apprentices by age. # Rates take effect on the commencement date of each amending S.I. Until # October 2015 all rate changes took effect on 1 October. The national living # wage has changed each 1 April since 2016; the other rates changed on -# 1 October 2016 and each 1 April from 2017. +# 1 October 2016 and each 1 April from 2017. The 1 April 2027 rates are the +# ones Budget 2026 announced (paragraph 6.128); the amending S.I. is not yet +# made. +# +# Rates after the last one set here are a projection, not law. Each is the +# last rate set times the growth since then in +# gov.economic_assumptions.indices.obr.national_living_wage, rounded to the +# nearest penny (the rounding is not repeated each year). To the end of the +# EFO that index follows the OBR's own forecast of the national living wage +# (detailed economy tables, Table 1.13), so the projected national living +# wage is the OBR's estimate to the penny: £13.51, £13.85, £14.23 and £14.62 +# from April 2028 to April 2031 (October 2026 EFO). HM Treasury costed the +# Budget 2026 Carer's Allowance taper on these projections. After the EFO the +# index grows with average earnings: the Low Pay Commission remit 2026 says +# two-thirds of median hourly earnings "should continue to be the key +# reference point for future rates" of the national living wage. +# +# The index is dated 1 January, so before annualisation a projected rate +# starts on 1 January. Each year's figure is read at 30 April, the rate for +# the fiscal year that starts that April. Like the model's other indices, this +# one ends in 2039, so projected rates hold flat from 2040. +# +# The younger bands' projection is an assumption: each grows from its own +# last rate by the same index, so it keeps its ratio to the national living +# wage to the penny. The Government "remains committed to" aligning the 18 to +# 20 rate with the national living wage, at a pace the Low Pay Commission sets +# (remit 2026), which this does not model. +# +# A rate added to this file takes precedence, and the projection continues +# from it. A reform does not: a rate a reform sets for some years is not +# projected forward, so an open-ended reform holds its rate flat while the +# baseline rises. brackets: - threshold: 2010-10-01: 0 amount: - 2010-10-01: - value: 3.64 - reference: - - title: The National Minimum Wage Regulations 1999 (Amendment) Regulations 2010, regulation 5 (substituted regulation 13(2)) - href: https://www.legislation.gov.uk/uksi/2010/1901/made - 2011-10-01: - value: 3.68 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 5(b) - href: https://www.legislation.gov.uk/uksi/2011/2345/made - 2012-10-01: - value: 3.68 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 5(b) (rate from 1 October 2011, unchanged by S.I. 2012/2397) - href: https://www.legislation.gov.uk/uksi/2011/2345/made - 2013-10-01: - value: 3.72 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2013, regulation 2(3)(b) - href: https://www.legislation.gov.uk/uksi/2013/1975/made - 2014-10-01: - value: 3.79 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2014, regulation 3(2)(b) - href: https://www.legislation.gov.uk/uksi/2014/2485/made - 2015-10-01: - value: 3.87 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2015, regulation 2(2)(c) - href: https://www.legislation.gov.uk/uksi/2015/1724/made - 2016-04-01: - value: 3.87 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2016, regulation 3 (substituted regulation 4A(1)(c), under 18) - href: https://www.legislation.gov.uk/uksi/2016/68/made - 2016-10-01: - value: 4.0 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2016, regulation 2(2)(c) - href: https://www.legislation.gov.uk/uksi/2016/953/made - 2017-04-01: - value: 4.05 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2017, regulation 2(3)(c) - href: https://www.legislation.gov.uk/uksi/2017/465/made - 2018-04-01: - value: 4.2 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2018, regulation 2(3)(c) - href: https://www.legislation.gov.uk/uksi/2018/455/made - 2019-04-01: - value: 4.35 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2019, regulation 2(3)(c) - href: https://www.legislation.gov.uk/uksi/2019/603/made - 2020-04-01: - value: 4.55 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2020, regulation 2(3)(c) - href: https://www.legislation.gov.uk/uksi/2020/338/made - 2021-04-01: - value: 4.62 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2021, regulation 2(3)(d) - href: https://www.legislation.gov.uk/uksi/2021/329/made - 2022-04-01: - value: 4.81 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2022, regulation 2(3)(c) - href: https://www.legislation.gov.uk/uksi/2022/382/made - 2023-04-01: - value: 5.28 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2023, regulation 2(3)(c) - href: https://www.legislation.gov.uk/uksi/2023/354/made - 2024-04-01: - value: 6.4 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2024, regulation 2(3)(c) - href: https://www.legislation.gov.uk/uksi/2024/432/made - 2025-04-01: - value: 7.55 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2025, regulation 2(3)(b) - href: https://www.legislation.gov.uk/uksi/2025/401/made - 2026-04-01: - value: 8 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(3)(b) - href: https://www.legislation.gov.uk/uksi/2026/357/made + metadata: + uprating: + parameter: gov.economic_assumptions.indices.obr.national_living_wage + rounding: + type: nearest + interval: 0.01 + values: + 2010-10-01: + value: 3.64 + reference: + - title: The National Minimum Wage Regulations 1999 (Amendment) Regulations 2010, regulation 5 (substituted regulation 13(2)) + href: https://www.legislation.gov.uk/uksi/2010/1901/made + 2011-10-01: + value: 3.68 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 5(b) + href: https://www.legislation.gov.uk/uksi/2011/2345/made + 2012-10-01: + value: 3.68 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 5(b) (rate from 1 October 2011, unchanged by S.I. 2012/2397) + href: https://www.legislation.gov.uk/uksi/2011/2345/made + 2013-10-01: + value: 3.72 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2013, regulation 2(3)(b) + href: https://www.legislation.gov.uk/uksi/2013/1975/made + 2014-10-01: + value: 3.79 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2014, regulation 3(2)(b) + href: https://www.legislation.gov.uk/uksi/2014/2485/made + 2015-10-01: + value: 3.87 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2015, regulation 2(2)(c) + href: https://www.legislation.gov.uk/uksi/2015/1724/made + 2016-04-01: + value: 3.87 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2016, regulation 3 (substituted regulation 4A(1)(c), under 18) + href: https://www.legislation.gov.uk/uksi/2016/68/made + 2016-10-01: + value: 4.0 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2016, regulation 2(2)(c) + href: https://www.legislation.gov.uk/uksi/2016/953/made + 2017-04-01: + value: 4.05 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2017, regulation 2(3)(c) + href: https://www.legislation.gov.uk/uksi/2017/465/made + 2018-04-01: + value: 4.2 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2018, regulation 2(3)(c) + href: https://www.legislation.gov.uk/uksi/2018/455/made + 2019-04-01: + value: 4.35 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2019, regulation 2(3)(c) + href: https://www.legislation.gov.uk/uksi/2019/603/made + 2020-04-01: + value: 4.55 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2020, regulation 2(3)(c) + href: https://www.legislation.gov.uk/uksi/2020/338/made + 2021-04-01: + value: 4.62 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2021, regulation 2(3)(d) + href: https://www.legislation.gov.uk/uksi/2021/329/made + 2022-04-01: + value: 4.81 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2022, regulation 2(3)(c) + href: https://www.legislation.gov.uk/uksi/2022/382/made + 2023-04-01: + value: 5.28 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2023, regulation 2(3)(c) + href: https://www.legislation.gov.uk/uksi/2023/354/made + 2024-04-01: + value: 6.4 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2024, regulation 2(3)(c) + href: https://www.legislation.gov.uk/uksi/2024/432/made + 2025-04-01: + value: 7.55 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2025, regulation 2(3)(b) + href: https://www.legislation.gov.uk/uksi/2025/401/made + 2026-04-01: + value: 8 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(3)(b) + href: https://www.legislation.gov.uk/uksi/2026/357/made + 2027-04-01: + value: 8.31 + reference: + - title: Budget 2026, paragraph 6.128 (announced 28 October 2026; the amending S.I. is not yet made) + href: https://www.gov.uk/government/publications/budget-2026-document/budget-2026-html - threshold: 2010-10-01: 18 amount: - 2010-10-01: - value: 4.92 - reference: - - title: The National Minimum Wage Regulations 1999 (Amendment) Regulations 2010, regulation 5 (substituted regulation 13(1), ages 18 to 20) - href: https://www.legislation.gov.uk/uksi/2010/1901/made - 2011-10-01: - value: 4.98 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 5(a) - href: https://www.legislation.gov.uk/uksi/2011/2345/made - 2012-10-01: - value: 4.98 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 5(a) (rate from 1 October 2011, unchanged by S.I. 2012/2397) - href: https://www.legislation.gov.uk/uksi/2011/2345/made - 2013-10-01: - value: 5.03 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2013, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2013/1975/made - 2014-10-01: - value: 5.13 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2014, regulation 3(2)(a) - href: https://www.legislation.gov.uk/uksi/2014/2485/made - 2015-10-01: - value: 5.3 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2015, regulation 2(2)(b) - href: https://www.legislation.gov.uk/uksi/2015/1724/made - 2016-04-01: - value: 5.3 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2016, regulation 3 (substituted regulation 4A(1)(b), ages 18 to 20) - href: https://www.legislation.gov.uk/uksi/2016/68/made - 2016-10-01: - value: 5.55 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2016, regulation 2(2)(b) - href: https://www.legislation.gov.uk/uksi/2016/953/made - 2017-04-01: - value: 5.6 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2017, regulation 2(3)(b) - href: https://www.legislation.gov.uk/uksi/2017/465/made - 2018-04-01: - value: 5.9 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2018, regulation 2(3)(b) - href: https://www.legislation.gov.uk/uksi/2018/455/made - 2019-04-01: - value: 6.15 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2019, regulation 2(3)(b) - href: https://www.legislation.gov.uk/uksi/2019/603/made - 2020-04-01: - value: 6.45 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2020, regulation 2(3)(b) - href: https://www.legislation.gov.uk/uksi/2020/338/made - 2021-04-01: - value: 6.56 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2021, regulation 2(3)(c) - href: https://www.legislation.gov.uk/uksi/2021/329/made - 2022-04-01: - value: 6.83 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2022, regulation 2(3)(b) - href: https://www.legislation.gov.uk/uksi/2022/382/made - 2023-04-01: - value: 7.49 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2023, regulation 2(3)(b) - href: https://www.legislation.gov.uk/uksi/2023/354/made - 2024-04-01: - value: 8.6 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2024, regulation 2(3)(b) - href: https://www.legislation.gov.uk/uksi/2024/432/made - 2025-04-01: - value: 10 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2025, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2025/401/made - 2026-04-01: - value: 10.85 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2026/357/made + metadata: + uprating: + parameter: gov.economic_assumptions.indices.obr.national_living_wage + rounding: + type: nearest + interval: 0.01 + values: + 2010-10-01: + value: 4.92 + reference: + - title: The National Minimum Wage Regulations 1999 (Amendment) Regulations 2010, regulation 5 (substituted regulation 13(1), ages 18 to 20) + href: https://www.legislation.gov.uk/uksi/2010/1901/made + 2011-10-01: + value: 4.98 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 5(a) + href: https://www.legislation.gov.uk/uksi/2011/2345/made + 2012-10-01: + value: 4.98 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 5(a) (rate from 1 October 2011, unchanged by S.I. 2012/2397) + href: https://www.legislation.gov.uk/uksi/2011/2345/made + 2013-10-01: + value: 5.03 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2013, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2013/1975/made + 2014-10-01: + value: 5.13 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2014, regulation 3(2)(a) + href: https://www.legislation.gov.uk/uksi/2014/2485/made + 2015-10-01: + value: 5.3 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2015, regulation 2(2)(b) + href: https://www.legislation.gov.uk/uksi/2015/1724/made + 2016-04-01: + value: 5.3 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2016, regulation 3 (substituted regulation 4A(1)(b), ages 18 to 20) + href: https://www.legislation.gov.uk/uksi/2016/68/made + 2016-10-01: + value: 5.55 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2016, regulation 2(2)(b) + href: https://www.legislation.gov.uk/uksi/2016/953/made + 2017-04-01: + value: 5.6 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2017, regulation 2(3)(b) + href: https://www.legislation.gov.uk/uksi/2017/465/made + 2018-04-01: + value: 5.9 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2018, regulation 2(3)(b) + href: https://www.legislation.gov.uk/uksi/2018/455/made + 2019-04-01: + value: 6.15 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2019, regulation 2(3)(b) + href: https://www.legislation.gov.uk/uksi/2019/603/made + 2020-04-01: + value: 6.45 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2020, regulation 2(3)(b) + href: https://www.legislation.gov.uk/uksi/2020/338/made + 2021-04-01: + value: 6.56 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2021, regulation 2(3)(c) + href: https://www.legislation.gov.uk/uksi/2021/329/made + 2022-04-01: + value: 6.83 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2022, regulation 2(3)(b) + href: https://www.legislation.gov.uk/uksi/2022/382/made + 2023-04-01: + value: 7.49 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2023, regulation 2(3)(b) + href: https://www.legislation.gov.uk/uksi/2023/354/made + 2024-04-01: + value: 8.6 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2024, regulation 2(3)(b) + href: https://www.legislation.gov.uk/uksi/2024/432/made + 2025-04-01: + value: 10 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2025, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2025/401/made + 2026-04-01: + value: 10.85 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2026/357/made + 2027-04-01: + value: 11.27 + reference: + - title: Budget 2026, paragraph 6.128 (announced 28 October 2026; the amending S.I. is not yet made) + href: https://www.gov.uk/government/publications/budget-2026-document/budget-2026-html - threshold: 2010-10-01: 21 amount: - 2010-10-01: - value: 5.93 - reference: - - title: The National Minimum Wage Regulations 1999 (Amendment) Regulations 2010, regulation 3 - href: https://www.legislation.gov.uk/uksi/2010/1901/made - 2011-10-01: - value: 6.08 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 3 - href: https://www.legislation.gov.uk/uksi/2011/2345/made - 2012-10-01: - value: 6.19 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2012, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2012/2397/made - 2013-10-01: - value: 6.31 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2013, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2013/1975/made - 2014-10-01: - value: 6.5 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2014, regulation 3(1) - href: https://www.legislation.gov.uk/uksi/2014/2485/made - 2015-10-01: - value: 6.7 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2015, regulation 2(2)(a) - href: https://www.legislation.gov.uk/uksi/2015/1724/made - 2016-04-01: - value: 6.7 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2016, regulation 3 (substituted regulation 4A(1)(a), ages 21 to 24) - href: https://www.legislation.gov.uk/uksi/2016/68/made - 2016-10-01: - value: 6.95 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2016, regulation 2(2)(a) - href: https://www.legislation.gov.uk/uksi/2016/953/made - 2017-04-01: - value: 7.05 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2017, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2017/465/made - 2018-04-01: - value: 7.38 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2018, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2018/455/made - 2019-04-01: - value: 7.7 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2019, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2019/603/made - 2020-04-01: - value: 8.2 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2020, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2020/338/made - 2021-04-01: - value: 8.36 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2021, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2021/329/made - 2022-04-01: - value: 9.18 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2022, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2022/382/made - 2023-04-01: - value: 10.18 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2023, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2023/354/made - 2024-04-01: - value: 11.44 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2024, regulation 2(2) and 2(3)(a) (national living wage from age 21) - href: https://www.legislation.gov.uk/uksi/2024/432/made - 2025-04-01: - value: 12.21 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2025, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2025/401/made - 2026-04-01: - value: 12.71 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2026/357/made + metadata: + uprating: + parameter: gov.economic_assumptions.indices.obr.national_living_wage + rounding: + type: nearest + interval: 0.01 + values: + 2010-10-01: + value: 5.93 + reference: + - title: The National Minimum Wage Regulations 1999 (Amendment) Regulations 2010, regulation 3 + href: https://www.legislation.gov.uk/uksi/2010/1901/made + 2011-10-01: + value: 6.08 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 3 + href: https://www.legislation.gov.uk/uksi/2011/2345/made + 2012-10-01: + value: 6.19 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2012, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2012/2397/made + 2013-10-01: + value: 6.31 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2013, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2013/1975/made + 2014-10-01: + value: 6.5 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2014, regulation 3(1) + href: https://www.legislation.gov.uk/uksi/2014/2485/made + 2015-10-01: + value: 6.7 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2015, regulation 2(2)(a) + href: https://www.legislation.gov.uk/uksi/2015/1724/made + 2016-04-01: + value: 6.7 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2016, regulation 3 (substituted regulation 4A(1)(a), ages 21 to 24) + href: https://www.legislation.gov.uk/uksi/2016/68/made + 2016-10-01: + value: 6.95 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2016, regulation 2(2)(a) + href: https://www.legislation.gov.uk/uksi/2016/953/made + 2017-04-01: + value: 7.05 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2017, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2017/465/made + 2018-04-01: + value: 7.38 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2018, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2018/455/made + 2019-04-01: + value: 7.7 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2019, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2019/603/made + 2020-04-01: + value: 8.2 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2020, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2020/338/made + 2021-04-01: + value: 8.36 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2021, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2021/329/made + 2022-04-01: + value: 9.18 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2022, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2022/382/made + 2023-04-01: + value: 10.18 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2023, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2023/354/made + 2024-04-01: + value: 11.44 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2024, regulation 2(2) and 2(3)(a) (national living wage from age 21) + href: https://www.legislation.gov.uk/uksi/2024/432/made + 2025-04-01: + value: 12.21 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2025, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2025/401/made + 2026-04-01: + value: 12.71 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2026/357/made + 2027-04-01: + value: 13.21 + reference: + - title: Budget 2026, paragraph 6.128 (announced 28 October 2026; the amending S.I. is not yet made) + href: https://www.gov.uk/government/publications/budget-2026-document/budget-2026-html - threshold: 2010-10-01: 23 amount: - 2010-10-01: - value: 5.93 - reference: - - title: The National Minimum Wage Regulations 1999 (Amendment) Regulations 2010, regulation 3 - href: https://www.legislation.gov.uk/uksi/2010/1901/made - 2011-10-01: - value: 6.08 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 3 - href: https://www.legislation.gov.uk/uksi/2011/2345/made - 2012-10-01: - value: 6.19 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2012, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2012/2397/made - 2013-10-01: - value: 6.31 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2013, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2013/1975/made - 2014-10-01: - value: 6.5 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2014, regulation 3(1) - href: https://www.legislation.gov.uk/uksi/2014/2485/made - 2015-10-01: - value: 6.7 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2015, regulation 2(2)(a) - href: https://www.legislation.gov.uk/uksi/2015/1724/made - 2016-04-01: - value: 6.7 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2016, regulation 3 (substituted regulation 4A(1)(a), ages 21 to 24) - href: https://www.legislation.gov.uk/uksi/2016/68/made - 2016-10-01: - value: 6.95 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2016, regulation 2(2)(a) - href: https://www.legislation.gov.uk/uksi/2016/953/made - 2017-04-01: - value: 7.05 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2017, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2017/465/made - 2018-04-01: - value: 7.38 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2018, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2018/455/made - 2019-04-01: - value: 7.7 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2019, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2019/603/made - 2020-04-01: - value: 8.2 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2020, regulation 2(3)(a) - href: https://www.legislation.gov.uk/uksi/2020/338/made - 2021-04-01: - value: 8.91 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2021, regulation 2(2) and 2(3)(b) (national living wage from age 23) - href: https://www.legislation.gov.uk/uksi/2021/329/made - 2022-04-01: - value: 9.5 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2022, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2022/382/made - 2023-04-01: - value: 10.42 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2023, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2023/354/made - 2024-04-01: - value: 11.44 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2024, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2024/432/made - 2025-04-01: - value: 12.21 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2025, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2025/401/made - 2026-04-01: - value: 12.71 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2026/357/made + metadata: + uprating: + parameter: gov.economic_assumptions.indices.obr.national_living_wage + rounding: + type: nearest + interval: 0.01 + values: + 2010-10-01: + value: 5.93 + reference: + - title: The National Minimum Wage Regulations 1999 (Amendment) Regulations 2010, regulation 3 + href: https://www.legislation.gov.uk/uksi/2010/1901/made + 2011-10-01: + value: 6.08 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 3 + href: https://www.legislation.gov.uk/uksi/2011/2345/made + 2012-10-01: + value: 6.19 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2012, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2012/2397/made + 2013-10-01: + value: 6.31 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2013, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2013/1975/made + 2014-10-01: + value: 6.5 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2014, regulation 3(1) + href: https://www.legislation.gov.uk/uksi/2014/2485/made + 2015-10-01: + value: 6.7 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2015, regulation 2(2)(a) + href: https://www.legislation.gov.uk/uksi/2015/1724/made + 2016-04-01: + value: 6.7 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2016, regulation 3 (substituted regulation 4A(1)(a), ages 21 to 24) + href: https://www.legislation.gov.uk/uksi/2016/68/made + 2016-10-01: + value: 6.95 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2016, regulation 2(2)(a) + href: https://www.legislation.gov.uk/uksi/2016/953/made + 2017-04-01: + value: 7.05 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2017, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2017/465/made + 2018-04-01: + value: 7.38 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2018, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2018/455/made + 2019-04-01: + value: 7.7 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2019, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2019/603/made + 2020-04-01: + value: 8.2 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2020, regulation 2(3)(a) + href: https://www.legislation.gov.uk/uksi/2020/338/made + 2021-04-01: + value: 8.91 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2021, regulation 2(2) and 2(3)(b) (national living wage from age 23) + href: https://www.legislation.gov.uk/uksi/2021/329/made + 2022-04-01: + value: 9.5 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2022, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2022/382/made + 2023-04-01: + value: 10.42 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2023, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2023/354/made + 2024-04-01: + value: 11.44 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2024, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2024/432/made + 2025-04-01: + value: 12.21 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2025, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2025/401/made + 2026-04-01: + value: 12.71 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2026/357/made + 2027-04-01: + value: 13.21 + reference: + - title: Budget 2026, paragraph 6.128 (announced 28 October 2026; the amending S.I. is not yet made) + href: https://www.gov.uk/government/publications/budget-2026-document/budget-2026-html - threshold: 2010-10-01: 25 amount: - 2010-10-01: - value: 5.93 - reference: - - title: The National Minimum Wage Regulations 1999 (Amendment) Regulations 2010, regulation 3 - href: https://www.legislation.gov.uk/uksi/2010/1901/made - 2011-10-01: - value: 6.08 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 3 - href: https://www.legislation.gov.uk/uksi/2011/2345/made - 2012-10-01: - value: 6.19 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2012, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2012/2397/made - 2013-10-01: - value: 6.31 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2013, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2013/1975/made - 2014-10-01: - value: 6.5 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2014, regulation 3(1) - href: https://www.legislation.gov.uk/uksi/2014/2485/made - 2015-10-01: - value: 6.7 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2015, regulation 2(2)(a) - href: https://www.legislation.gov.uk/uksi/2015/1724/made - 2016-04-01: - value: 7.2 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2016, regulation 3 (substituted regulation 4, the national living wage) - href: https://www.legislation.gov.uk/uksi/2016/68/made - 2017-04-01: - value: 7.5 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2017, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2017/465/made - 2018-04-01: - value: 7.83 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2018, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2018/455/made - 2019-04-01: - value: 8.21 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2019, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2019/603/made - 2020-04-01: - value: 8.72 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2020, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2020/338/made - 2021-04-01: - value: 8.91 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2021, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2021/329/made - 2022-04-01: - value: 9.5 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2022, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2022/382/made - 2023-04-01: - value: 10.42 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2023, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2023/354/made - 2024-04-01: - value: 11.44 - reference: - - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2024, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2024/432/made - 2025-04-01: - value: 12.21 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2025, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2025/401/made - 2026-04-01: - value: 12.71 - reference: - - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(2) - href: https://www.legislation.gov.uk/uksi/2026/357/made + metadata: + uprating: + parameter: gov.economic_assumptions.indices.obr.national_living_wage + rounding: + type: nearest + interval: 0.01 + values: + 2010-10-01: + value: 5.93 + reference: + - title: The National Minimum Wage Regulations 1999 (Amendment) Regulations 2010, regulation 3 + href: https://www.legislation.gov.uk/uksi/2010/1901/made + 2011-10-01: + value: 6.08 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2011, regulation 3 + href: https://www.legislation.gov.uk/uksi/2011/2345/made + 2012-10-01: + value: 6.19 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2012, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2012/2397/made + 2013-10-01: + value: 6.31 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2013, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2013/1975/made + 2014-10-01: + value: 6.5 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2014, regulation 3(1) + href: https://www.legislation.gov.uk/uksi/2014/2485/made + 2015-10-01: + value: 6.7 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2015, regulation 2(2)(a) + href: https://www.legislation.gov.uk/uksi/2015/1724/made + 2016-04-01: + value: 7.2 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2016, regulation 3 (substituted regulation 4, the national living wage) + href: https://www.legislation.gov.uk/uksi/2016/68/made + 2017-04-01: + value: 7.5 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2017, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2017/465/made + 2018-04-01: + value: 7.83 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2018, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2018/455/made + 2019-04-01: + value: 8.21 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2019, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2019/603/made + 2020-04-01: + value: 8.72 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2020, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2020/338/made + 2021-04-01: + value: 8.91 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2021, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2021/329/made + 2022-04-01: + value: 9.5 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2022, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2022/382/made + 2023-04-01: + value: 10.42 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2023, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2023/354/made + 2024-04-01: + value: 11.44 + reference: + - title: The National Minimum Wage (Amendment) (No. 2) Regulations 2024, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2024/432/made + 2025-04-01: + value: 12.21 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2025, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2025/401/made + 2026-04-01: + value: 12.71 + reference: + - title: The National Minimum Wage (Amendment) Regulations 2026, regulation 2(2) + href: https://www.legislation.gov.uk/uksi/2026/357/made + 2027-04-01: + value: 13.21 + reference: + - title: Budget 2026, paragraph 6.128 (announced 28 October 2026; the amending S.I. is not yet made) + href: https://www.gov.uk/government/publications/budget-2026-document/budget-2026-html metadata: amount_unit: currency-GBP @@ -497,3 +588,5 @@ metadata: href: https://www.legislation.gov.uk/uksi/2015/621/contents - href: https://www.gov.uk/national-minimum-wage-rates title: GOV.UK - National Minimum Wage + - title: Low Pay Commission remit 2026 (Department for Business and Trade, 16 March 2026) + href: https://www.gov.uk/government/publications/national-minimum-wage-and-national-living-wage-low-pay-commission-remit-2026/low-pay-commission-remit-2026-national-living-wage-and-national-minimum-wage diff --git a/policyengine_uk/tests/policy/baseline/gov/dwp/carers_allowance_earnings_limit_projection.yaml b/policyengine_uk/tests/policy/baseline/gov/dwp/carers_allowance_earnings_limit_projection.yaml index 9287fc4847..faee2c4fba 100644 --- a/policyengine_uk/tests/policy/baseline/gov/dwp/carers_allowance_earnings_limit_projection.yaml +++ b/policyengine_uk/tests/policy/baseline/gov/dwp/carers_allowance_earnings_limit_projection.yaml @@ -2,68 +2,29 @@ # week from 6 April 2026, SI 2026/218). From April 2025 the Government sets # the limit at 16 times the hourly national living wage, rounded up to the # nearest pound (Explanatory Memorandum to SI 2025/352, paragraph 5.6), and -# the model projects later years that way. The model's national living wage -# holds at £12.71 after April 2026, so each later limit is 16 x £12.71 = -# £203.36, rounded up to £204. Earnings are entered net, as -# carers_allowance_earnings, so the cases do not depend on tax or NI. +# the model projects later years that way. Budget 2026 (paragraph 6.128) sets +# the April 2027 national living wage at £13.21, so the limit is +# 16 x £13.21 = £211.36, rounded up to £212. Later years rest on the model's +# projection of the national living wage, so they are tested in +# test_carers_allowance_earnings_limit_projection.py against whatever the +# model's wage is. Earnings are entered net, as carers_allowance_earnings, so +# the cases do not depend on tax or NI. -- name: 2027-28, net earnings of exactly £204 a week have not exceeded the limit. +- name: 2027-28, net earnings of exactly £212 a week have not exceeded the limit. period: 2027 input: age: 45 - carers_allowance_earnings: 204 * 52 + carers_allowance_earnings: 212 * 52 care_hours: 40 country: ENGLAND output: is_gainfully_employed_for_carers_allowance: false -- name: 2027-28, net earnings of £205 a week are over the limit. +- name: 2027-28, net earnings of £213 a week are over the limit. period: 2027 input: age: 45 - carers_allowance_earnings: 205 * 52 - care_hours: 40 - country: ENGLAND - output: - is_gainfully_employed_for_carers_allowance: true - carers_allowance: 0 - -- name: 2028-29, net earnings of exactly £204 a week have not exceeded the limit. - period: 2028 - input: - age: 45 - carers_allowance_earnings: 204 * 52 - care_hours: 40 - country: ENGLAND - output: - is_gainfully_employed_for_carers_allowance: false - -- name: 2028-29, net earnings of £205 a week are over the limit. - period: 2028 - input: - age: 45 - carers_allowance_earnings: 205 * 52 - care_hours: 40 - country: ENGLAND - output: - is_gainfully_employed_for_carers_allowance: true - carers_allowance: 0 - -- name: 2030-31, net earnings of exactly £204 a week have not exceeded the limit. - period: 2030 - input: - age: 45 - carers_allowance_earnings: 204 * 52 - care_hours: 40 - country: ENGLAND - output: - is_gainfully_employed_for_carers_allowance: false - -- name: 2030-31, net earnings of £205 a week are over the limit. - period: 2030 - input: - age: 45 - carers_allowance_earnings: 205 * 52 + carers_allowance_earnings: 213 * 52 care_hours: 40 country: ENGLAND output: diff --git a/policyengine_uk/tests/test_esa_permitted_work_nlw_reforms.py b/policyengine_uk/tests/test_esa_permitted_work_nlw_reforms.py index fa3c9ea040..cd91060c3b 100644 --- a/policyengine_uk/tests/test_esa_permitted_work_nlw_reforms.py +++ b/policyengine_uk/tests/test_esa_permitted_work_nlw_reforms.py @@ -14,7 +14,9 @@ pytestmark = pytest.mark.usefixtures("cloned_uk_tax_benefit_system") -YEAR = 2027 +# 2026-27, a year whose national living wage is set (£12.71), so the +# baseline limit does not depend on the model's projection of later rates. +YEAR = 2026 NLW_REFORM = { f"gov.hmrc.minimum_wage.non_apprentice[{bracket}].amount": {str(YEAR): 13.18} for bracket in (2, 3, 4) diff --git a/policyengine_uk/tests/test_minimum_wage_projection.py b/policyengine_uk/tests/test_minimum_wage_projection.py new file mode 100644 index 0000000000..19bad37271 --- /dev/null +++ b/policyengine_uk/tests/test_minimum_wage_projection.py @@ -0,0 +1,280 @@ +"""Minimum wage rates after the last one set (#2537). + +Each rate is set by an amending S.I. (National Minimum Wage Regulations 2015 +regs. 4, 4A and 5); the April 2027 rates are the ones Budget 2026 announced +(paragraph 6.128), ahead of their S.I. Later years are a projection, not law: +from the last rate set, each rate rises each April with +gov.economic_assumptions.indices.obr.national_living_wage (the OBR's forecast +of the national living wage, EFO economy Table 1.13, to the end of the EFO, +then average earnings growth) and is rounded to the nearest penny. + +Invariants, from the year after each rate's last one set to 2040: + +1. Projection: each rate is the last rate set times the index's growth since + then, rounded to the nearest penny (once, not each April). +2. Floor: no projected rate is below the last rate set. (Year-on-year + monotonicity and age ordering, 2015 to 2040, are properties 2 and 3 of + test_minimum_wage_rates.) +3. The age thresholds do not move: 0, 18, 21, 23 and 25 in every year. +4. A rate set later takes precedence, and the projection continues from it. +5. Each rule that reads the national living wage follows its projection + (differential against each rule's own statement): the ESA permitted work + limit (16 x NLW up to the next 50p, ESA Regs 2008 reg. 45(4) and (9A)), + the UC benefit cap earnings exception (16 x NLW x 52 / 12 in whole pounds a + month, UC Regs 2013 regs. 82(1)(a) and 6(1A)(za)), the minimum_wage + variable for each age band, and the Carer's Allowance earnings limit (16 x + NLW up to the next pound). +6. A reform's rate is not projected (intended, as for other uprated + parameters): a rate a reform sets for one fiscal year leaves later years on + the baseline's path, and one set from a year onwards holds flat. +""" + +import datetime +import math +from fractions import Fraction +from pathlib import Path + +import numpy as np +import pytest +import yaml +from policyengine_core.parameters.parameter_at_instant import ParameterAtInstant + +from policyengine_uk import Simulation +from policyengine_uk.system import system +from policyengine_uk.tax_benefit_system import ( + process_parameter_tree, + statutory_parameters, +) + +PARAMETER_DIR = ( + Path(__file__).resolve().parent.parent / "parameters/gov/hmrc/minimum_wage" +) +THRESHOLDS = [0, 18, 21, 23, 25] +LAST_CHECKED = 2040 + + +def _last_set(values): + date, entry = max( + (datetime.date.fromisoformat(str(d)), e) for d, e in values.items() + ) + return date, float(entry["value"] if isinstance(entry, dict) else entry) + + +RAW = yaml.safe_load((PARAMETER_DIR / "non_apprentice.yaml").read_text()) +LAST_BRACKET_RATES = [_last_set(b["amount"]["values"]) for b in RAW["brackets"]] +LAST_APPRENTICE_RATE = _last_set( + yaml.safe_load((PARAMETER_DIR / "apprentice.yaml").read_text())["values"] +) +LAST_YEAR = max(date.year for date, _ in [*LAST_BRACKET_RATES, LAST_APPRENTICE_RATE]) +FIRST_LAST_YEAR = min( + date.year for date, _ in [*LAST_BRACKET_RATES, LAST_APPRENTICE_RATE] +) +NLW = "gov.hmrc.minimum_wage.non_apprentice[{}].amount" + + +def _index(parameters, year): + return parameters( + f"{year}-01-01" + ).gov.economic_assumptions.indices.obr.national_living_wage + + +def _projected(rate, parameters, base_year, year): + growth = _index(parameters, year) / _index(parameters, base_year) + return round(rate * growth / 0.01) * 0.01 + + +@pytest.mark.parametrize("year", range(FIRST_LAST_YEAR + 1, LAST_CHECKED + 1)) +def test_rates_are_the_last_rate_set_uprated_by_the_index(year): + """Invariants 1 to 3, for each rate in the years after its own last one + set.""" + p = system.parameters + scale = p(f"{year}-01-01").gov.hmrc.minimum_wage.non_apprentice + assert list(scale.thresholds) == THRESHOLDS + apprentice = p(f"{year}-01-01").gov.hmrc.minimum_wage.apprentice + pairs = [ + *zip(LAST_BRACKET_RATES, scale.amounts), + (LAST_APPRENTICE_RATE, apprentice), + ] + for (date, rate), amount in pairs: + if year <= date.year: + continue + expected = _projected(rate, p, date.year, year) + assert amount == pytest.approx(expected, abs=1e-9), (year, rate) + assert amount >= rate + + +# OBR EFO October 2026, detailed forecast tables (economy), Table 1.13: the +# national living wage in April of each year, £ an hour. "The NLW has been set +# by the Government up until 2027 ... Figures beyond 2027 are OBR estimates +# consistent with the rest of our economy forecast." +OBR_NATIONAL_LIVING_WAGE = { + 2020: 8.72, + 2021: 8.91, + 2022: 9.5, + 2023: 10.42, + 2024: 11.44, + 2025: 12.21, + 2026: 12.71, + 2027: 13.21, + 2028: 13.513623297578135, + 2029: 13.854853379339588, + 2030: 14.23293930734993, + 2031: 14.617023376183901, +} +GROWTH = yaml.safe_load( + (PARAMETER_DIR.parents[1] / "economic_assumptions/yoy_growth.yaml").read_text() +)["obr"] + + +def _growth(series, year): + return GROWTH[series]["values"][datetime.date(year, 1, 1)] + + +def test_the_series_reproduces_the_obr_table(): + """Differential against the published table. The growth series is each + year's rate over the year before's, to six decimals, from 2021 to the end + of the EFO, and the model's national living wage in each April is the + table's, rounded to the nearest penny: the rates set to 2027 (£13.21 from + Budget 2026), then the OBR's estimates of £13.51, £13.85, £14.23 and + £14.62 from 2028 to 2031.""" + p = system.parameters + for year in range(2021, max(OBR_NATIONAL_LIVING_WAGE) + 1): + expected = OBR_NATIONAL_LIVING_WAGE[year] / OBR_NATIONAL_LIVING_WAGE[year - 1] + assert _growth("national_living_wage", year) == pytest.approx( + round(expected - 1, 6), abs=1e-12 + ), year + for year, rate in OBR_NATIONAL_LIVING_WAGE.items(): + wage = p(f"{year}-01-01").gov.hmrc.minimum_wage.non_apprentice.amounts[-1] + assert wage == pytest.approx(round(rate, 2), abs=1e-9), year + + +def test_after_the_efo_the_series_is_average_earnings_growth(): + """The Low Pay Commission's reference point is two-thirds of median hourly + earnings (remit 2026), so after the OBR's last estimate the series takes + average_earnings' growth, year for year, to the end of both series.""" + last = max(OBR_NATIONAL_LIVING_WAGE) + wage = {d.year for d in GROWTH["national_living_wage"]["values"] if d.year > last} + earnings = {d.year for d in GROWTH["average_earnings"]["values"] if d.year > last} + assert wage == earnings + for year in sorted(wage): + assert _growth("national_living_wage", year) == _growth( + "average_earnings", year + ), year + + +def test_a_rate_set_later_takes_precedence_and_the_projection_continues(): + """Invariant 4: a national living wage of £14.00 from 1 April 2028, added + as a rate set by an S.I. would be, holds in 2028-29, and later years are + £14.00 times the index's growth since. The Carer's Allowance earnings + limit follows it: 16 x £14.00 = £224, above the projection's own limit.""" + tree = statutory_parameters() + scale = tree.gov.hmrc.minimum_wage.non_apprentice + for bracket in scale.brackets[2:]: + amount = bracket.amount + amount.values_list.append( + ParameterAtInstant(amount.name, "2028-04-01", data=14.00) + ) + amount.values_list.sort(key=lambda entry: entry.instant_str, reverse=True) + tree, _ = process_parameter_tree(tree) + + def wage(year): + return tree(f"{year}-01-01").gov.hmrc.minimum_wage.non_apprentice + + assert wage(2027).amounts[-1] == pytest.approx(13.21, abs=1e-9) + assert wage(2028).amounts[-1] == pytest.approx(14.00, abs=1e-9) + for year in range(2029, 2032): + assert wage(year).amounts[-1] == pytest.approx( + _projected(14.00, tree, 2028, year), abs=1e-9 + ), year + # Adding a national living wage rate leaves the younger bands' projection + # unchanged. + assert wage(2028).amounts[0] == pytest.approx( + system.parameters("2028-01-01").gov.hmrc.minimum_wage.non_apprentice.amounts[0] + ) + + def limit(year): + return tree(f"{year}-01-01").gov.dwp.carers_allowance.earnings_limit + + assert limit(2027) == 212 + assert limit(2028) == 224 + assert system.parameters("2028-01-01").gov.dwp.carers_allowance.earnings_limit < 224 + + +def _round_up_to_50p(amount): + return math.ceil(Fraction(str(amount)) * 2) / 2 + + +# One person in each age band, the national living wage's first. +AGES = {"adult": 30, "aged_23": 23, "aged_21": 21, "aged_19": 19, "aged_16": 16} +BANDS = {"adult": 4, "aged_23": 3, "aged_21": 2, "aged_19": 1, "aged_16": 0} + + +@pytest.mark.usefixtures("cloned_uk_tax_benefit_system") +def test_rules_that_read_the_national_living_wage_follow_its_projection(): + """Invariant 5, in the year of the last rate set (April 2027, announced) + and every projected year to 2040.""" + years = list(range(LAST_YEAR, LAST_CHECKED + 1)) + simulation = Simulation( + situation={ + "people": { + name: {"age": {str(year): age for year in years}} + for name, age in AGES.items() + }, + "benunits": {f"{name}_unit": {"members": [name]} for name in AGES}, + "households": {"household": {"members": list(AGES)}}, + } + ) + parameters = simulation.tax_benefit_system.parameters + for year in years: + p = parameters(f"{year}-01-01") + amounts = p.gov.hmrc.minimum_wage.non_apprentice.amounts + wage = amounts[-1] + exact = Fraction(str(round(wage, 2))) + minimum_wage = simulation.calculate("minimum_wage", year) + for index, name in enumerate(AGES): + assert minimum_wage[index] == pytest.approx(amounts[BANDS[name]]), ( + year, + name, + ) + assert simulation.calculate("esa_exempt_work_higher_earnings_limit", year)[ + 0 + ] == _round_up_to_50p(16 * exact), year + monthly = math.floor(16 * exact * 52 / 12) + assert simulation.calculate( + "uc_benefit_cap_earnings_exception_threshold", year + )[0] == pytest.approx(monthly * 12), year + assert p.gov.dwp.carers_allowance.earnings_limit == math.ceil(16 * exact), year + + +@pytest.mark.usefixtures("cloned_uk_tax_benefit_system") +def test_a_reform_rate_is_not_projected(): + """Invariant 6 (intended): £13.50 for 2027-28 alone leaves 2028-29 on + the baseline's path, where projecting from the reform's rate would give + £13.50 x 1.023. £13.50 from 6 April 2027 onwards documents the disclosed + behaviour rather than testing projection: the reform sets every year to + 2100, so nothing is left to project, and the baseline passes it.""" + baseline = system.parameters + one_year = {NLW.format(b): {"2027": 13.50} for b in (2, 3, 4)} + onwards = {NLW.format(b): {"2027-04-06.2100-12-31": 13.50} for b in (2, 3, 4)} + + def wages(parameters): + return { + year: parameters( + f"{year}-01-01" + ).gov.hmrc.minimum_wage.non_apprentice.amounts[-1] + for year in range(2026, LAST_CHECKED + 1) + } + + base = wages(baseline) + for reform, later in ((one_year, base), (onwards, None)): + reformed = wages( + Simulation( + situation={"people": {"adult": {"age": {"2027": 30}}}}, reform=reform + ).tax_benefit_system.parameters + ) + assert reformed[2026] == base[2026] + assert reformed[2027] == pytest.approx(13.50) + for year in range(2028, LAST_CHECKED + 1): + expected = base[year] if later is base else 13.50 + assert reformed[year] == pytest.approx(expected), year + assert base[LAST_CHECKED] > 13.50 diff --git a/policyengine_uk/tests/test_minimum_wage_rates.py b/policyengine_uk/tests/test_minimum_wage_rates.py index da8fbcdd67..0cdce26383 100644 --- a/policyengine_uk/tests/test_minimum_wage_rates.py +++ b/policyengine_uk/tests/test_minimum_wage_rates.py @@ -37,13 +37,14 @@ 2. For every year from 2015 to 2040, no rate falls as age rises, and the apprenticeship rate is never above the rate for any age from 16. 3. No rate falls from one year to the next, 2015 to 2040. This holds for - every rate set from October 2010 to April 2026; it is a property of the - enacted rates, not a rule in the Act, so a future cut would need this test - changing. - -Rates dated after the last row of ``RATES_FROM_COMMENCEMENT`` (for example -announced rates whose S.I. is not yet made) need a reference but are not -checked against the tables until a row is added for them. + every rate set from October 2010 to April 2026 and every rate announced + for April 2027; it is a property of the rates, not a rule in the Act, so + a future cut would need this test changing. + +Rates announced but not yet set by an S.I. are in ``ANNOUNCED_RATES``, checked +against the parameter files and the model from the date they take effect. +They need a reference, but not to an S.I.; move a row to +``RATES_FROM_COMMENCEMENT``, citing the S.I., once it is made. """ import datetime @@ -166,6 +167,16 @@ ), ] +# (date in force, announcement, rates by band) for rates announced whose +# amending S.I. is not yet made. +ANNOUNCED_RATES = [ + ( + "2027-04-01", + "Budget 2026, paragraph 6.128", + (8.31, 8.31, 11.27, 13.21, 13.21, 13.21), + ), +] + # Rates in force on 30 April of each year, and the S.I. that set them. RATES_AT_30_APRIL = { # 2015 Regs reg. 4(1) as made (in force 6 April 2015), carrying over the @@ -222,8 +233,17 @@ def _in_force(pairs, date): RAW_APPRENTICE = _dated_values(_load_raw("apprentice")["values"]) + + +def _amount_values(bracket): + """A bracket's dated amounts: under ``values`` when the amount carries + metadata (the uprating that projects later years).""" + amount = bracket["amount"] + return amount["values"] if "values" in amount else amount + + RAW_BRACKETS = [ - (_dated_values(bracket["threshold"]), _dated_values(bracket["amount"])) + (_dated_values(bracket["threshold"]), _dated_values(_amount_values(bracket))) for bracket in _load_raw("non_apprentice")["brackets"] ] LATEST_DATED_YEAR = max( @@ -308,17 +328,37 @@ def test_parameter_files_match_each_instrument_from_commencement( ) +@pytest.mark.parametrize( + "start, announcement, row", + ANNOUNCED_RATES, + ids=[announcement for _, announcement, _ in ANNOUNCED_RATES], +) +def test_parameter_files_and_model_match_each_announced_rate(start, announcement, row): + date = datetime.date.fromisoformat(start) + expected = _rates(row) + assert _in_force(RAW_APPRENTICE, date) == pytest.approx(expected["apprentice"]) + assert _model_apprentice_rate(date.year) == pytest.approx(expected["apprentice"]) + for band, ages in BAND_AGES.items(): + for age in ages: + assert _raw_rate(date, age) == pytest.approx(expected[band]), ( + f"{announcement}, age {age} ({band})" + ) + assert _model_rate(date.year, age) == pytest.approx(expected[band]), ( + f"{announcement}, {date.year}, age {age} ({band})" + ) + + def test_parameter_files_change_only_on_commencement_dates(): commencements = { - datetime.date.fromisoformat(date) for date, _, _ in RATES_FROM_COMMENCEMENT + datetime.date.fromisoformat(date) + for date, _, _ in [*RATES_FROM_COMMENCEMENT, *ANNOUNCED_RATES] } series = [RAW_APPRENTICE] for thresholds, amounts in RAW_BRACKETS: series += [thresholds, amounts] for pairs in series: for start, _ in pairs: - if start <= LAST_TRANSCRIBED: - assert start in commencements, f"{start} is not a commencement date" + assert start in commencements, f"{start} is not a commencement date" def test_30_april_table_agrees_with_commencement_table(): @@ -344,7 +384,7 @@ def test_fiscal_year_value_is_the_value_in_force_on_30_april(year): def test_every_rate_cites_a_statutory_instrument(): entries = list(_load_raw("apprentice")["values"].items()) for bracket in _load_raw("non_apprentice")["brackets"]: - entries += list(bracket["amount"].items()) + entries += list(_amount_values(bracket).items()) for instant, entry in entries: assert isinstance(entry, dict), f"{instant} has no reference" hrefs = [reference["href"] for reference in entry.get("reference", [])] diff --git a/policyengine_uk/variables/gov/dwp/esa_exempt_work_higher_earnings_limit.py b/policyengine_uk/variables/gov/dwp/esa_exempt_work_higher_earnings_limit.py index 7e28cf2c6b..0edcb660f9 100644 --- a/policyengine_uk/variables/gov/dwp/esa_exempt_work_higher_earnings_limit.py +++ b/policyengine_uk/variables/gov/dwp/esa_exempt_work_higher_earnings_limit.py @@ -14,11 +14,11 @@ class esa_exempt_work_higher_earnings_limit(Variable): "50p (reg 45(9A)). Reg 2(1) defines the National Minimum Wage as the " "rate in reg 11 of the National Minimum Wage Regulations 1999, now " "the national living wage, the adult rate (DMG 41190), so the " - "limit moves with gov.hmrc.minimum_wage.non_apprentice. That " - "parameter holds its April 2026 rate in later years, so the limit " - "stays at £203.50 from 2026-27 until the national living wage is " - "projected, as the Universal Credit benefit cap earnings exception " - "does." + "limit moves with gov.hmrc.minimum_wage.non_apprentice, including " + "its projection after the last rate set (the OBR's national living " + "wage forecast). From " + "April 2027 it is 16 x £13.21 (the rate Budget 2026 announced) = " + "£211.36, rounded up to £211.50." ) definition_period = YEAR unit = GBP diff --git a/policyengine_uk/variables/gov/dwp/universal_credit/benefit_cap/uc_benefit_cap_earnings_exception_threshold.py b/policyengine_uk/variables/gov/dwp/universal_credit/benefit_cap/uc_benefit_cap_earnings_exception_threshold.py index ec6b360596..54f276d6bf 100644 --- a/policyengine_uk/variables/gov/dwp/universal_credit/benefit_cap/uc_benefit_cap_earnings_exception_threshold.py +++ b/policyengine_uk/variables/gov/dwp/universal_credit/benefit_cap/uc_benefit_cap_earnings_exception_threshold.py @@ -13,10 +13,10 @@ class uc_benefit_cap_earnings_exception_threshold(Variable): "wage, the hourly rate in regulation 4 of the National Minimum Wage " "Regulations, multiplied by 52 and divided by 12, with any fraction " "of a pound disregarded (reg. 6(1A)(za)). Before then it was a fixed " - "£430 a month. gov.hmrc.minimum_wage.non_apprentice holds its April " - "2026 rate in later years, so the threshold stays at £10,572 a year " - "from 2026-27 until that parameter is projected, as the minimum " - "income floor does." + "£430 a month. In years after the last rate set, the threshold " + "follows gov.hmrc.minimum_wage.non_apprentice's projection (the " + "OBR's national living wage forecast), as the minimum income floor " + "does." ) definition_period = YEAR unit = GBP