From 682b81f1afa6da96310d4db07ebb7553b37ea162 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 29 Oct 2026 08:07:46 -0400 Subject: [PATCH 1/3] Budget 2026 posts: cut process wording, recast work-in-progress notes as limitations Max's rule (29 Oct): public copy says what the reader gets and what we found, not how or why we made it. Across the seven live Budget posts this cuts checks, reruns and build steps, recasts plans as present-tense limitations, and keeps the method that changes how a number reads. No figure, link or claim changes. Co-Authored-By: Claude Opus 5.5 --- .../posts/articles/carers-allowance-taper.md | 4 +-- .../posts/articles/fuel-duty-cut-extension.md | 6 ++-- .../posts/articles/pension-tax-allowance.md | 2 +- .../uk-autumn-budget-2026-briefing.md | 32 +++++++++---------- ...-autumn-budget-2026-property-income-tax.md | 2 +- ...uk-autumn-budget-2026-trading-allowance.md | 2 +- .../articles/uk-triple-lock-budget-2026.md | 14 ++++---- 7 files changed, 30 insertions(+), 32 deletions(-) diff --git a/app/src/data/posts/articles/carers-allowance-taper.md b/app/src/data/posts/articles/carers-allowance-taper.md index 947231140..4994a2045 100644 --- a/app/src/data/posts/articles/carers-allowance-taper.md +++ b/app/src/data/posts/articles/carers-allowance-taper.md @@ -745,7 +745,7 @@ The table and chart leave out the £1 step at the limit itself. Without the tape ## Population estimates -We also ran the measure on PolicyEngine UK's microsimulation model, which uses survey data on UK households; we projected the data to 2030-31 and 2031-32 on the OBR's October 2026 forecast. The estimate is static: carers do not change how much they work, and take-up of Carer's Allowance follows the assumptions in PolicyEngine's data. This is the run behind the figures for this measure on PolicyEngine's Autumn Budget dashboard, split here into its parts. We will update the 2030-31 population estimates after correcting how the taper interacts with overlapping benefits, such as the State Pension. The model applies half a year of the taper in 2030-31, because the taper starts at some point in that year. Like the dashboard, the run keeps PolicyEngine UK's current-law limit of £204. Unlike the worked examples, it does not yet count the PAYE on the allowance against Universal Credit earnings ([regulation 55(5)(b)](https://www.legislation.gov.uk/uksi/2013/376/regulation/55)); with that adjustment, our calculation gives a net cost of about £28 million in 2030-31 and £55 million in 2031-32. +We also ran the measure on PolicyEngine UK's microsimulation model, which uses survey data on UK households; we projected the data to 2030-31 and 2031-32 on the OBR's October 2026 forecast. The estimate is static: carers do not change how much they work, and take-up of Carer's Allowance follows the assumptions in PolicyEngine's data. This is the run behind the figures for this measure on PolicyEngine's Autumn Budget dashboard, split here into its parts. The 2030-31 population estimates don't correctly reflect how the taper interacts with overlapping benefits, such as the State Pension. The model applies half a year of the taper in 2030-31, because the taper starts at some point in that year. Like the dashboard, the run keeps PolicyEngine UK's current-law limit of £204. Unlike the worked examples, it does not yet count the PAYE on the allowance against Universal Credit earnings ([regulation 55(5)(b)](https://www.legislation.gov.uk/uksi/2013/376/regulation/55)); with that adjustment, our calculation gives a net cost of about £28 million in 2030-31 and £55 million in 2031-32. | £ million, cost to the Exchequer | 2030-31 | 2031-32 | | -------------------------------- | -------: | -------: | @@ -786,6 +786,6 @@ The estimate rests on fewer than 50 survey households, so it is imprecise, and w ### Methodology -We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). PolicyEngine UK does not yet include the taper, so we added it as a structural reform that changes Carer's Allowance entitlement (the `carers_allowance_pre_overlap` variable) above the earnings limit. The rules and values match the Carer's Allowance taper in the draft update to PolicyEngine's [Autumn Budget 2026 dashboard](https://policyengine.org/uk/autumn-budget-2026); the worked examples differ in two ways: they set the current-law limit to the government's rule, and they count the PAYE on the allowance against Universal Credit earnings (see the assumptions). The population estimates are the dashboard's own run. +We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). The taper changes Carer's Allowance entitlement (the `carers_allowance_pre_overlap` variable) above the earnings limit. The rules and values match the Carer's Allowance taper in PolicyEngine's [Autumn Budget 2026 dashboard](https://policyengine.org/uk/autumn-budget-2026); the worked examples differ in two ways: they set the current-law limit to the government's rule, and they count the PAYE on the allowance against Universal Credit earnings (see the assumptions). The population estimates are the dashboard's own run. Both sides of every calculation use the OBR's October 2026 forecast, as the dashboard does. In the worked examples, both sides also set PolicyEngine UK's current-law earnings limit to the government's rule and use our Universal Credit adjustment: for a person with employment income, we work out the income tax that Universal Credit deducts from earnings by treating Carer's Allowance as part of the earnings, so it includes the tax on the allowance. We calculated each household for gross pay from £0 (marginal rates) or £150 (other charts and tables) to £400 a week, in £1 steps for the other charts and tables. The charts of the allowance and of net income plot whole-pound points where the schedules change slope and a point every £20. The marginal tax rates are PolicyEngine UK's `marginal_tax_rate` variable, with its pay rise set to £52 a year (£1 a week) on both sides; the chart plots a point every £100 of annual pay and the points where the rates change, and leaves out the points whose £1 rise crosses one of those points, which would average two rates. The variable agrees with a direct difference of household net income to within 0.01 percentage points. PolicyEngine UK reduces all employees' pay by 0.16% in 2031-32, to reflect employers passing on the cost of the salary sacrifice cap, so we set pay 0.16% higher to give whole-pound gross pay. diff --git a/app/src/data/posts/articles/fuel-duty-cut-extension.md b/app/src/data/posts/articles/fuel-duty-cut-extension.md index d4f278ce5..9e357449d 100644 --- a/app/src/data/posts/articles/fuel-duty-cut-extension.md +++ b/app/src/data/posts/articles/fuel-duty-cut-extension.md @@ -544,8 +544,8 @@ The Budget estimates that the government's fuel duty decisions in this Parliamen ### Methodology -We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). We ran `calculate_household` for each household with two parameter reforms to the fuel duty rate on petrol and diesel: one with the pre-Budget rates and one with the Budget rates, each keyed to the dates above. PolicyEngine UK keys its April 2027 rate at 59.75p, uprated by the March 2026 RPI forecast, so both scenarios replace it with 60.59p. PolicyEngine UK weights each rate by the days it applies in the tax year. The net income table and the marginal rates run on the OBR October 2026 forecast: we build each household as a PolicyEngine UK simulation with the dashboard's forecast scenario, applied before data load, and add the measure to the same scenario. The duty and VAT savings do not depend on the forecast. +We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). We ran `calculate_household` for each household with two parameter reforms to the fuel duty rate on petrol and diesel: one with the pre-Budget rates and one with the Budget rates, each keyed to the dates above. PolicyEngine UK keys its April 2027 rate at 59.75p, uprated by the March 2026 RPI forecast, so both scenarios replace it with 60.59p. PolicyEngine UK weights each rate by the days it applies in the tax year. The net income table and the marginal rates use the dashboard's OBR October 2026 forecast, with and without the measure. The duty and VAT savings do not depend on the forecast. -PolicyEngine UK holds spending on fuel fixed and does not pass a duty change into VAT, so we add 20% of the duty change for the VAT on the pump price. In those simulations, the VAT step lowers the household's `vat` by that amount, so the change flows through `vat_change` into `household_net_income`, as the dashboard's VAT modifier does. We use the rates, dates and VAT treatment of the fuel duty measure in PolicyEngine's [Autumn Budget 2026 dashboard](https://policyengine.org/uk/autumn-budget-2026). The saving is linear in litres, so the chart plots its value every 100 litres; we compute each point from the rules and check it against PolicyEngine UK. +PolicyEngine UK holds spending on fuel fixed and does not pass a duty change into VAT, so we add 20% of the duty change for the VAT on the pump price. In those simulations, the VAT step lowers the household's `vat` by that amount, so the change flows through `vat_change` into `household_net_income`, as the dashboard's VAT modifier does. We use the rates, dates and VAT treatment of the fuel duty measure in PolicyEngine's [Autumn Budget 2026 dashboard](https://policyengine.org/uk/autumn-budget-2026). The saving is linear in litres, so the chart plots its value every 100 litres. -The population results come from a run of the dashboard's measure on PolicyEngine's certified UK household data. We reproduced them in a separate run with the same package, data and forecast: the cost is £301 million in 2026-27 and £521 million in 2027-28, of which VAT is 17%, and the average gain is £10 and £18 a household. +The population results come from a run of the dashboard's measure on PolicyEngine's certified UK household data: the cost is £301 million in 2026-27 and £521 million in 2027-28, of which VAT is 17%, and the average gain is £10 and £18 a household. diff --git a/app/src/data/posts/articles/pension-tax-allowance.md b/app/src/data/posts/articles/pension-tax-allowance.md index f4a4c79fc..fc4a633ea 100644 --- a/app/src/data/posts/articles/pension-tax-allowance.md +++ b/app/src/data/posts/articles/pension-tax-allowance.md @@ -1003,4 +1003,4 @@ The Treasury's costing (Budget 2026, Table 6.1, row 52) follows a National Accou ### Methodology -We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). Every calculation, with and without the PTA, uses the OBR's October 2026 Economic and Fiscal Outlook forecast, as PolicyEngine's Autumn Budget 2026 dashboard does; PolicyEngine UK 2.151.0 ships the March 2026 forecast. PolicyEngine UK does not yet include the PTA, so we added it as a structural reform that reduces the `income_tax` variable and the income tax that Universal Credit deducts from earnings. The rules and values match the PTA modifier in the draft update to PolicyEngine's Autumn Budget 2026 dashboard, including its Universal Credit adjustment; the one difference is the Pension Credit guarantee (see the assumptions). Income tax, the PTA and net income are piecewise linear in total income, so the charts plot their breakpoints and a point every £100. These values agree with PolicyEngine UK to the penny at every £2 of total income, and the effective marginal tax rates agree to within 0.04 percentage points away from the breakpoints. +We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). Every calculation, with and without the PTA, uses the OBR's October 2026 Economic and Fiscal Outlook forecast, as PolicyEngine's Autumn Budget 2026 dashboard does; PolicyEngine UK 2.151.0 ships the March 2026 forecast. The PTA reduces the `income_tax` variable and the income tax that Universal Credit deducts from earnings. The rules and values match the PTA modifier in PolicyEngine's Autumn Budget 2026 dashboard, including its Universal Credit adjustment; the one difference is the Pension Credit guarantee (see the assumptions). Income tax, the PTA and net income are piecewise linear in total income, so the charts plot their breakpoints and a point every £100. These values agree with PolicyEngine UK to the penny at every £2 of total income, and the effective marginal tax rates agree to within 0.04 percentage points away from the breakpoints. diff --git a/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md b/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md index 75cfef1c9..b2022439b 100644 --- a/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md +++ b/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md @@ -29,7 +29,7 @@ Sources: [Budget 2026](https://www.gov.uk/government/publications/budget-2026-do The Budget makes other changes that reach households, which our dashboard does not model: -- **Savings income tax.** From 6 April 2027 the rates on savings income also rise 2 points, to 24%, 44% and 49% across the UK. We give the official costing [below](#savings-income); our own estimate follows with a data update. +- **Savings income tax.** From 6 April 2027 the rates on savings income also rise 2 points, to 24%, 44% and 49% across the UK. We give the official costing [below](#savings-income) but no national estimate of our own. - **The Triple Lock.** From April 2030 the State Pension rises each year by the highest of 2.5%, inflation, or the amount that keeps its value relative to earnings at its April 2029 level. The government estimates this reduces State Pension spending by £15 billion a year by the late 2030s. We analyse it [separately](https://www.policyengine.org/uk/research/uk-triple-lock-budget-2026). - **The National Living Wage** rises 3.9% to £13.21 an hour on 1 April 2027, as the Low Pay Commission recommended. - **The Bank Corporation Tax Surcharge** rises from 3% to 6% from 1 January 2027 to 31 March 2028, to help fund the energy support. @@ -55,7 +55,7 @@ Source: the OBR's [detailed forecast table 1.1](https://obr.uk/efo/economic-and- ## The combined effect -We run the seven measures together as one package, in a single simulation for each year. We leave out the savings income rate rise until our estimate is ready. +We run the seven measures together as one package, in a single simulation for each year. The package leaves out the savings income rate rise. ### Cost to the public finances @@ -192,7 +192,7 @@ Our estimates differ from the official costings for four main reasons: timing (w Official: the OBR's [detailed forecast table 1.1](https://obr.uk/efo/economic-and-fiscal-outlook-october-2026/), measures 1, 2, 3, 52, 61, 15 and 7, the line or lines that match what we model, under the table's own names. Table 6.1 total: HM Treasury, [Table 6.1](https://www.gov.uk/government/publications/supporting-documents-for-budget-2026), rows 1, 2, 3, 52, 61, 15 and 7. Its totals also include the OBR table's other lines for each measure that aren't zero: Other AME (current) for zero VAT; PSCE in RDEL, Scottish BGA (current) and Scottish self-financed expenditure for the Pension Tax Allowance and the trading allowance; Onshore CT, Scottish BGA (current) and Scottish self-financed expenditure for property income tax; and Scottish BGA (current) for the Carer's Allowance taper. -Why each differs. The reasons come from the [dashboard's notes](https://www.policyengine.org/uk/budgets/autumn-2026?tab=dashboard&sub=finances) on its comparison with the official costings, from the OBR's October 2026 Economic and fiscal outlook and from the Budget documents. The notes explain the comparisons and also draw on further runs of our model, so some of their figures aren't in Table 6 or in our published results: +Why each differs. The reasons come from the [dashboard's notes](https://www.policyengine.org/uk/budgets/autumn-2026?tab=dashboard&sub=finances) on its comparison with the official costings, from the OBR's October 2026 Economic and fiscal outlook and from the Budget documents. The notes explain the comparisons, and some of their figures appear in neither Table 6 nor our published results: - **Household Energy Payment (scope).** Ours falls 25% below the official £2,627 million because the official figure also covers two things we don't model: the devolved governments' share of the funding (about £425 million, our estimate using the Barnett formula) and £100 million for councils in England to target support at the households that rising energy bills hit hardest. Without them, about £2,100 million remains for the payment in England, and ours is 94% of that. At £100 each, the up to 20 million households the Budget names take up to £2,000 million of it; neither the OBR nor the Budget itemises the rest. - **Zero VAT on electricity (coverage).** Ours exceeds the OBR's VAT line by £106 million (14%) in 2026-27 and by £57 million (19%) in 2027-28. The official costing also covers charities, residential care and some businesses, and counts households switching from gas to electricity; both make the official figure larger, so neither explains the gap. The two start from different spending: we calculate ours from the Department for Energy Security and Net Zero's domestic electricity volumes and the average prices households pay, then project that spending using CPI; the official costing starts from ONS consumer spending, which is 10% to 12% lower. @@ -215,23 +215,21 @@ From 6 April 2027 the income tax rates on savings income rise 2 points, on top o Official: the OBR's [detailed forecast table 1.1](https://obr.uk/efo/economic-and-fiscal-outlook-october-2026/), measure 62, the line that matches what we model. Table 6.1's total also includes the OBR table's Onshore CT line for the measure. -The official costing includes some savers moving their savings into ISAs and other tax-advantaged products. We hold our estimate back from this release while we update the savings income in our data; it follows with that update. +The official costing includes some savers moving their savings into ISAs and other tax-advantaged products. Our national estimates leave out the rate rise. -## What we're improving +## Limitations -We plan to update these results later this week. The update will: +These results: -- add poverty and people-affected figures; -- add national figures for the savings income tax rise, once we have improved our savings income data (the calculator already includes it); -- apply the trading allowance to miscellaneous income as well as trading income, which will raise our estimate of its cost; -- correct how the Carer's Allowance taper interacts with overlapping benefits, such as the State Pension, in 2030-31; -- extend the fuel duty cut to road fuel gases (LPG and natural gas), as the government's costing does; -- give the Pension Tax Allowance to everyone who reaches State Pension age during the tax year. +- leave out poverty and people-affected figures; +- leave out national figures for the savings income tax rise (the calculator includes it); +- apply the trading allowance to trading income but not to miscellaneous income; including miscellaneous income would raise our estimate of its cost; +- don't correctly reflect how the Carer's Allowance taper interacts with overlapping benefits, such as the State Pension, in 2030-31; +- apply the fuel duty cut to petrol and diesel but not to road fuel gases (LPG and natural gas), which the government's costing covers; +- don't give the Pension Tax Allowance to everyone who reaches State Pension age during the tax year; +- project household electricity spending with general inflation rather than retail energy prices. -We are also working on: - -- projecting household electricity spending with retail energy prices rather than general inflation; -- adding the Budget's measures to PolicyEngine UK itself, so anyone using our open-source model can run them. +PolicyEngine UK itself, our open-source model, doesn't include the Budget's measures; the dashboard runs them. ## Methodology @@ -243,6 +241,6 @@ Our estimates come from PolicyEngine's [Autumn Budget 2026 dashboard](https://ww - **The package.** The combined results come from one simulation of the seven measures together, which models each exactly as in its own run. - **Small samples.** The dashboard withholds any result that rests on fewer than three survey households. For the package in 2030-31 and 2031-32, it withholds the results for two income deciles and the average change across all households, the same cells it withholds for the Carer's Allowance taper on its own. -Every PolicyEngine figure in this briefing comes from the dashboard's published results (manifest revision 17), and we read each from files that match the checksums in their receipt; the exceptions are the further figures we quote from the dashboard's notes on the comparison with the official costings, which come from further runs of our model. Every official figure comes from the OBR's October 2026 Economic and fiscal outlook or the Budget documents we link above. +Every PolicyEngine figure in this briefing comes from the dashboard's published results (manifest revision 17), except the further figures we quote from the dashboard's notes on the comparison with the official costings, which those results don't include. Every official figure comes from the OBR's October 2026 Economic and fiscal outlook or the Budget documents we link above. _PolicyEngine's UK Budget analysis is funded by the [Nuffield Foundation](https://www.nuffieldfoundation.org/). The views expressed are ours and not necessarily the Foundation's._ diff --git a/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md b/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md index 18fd541b9..98bffe248 100644 --- a/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md +++ b/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md @@ -192,7 +192,7 @@ Income deciles rank people by their household's baseline equivalised net income The calculations use the `policyengine` Python package (version 6.11.1), PolicyEngine UK (version 2.151.0) and PolicyEngine core (version 3.33.3). -The household generator changes savings and property rates together against the already scheduled 2027–28 rules. The landlord examples in this article have no savings income, so the savings rate change has no effect on them: their tax differences isolate the property changes, including finance-cost relief. We checked the £6,000 property-only example separately. The baseline and reform household calculations both use the OBR’s October 2026 forecast update. Supplied 2027–28 income stays fixed; the forecast updates the model’s projected parameters. Independent arithmetic checks the tax calculations. +The household generator changes savings and property rates together against the already scheduled 2027–28 rules. The landlord examples in this article have no savings income, so the savings rate change has no effect on them: their tax differences isolate the property changes, including finance-cost relief. The baseline and reform household calculations both use the OBR’s October 2026 forecast update. Supplied 2027–28 income stays fixed; the forecast updates the model’s projected parameters. The population run uses the certified Microcosm UK 2024–25 dataset (`a6299504`) and the detailed October forecast at dashboard commit `4de166f0`, applied to baseline and reform alike. It changes the property measure alone and includes the finance-cost-relief increase. Household net income and government revenue include interactions with the other taxes and benefits in the model. The decile averages are household-weighted means of unequivalised household net income changes; the income ranking uses person-weighted equivalised HBAI income before housing costs. We round monetary values only for presentation. diff --git a/app/src/data/posts/articles/uk-autumn-budget-2026-trading-allowance.md b/app/src/data/posts/articles/uk-autumn-budget-2026-trading-allowance.md index b02f9404e..85407b766 100644 --- a/app/src/data/posts/articles/uk-autumn-budget-2026-trading-allowance.md +++ b/app/src/data/posts/articles/uk-autumn-budget-2026-trading-allowance.md @@ -405,4 +405,4 @@ The model also omits allowance relief against its separate miscellaneous-income We use the `policyengine` Python package (version 6.11.1), PolicyEngine UK (version 2.151.0) and core (version 3.33.3), matching the dashboard's adopted bundle. Household calculations use `pe.uk.calculate_household`, with the OBR's October 2026 forecast update applied to both the baseline and reform. The reform changes only the trading allowance, from £1,000 to £3,000. Earnings, receipts and expenses stay at the stated nominal amounts in 2027–28. -The household examples supply both gross receipts and profit to represent actual expenses, choose the larger deduction and check tax and benefit changes against independent arithmetic. The line chart plots the exact points where the schedule changes and regular £100 intervals. Its interpolation agrees with PolicyEngine UK to within one penny at every £2 of receipts. The baseline and reform both use the October forecast at dashboard commit `64042657`. The [analysis files](https://github.com/PolicyEngine/policyengine-app-v2/tree/main/analysis/uk-budget-2026-income-tax) record inputs, outputs, validation and the exact forecast source. Tables and chart labels round monetary values to whole pounds. +The household examples supply both gross receipts and profit to represent actual expenses and choose the larger deduction. The line chart plots the exact points where the schedule changes and regular £100 intervals. Its interpolation agrees with PolicyEngine UK to within one penny at every £2 of receipts. The baseline and reform both use the October forecast at dashboard commit `64042657`. The [analysis files](https://github.com/PolicyEngine/policyengine-app-v2/tree/main/analysis/uk-budget-2026-income-tax) record inputs, outputs, validation and the exact forecast source. Tables and chart labels round monetary values to whole pounds. diff --git a/app/src/data/posts/articles/uk-triple-lock-budget-2026.md b/app/src/data/posts/articles/uk-triple-lock-budget-2026.md index 6068a329c..c300be0b2 100644 --- a/app/src/data/posts/articles/uk-triple-lock-budget-2026.md +++ b/app/src/data/posts/articles/uk-triple-lock-budget-2026.md @@ -1,6 +1,6 @@ -> **Updated 28 October 2026.** We first published this post earlier on 28 October with an estimated average saving across 50,000 simulated paths of prices and earnings, £11.1 billion in 2039-40, and a range around it. The same day, the model behind those paths failed a test we had registered before the Budget ([uk-triple-lock#45](https://github.com/PolicyEngine/uk-triple-lock/pull/45)). We have withdrawn the average and the range around it, and this version reports scenarios instead. We no longer describe any of the model's paths as typical or likely, and we are updating our dashboard to match. +> **Updated 28 October 2026.** We first published this post earlier on 28 October with an estimated average saving across 50,000 simulated paths of prices and earnings, £11.1 billion in 2039-40, and a range around it. The same day, the model behind those paths failed a test we had registered before the Budget ([uk-triple-lock#45](https://github.com/PolicyEngine/uk-triple-lock/pull/45)). We have withdrawn the average and the range around it, and this version reports scenarios instead. We no longer describe any of the model's paths as typical or likely. > -> Every PolicyEngine figure below comes from the pre-Budget release of our [Triple Lock dashboard](https://www.policyengine.org/uk/triple-lock), finished on 15 October, before September's inflation figure (21 October) and the Budget's forecast (28 October) were published. It uses the Office for Budget Responsibility's (OBR) March 2026 forecast, PolicyEngine UK 2.125.1 and the Enhanced Family Resources Survey 2024-25. Our other Budget posts use PolicyEngine UK 2.151.0 and the OBR's October 2026 forecast. We are rebuilding the dashboard with PolicyEngine UK 2.151.0, the Microcosm UK dataset, and the OBR's October 2026 forecast to 2030 with its March 2026 long-term assumptions after that, and its figures may change. +> Every PolicyEngine figure below comes from the pre-Budget release of our [Triple Lock dashboard](https://www.policyengine.org/uk/triple-lock), finished on 15 October, before September's inflation figure (21 October) and the Budget's forecast (28 October) were published. It uses the Office for Budget Responsibility's (OBR) March 2026 forecast, PolicyEngine UK 2.125.1 and the Enhanced Family Resources Survey 2024-25. Our other Budget posts use PolicyEngine UK 2.151.0 and the OBR's October 2026 forecast. On PolicyEngine UK 2.151.0, the Microcosm UK dataset and the October forecast, the figures below could differ. Each April, the State Pension rises by the highest of inflation, earnings growth and 2.5%. This rule is the Triple Lock. The [Budget](https://www.gov.uk/government/publications/budget-2026-document/budget-2026-html#box-5atriple-lock-adjustment175) on 28 October 2026 keeps it until April 2029 and adjusts it from April 2030. Earnings growth stops being a minimum rise, and the pension instead keeps its April 2029 value relative to earnings. In the Budget's words, from April 2030 "the State Pension rises each year by the highest of 2.5%, inflation, or the amount required to maintain its value relative to earnings as reached in April 2029." @@ -123,7 +123,7 @@ The saving depends on how often inflation or 2.5% exceeds earnings growth after Earnings growth stays below 2.5% in the inputs to the rises of April 2028 to April 2031, so both rules pay 2.5% in each of those years. The rises of April 2028 and April 2029 set the 2029-30 level that the adjusted Triple Lock protects, and the rises of April 2030 and April 2031 lift the pension above its floor. In April 2032, the adjusted Triple Lock pays 2.5% against the Triple Lock's 2.7%. In April 2033, it pays 2.8%, the rise that brings the pension back to its floor, against 3.0%. From April 2034, both rules pay earnings growth. In 2039-40, the full new State Pension is £18,639 a year under the adjusted Triple Lock, £73 below the Triple Lock's £18,712, and the saving is £0.9 billion. -On the OBR's October 2026 forecast, published with the Budget, the April 2028 rise is 3.4% rather than 2.5%, because forecast inflation of 3.4% comes out highest. The rises of April 2029 to April 2031 stay at 2.5%. Our rebuild uses the October forecast to 2030 and, until the OBR publishes long-term assumptions to match it, the March 2026 ones after that. +On the OBR's October 2026 forecast, published with the Budget, the April 2028 rise is 3.4% rather than 2.5%, because forecast inflation of 3.4% comes out highest. The rises of April 2029 to April 2031 stay at 2.5%. **The OBR's long-term assumption.** In its long-term projections, the OBR assumes that the Triple Lock raises the pension 0.6 percentage points a year faster than earnings on average, a stylised allowance for the years when inflation or 2.5% comes out highest. In this scenario, the Triple Lock follows that assumption, phased in over the rises of April 2032 and April 2033, while the adjusted Triple Lock follows the central path. The saving in 2039-40 is £10.3 billion, and the full new State Pension is £865 a year lower than under the Triple Lock. The scenario gives the adjusted Triple Lock no credit for those same years: whenever inflation or 2.5% exceeds earnings growth, the adjusted Triple Lock pays it too. It compares the adjusted Triple Lock with the OBR's way of costing the Triple Lock, and is not a forecast. @@ -230,9 +230,9 @@ Under the same scenario, the share of pensioners in poverty after housing costs The two scenarios differ more than tenfold because the saving comes from the years in which inflation or 2.5% exceeds earnings growth. The OBR's central path has none after April 2031. The last ten years had three, in April 2018, 2021 and 2023, leaving aside April 2022, for which Parliament suspended the earnings link. -To average over the possible years ahead, we built a statistical model of prices and earnings and simulated 50,000 paths. Before the Budget, we registered a test of that model on every March forecast of the OBR from 2016 whose four years of outcomes were complete, with a rule: if the model failed, we would report scenarios only. There were six such forecasts when we registered the test, and September's inflation figure completed a seventh, from March 2022. Scored on all seven on 28 October, the model failed one check. It expected earnings growth to come in below 2.5% in 45% of the years tested, against 18% in practice, beyond the limit we had set. Its other checks passed: its central 80% range contained the outcome in 5 of the 7 final years and 83% of the annual checks. +To average over the possible years ahead, a statistical model of prices and earnings generated 50,000 paths. Before the Budget, we registered a test of that model on every March forecast of the OBR from 2016 whose four years of outcomes were complete, and committed to reporting scenarios only if it failed. There were six such forecasts when we registered the test, and September's inflation figure completed a seventh, from March 2022. Scored on all seven on 28 October, the model failed one check. It expected earnings growth to come in below 2.5% in 45% of the years tested, against 18% in practice, beyond the limit we had set. Its other checks passed: its central 80% range contained the outcome in 5 of the 7 final years and 83% of the annual checks. -So we report the two scenarios, and they are not a range: the saving could fall outside them. The dashboard's next release, rebuilt on the Budget's inputs, reports scenarios only. +So we report the two scenarios, and they are not a range: the saving could fall outside them.
Methodology and limitations @@ -247,7 +247,7 @@ The central path takes the OBR's [March 2026 Economic and fiscal outlook](https: The replay of April 2017 to April 2026 uses September CPI and May to July earnings growth as published by ONS in September 2026, with April 2022's earnings figure replaced by CPI under both rules. We scale each person's actual flat-rate pension by the ratio of the two rules' pension levels, and full runs of PolicyEngine UK on the 2024-25 survey cover 2024-25 to 2026-27. -The withdrawn average came from a monthly statistical model of CPI and average weekly earnings (a vector autoregression), fitted to 2000 to 2026 without the furlough months. We resampled its shocks from its past errors and shifted every path so that the average calendar-year CPI and earnings growth across the 50,000 paths matched the OBR's central path. We estimated the average saving from full runs of PolicyEngine UK on 160 paths sampled to represent the 50,000, with one further run to check a path on which both rules pay identical rates. The test registered on 6 October scored it on the OBR's March forecasts from 2016 whose four years of outcomes were complete, seven by 28 October (March 2016 to March 2022), and set limits on coverage and bias. It failed the limit on how often earnings growth falls below 2.5%, with a bias of 0.27 against a limit of 0.25 ([results](https://github.com/PolicyEngine/uk-triple-lock/pull/45)). +The withdrawn average came from a monthly statistical model of CPI and average weekly earnings (a vector autoregression), fitted to 2000 to 2026 without the furlough months. We resampled its shocks from its past errors and shifted every path so that the average calendar-year CPI and earnings growth across the 50,000 paths matched the OBR's central path. We estimated the average saving from full runs of PolicyEngine UK on 160 paths sampled to represent the 50,000. The test registered on 6 October scored it on the OBR's March forecasts from 2016 whose four years of outcomes were complete, seven by 28 October (March 2016 to March 2022), and set limits on coverage and bias. It failed the limit on how often earnings growth falls below 2.5%, with a bias of 0.27 against a limit of 0.25 ([results](https://github.com/PolicyEngine/uk-triple-lock/pull/45)). ### Model and data @@ -270,7 +270,7 @@ We reweight the survey households each year after 2025 so that each age and sex
-[^name]: Until its next release, our dashboard calls the policy by its earlier name, the Burnham plan. +[^name]: Our dashboard calls the policy by its earlier name, the Burnham plan. --- From 7a785aa0aa21978c7df79629816e8d7418726e66 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 29 Oct 2026 08:20:45 -0400 Subject: [PATCH 2/3] Budget 2026 posts: review fixes to the process-wording recasts Pin "PolicyEngine UK doesn't include" claims to 2.151.0 and keep them in the PTA and Carer's Allowance methodology; keep the triple lock footnote true to the pre-Budget release; restore the October-forecast detail in the triple lock note; clarify the scenarios-only commitment, the trading allowance bullet and the fuel duty VAT sentence; recast the property post's promise to cover savings separately. No figure or link changes. Co-Authored-By: Claude Opus 5.5 --- app/src/data/posts/articles/carers-allowance-taper.md | 2 +- app/src/data/posts/articles/fuel-duty-cut-extension.md | 4 ++-- app/src/data/posts/articles/pension-tax-allowance.md | 2 +- .../data/posts/articles/uk-autumn-budget-2026-briefing.md | 6 +++--- .../articles/uk-autumn-budget-2026-property-income-tax.md | 2 +- app/src/data/posts/articles/uk-triple-lock-budget-2026.md | 6 +++--- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/data/posts/articles/carers-allowance-taper.md b/app/src/data/posts/articles/carers-allowance-taper.md index 4994a2045..b853baa18 100644 --- a/app/src/data/posts/articles/carers-allowance-taper.md +++ b/app/src/data/posts/articles/carers-allowance-taper.md @@ -786,6 +786,6 @@ The estimate rests on fewer than 50 survey households, so it is imprecise, and w ### Methodology -We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). The taper changes Carer's Allowance entitlement (the `carers_allowance_pre_overlap` variable) above the earnings limit. The rules and values match the Carer's Allowance taper in PolicyEngine's [Autumn Budget 2026 dashboard](https://policyengine.org/uk/autumn-budget-2026); the worked examples differ in two ways: they set the current-law limit to the government's rule, and they count the PAYE on the allowance against Universal Credit earnings (see the assumptions). The population estimates are the dashboard's own run. +We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). PolicyEngine UK 2.151.0 doesn't include the taper; in these calculations it changes Carer's Allowance entitlement (the `carers_allowance_pre_overlap` variable) above the earnings limit. The rules and values match the Carer's Allowance taper in PolicyEngine's [Autumn Budget 2026 dashboard](https://policyengine.org/uk/autumn-budget-2026); the worked examples differ in two ways: they set the current-law limit to the government's rule, and they count the PAYE on the allowance against Universal Credit earnings (see the assumptions). The population estimates are the dashboard's own run. Both sides of every calculation use the OBR's October 2026 forecast, as the dashboard does. In the worked examples, both sides also set PolicyEngine UK's current-law earnings limit to the government's rule and use our Universal Credit adjustment: for a person with employment income, we work out the income tax that Universal Credit deducts from earnings by treating Carer's Allowance as part of the earnings, so it includes the tax on the allowance. We calculated each household for gross pay from £0 (marginal rates) or £150 (other charts and tables) to £400 a week, in £1 steps for the other charts and tables. The charts of the allowance and of net income plot whole-pound points where the schedules change slope and a point every £20. The marginal tax rates are PolicyEngine UK's `marginal_tax_rate` variable, with its pay rise set to £52 a year (£1 a week) on both sides; the chart plots a point every £100 of annual pay and the points where the rates change, and leaves out the points whose £1 rise crosses one of those points, which would average two rates. The variable agrees with a direct difference of household net income to within 0.01 percentage points. PolicyEngine UK reduces all employees' pay by 0.16% in 2031-32, to reflect employers passing on the cost of the salary sacrifice cap, so we set pay 0.16% higher to give whole-pound gross pay. diff --git a/app/src/data/posts/articles/fuel-duty-cut-extension.md b/app/src/data/posts/articles/fuel-duty-cut-extension.md index 9e357449d..d37ad6e9f 100644 --- a/app/src/data/posts/articles/fuel-duty-cut-extension.md +++ b/app/src/data/posts/articles/fuel-duty-cut-extension.md @@ -544,8 +544,8 @@ The Budget estimates that the government's fuel duty decisions in this Parliamen ### Methodology -We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). We ran `calculate_household` for each household with two parameter reforms to the fuel duty rate on petrol and diesel: one with the pre-Budget rates and one with the Budget rates, each keyed to the dates above. PolicyEngine UK keys its April 2027 rate at 59.75p, uprated by the March 2026 RPI forecast, so both scenarios replace it with 60.59p. PolicyEngine UK weights each rate by the days it applies in the tax year. The net income table and the marginal rates use the dashboard's OBR October 2026 forecast, with and without the measure. The duty and VAT savings do not depend on the forecast. +We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). We ran `calculate_household` for each household with two parameter reforms to the fuel duty rate on petrol and diesel: one with the pre-Budget rates and one with the Budget rates, each keyed to the dates above. PolicyEngine UK keys its April 2027 rate at 59.75p, uprated by the March 2026 RPI forecast, so both scenarios replace it with 60.59p. PolicyEngine UK weights each rate by the days it applies in the tax year. With and without the measure, the net income table and the marginal rates use the dashboard's OBR October 2026 forecast. The duty and VAT savings do not depend on the forecast. -PolicyEngine UK holds spending on fuel fixed and does not pass a duty change into VAT, so we add 20% of the duty change for the VAT on the pump price. In those simulations, the VAT step lowers the household's `vat` by that amount, so the change flows through `vat_change` into `household_net_income`, as the dashboard's VAT modifier does. We use the rates, dates and VAT treatment of the fuel duty measure in PolicyEngine's [Autumn Budget 2026 dashboard](https://policyengine.org/uk/autumn-budget-2026). The saving is linear in litres, so the chart plots its value every 100 litres. +PolicyEngine UK holds spending on fuel fixed and does not pass a duty change into VAT, so we add 20% of the duty change for the VAT on the pump price. In the net income table and the marginal rates, the VAT step lowers the household's `vat` by that amount, so the change flows through `vat_change` into `household_net_income`, as the dashboard's VAT modifier does. We use the rates, dates and VAT treatment of the fuel duty measure in PolicyEngine's [Autumn Budget 2026 dashboard](https://policyengine.org/uk/autumn-budget-2026). The saving is linear in litres, so the chart plots its value every 100 litres. The population results come from a run of the dashboard's measure on PolicyEngine's certified UK household data: the cost is £301 million in 2026-27 and £521 million in 2027-28, of which VAT is 17%, and the average gain is £10 and £18 a household. diff --git a/app/src/data/posts/articles/pension-tax-allowance.md b/app/src/data/posts/articles/pension-tax-allowance.md index fc4a633ea..c591862a6 100644 --- a/app/src/data/posts/articles/pension-tax-allowance.md +++ b/app/src/data/posts/articles/pension-tax-allowance.md @@ -1003,4 +1003,4 @@ The Treasury's costing (Budget 2026, Table 6.1, row 52) follows a National Accou ### Methodology -We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). Every calculation, with and without the PTA, uses the OBR's October 2026 Economic and Fiscal Outlook forecast, as PolicyEngine's Autumn Budget 2026 dashboard does; PolicyEngine UK 2.151.0 ships the March 2026 forecast. The PTA reduces the `income_tax` variable and the income tax that Universal Credit deducts from earnings. The rules and values match the PTA modifier in PolicyEngine's Autumn Budget 2026 dashboard, including its Universal Credit adjustment; the one difference is the Pension Credit guarantee (see the assumptions). Income tax, the PTA and net income are piecewise linear in total income, so the charts plot their breakpoints and a point every £100. These values agree with PolicyEngine UK to the penny at every £2 of total income, and the effective marginal tax rates agree to within 0.04 percentage points away from the breakpoints. +We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). Every calculation, with and without the PTA, uses the OBR's October 2026 Economic and Fiscal Outlook forecast, as PolicyEngine's Autumn Budget 2026 dashboard does; PolicyEngine UK 2.151.0 ships the March 2026 forecast. PolicyEngine UK 2.151.0 doesn't include the PTA; in these calculations it reduces the `income_tax` variable and the income tax that Universal Credit deducts from earnings. The rules and values match the PTA modifier in PolicyEngine's Autumn Budget 2026 dashboard, including its Universal Credit adjustment; the one difference is the Pension Credit guarantee (see the assumptions). Income tax, the PTA and net income are piecewise linear in total income, so the charts plot their breakpoints and a point every £100. These values agree with PolicyEngine UK to the penny at every £2 of total income, and the effective marginal tax rates agree to within 0.04 percentage points away from the breakpoints. diff --git a/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md b/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md index b2022439b..f8c73a41f 100644 --- a/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md +++ b/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md @@ -223,13 +223,13 @@ These results: - leave out poverty and people-affected figures; - leave out national figures for the savings income tax rise (the calculator includes it); -- apply the trading allowance to trading income but not to miscellaneous income; including miscellaneous income would raise our estimate of its cost; +- apply the trading allowance to trading income but not to miscellaneous income (including it would raise our estimate of the allowance's cost); - don't correctly reflect how the Carer's Allowance taper interacts with overlapping benefits, such as the State Pension, in 2030-31; - apply the fuel duty cut to petrol and diesel but not to road fuel gases (LPG and natural gas), which the government's costing covers; - don't give the Pension Tax Allowance to everyone who reaches State Pension age during the tax year; - project household electricity spending with general inflation rather than retail energy prices. -PolicyEngine UK itself, our open-source model, doesn't include the Budget's measures; the dashboard runs them. +PolicyEngine UK 2.151.0, our open-source model, doesn't include the Budget's measures; the dashboard runs them. ## Methodology @@ -241,6 +241,6 @@ Our estimates come from PolicyEngine's [Autumn Budget 2026 dashboard](https://ww - **The package.** The combined results come from one simulation of the seven measures together, which models each exactly as in its own run. - **Small samples.** The dashboard withholds any result that rests on fewer than three survey households. For the package in 2030-31 and 2031-32, it withholds the results for two income deciles and the average change across all households, the same cells it withholds for the Carer's Allowance taper on its own. -Every PolicyEngine figure in this briefing comes from the dashboard's published results (manifest revision 17), except the further figures we quote from the dashboard's notes on the comparison with the official costings, which those results don't include. Every official figure comes from the OBR's October 2026 Economic and fiscal outlook or the Budget documents we link above. +Every PolicyEngine figure in this briefing comes from the dashboard's published results (manifest revision 17), except the further figures we quote from the dashboard's notes on the comparison with the official costings, which the published results don't include. Every official figure comes from the OBR's October 2026 Economic and fiscal outlook or the Budget documents we link above. _PolicyEngine's UK Budget analysis is funded by the [Nuffield Foundation](https://www.nuffieldfoundation.org/). The views expressed are ours and not necessarily the Foundation's._ diff --git a/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md b/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md index 98bffe248..e5b000121 100644 --- a/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md +++ b/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md @@ -10,7 +10,7 @@ Key figures: The 2027–28 and 2028–29 figures use different collection-timing bases and are not directly comparable. From 2029–30, PolicyEngine's estimate exceeds the costing's income tax line by 9% to 11%; see the [budgetary impact section](#budgetary-impact). -Our [Autumn Budget 2026 dashboard](https://www.policyengine.org/uk/autumn-budget-2026) is where we publish estimates for the Budget measures we model. A [separate explainer](/uk/research/uk-autumn-budget-2026-trading-allowance) covers the trading allowance increase. The Budget also raises savings income tax rates; we will cover that measure separately. +Our [Autumn Budget 2026 dashboard](https://www.policyengine.org/uk/autumn-budget-2026) is where we publish estimates for the Budget measures we model. A [separate explainer](/uk/research/uk-autumn-budget-2026-trading-allowance) covers the trading allowance increase. The Budget also raises savings income tax rates, which this post doesn't cover. ## What changes in April 2027? diff --git a/app/src/data/posts/articles/uk-triple-lock-budget-2026.md b/app/src/data/posts/articles/uk-triple-lock-budget-2026.md index c300be0b2..e4183c39b 100644 --- a/app/src/data/posts/articles/uk-triple-lock-budget-2026.md +++ b/app/src/data/posts/articles/uk-triple-lock-budget-2026.md @@ -1,6 +1,6 @@ > **Updated 28 October 2026.** We first published this post earlier on 28 October with an estimated average saving across 50,000 simulated paths of prices and earnings, £11.1 billion in 2039-40, and a range around it. The same day, the model behind those paths failed a test we had registered before the Budget ([uk-triple-lock#45](https://github.com/PolicyEngine/uk-triple-lock/pull/45)). We have withdrawn the average and the range around it, and this version reports scenarios instead. We no longer describe any of the model's paths as typical or likely. > -> Every PolicyEngine figure below comes from the pre-Budget release of our [Triple Lock dashboard](https://www.policyengine.org/uk/triple-lock), finished on 15 October, before September's inflation figure (21 October) and the Budget's forecast (28 October) were published. It uses the Office for Budget Responsibility's (OBR) March 2026 forecast, PolicyEngine UK 2.125.1 and the Enhanced Family Resources Survey 2024-25. Our other Budget posts use PolicyEngine UK 2.151.0 and the OBR's October 2026 forecast. On PolicyEngine UK 2.151.0, the Microcosm UK dataset and the October forecast, the figures below could differ. +> Every PolicyEngine figure below comes from the pre-Budget release of our [Triple Lock dashboard](https://www.policyengine.org/uk/triple-lock), finished on 15 October, before September's inflation figure (21 October) and the Budget's forecast (28 October) were published. It uses the Office for Budget Responsibility's (OBR) March 2026 forecast, PolicyEngine UK 2.125.1 and the Enhanced Family Resources Survey 2024-25. Our other Budget posts use PolicyEngine UK 2.151.0 and the OBR's October 2026 forecast. The figures below could differ on PolicyEngine UK 2.151.0, the Microcosm UK dataset and the OBR's October 2026 forecast to 2030, with its March 2026 long-term assumptions after that. Each April, the State Pension rises by the highest of inflation, earnings growth and 2.5%. This rule is the Triple Lock. The [Budget](https://www.gov.uk/government/publications/budget-2026-document/budget-2026-html#box-5atriple-lock-adjustment175) on 28 October 2026 keeps it until April 2029 and adjusts it from April 2030. Earnings growth stops being a minimum rise, and the pension instead keeps its April 2029 value relative to earnings. In the Budget's words, from April 2030 "the State Pension rises each year by the highest of 2.5%, inflation, or the amount required to maintain its value relative to earnings as reached in April 2029." @@ -230,7 +230,7 @@ Under the same scenario, the share of pensioners in poverty after housing costs The two scenarios differ more than tenfold because the saving comes from the years in which inflation or 2.5% exceeds earnings growth. The OBR's central path has none after April 2031. The last ten years had three, in April 2018, 2021 and 2023, leaving aside April 2022, for which Parliament suspended the earnings link. -To average over the possible years ahead, a statistical model of prices and earnings generated 50,000 paths. Before the Budget, we registered a test of that model on every March forecast of the OBR from 2016 whose four years of outcomes were complete, and committed to reporting scenarios only if it failed. There were six such forecasts when we registered the test, and September's inflation figure completed a seventh, from March 2022. Scored on all seven on 28 October, the model failed one check. It expected earnings growth to come in below 2.5% in 45% of the years tested, against 18% in practice, beyond the limit we had set. Its other checks passed: its central 80% range contained the outcome in 5 of the 7 final years and 83% of the annual checks. +To average over the possible years ahead, we drew 50,000 paths from a statistical model of prices and earnings. Before the Budget, we registered a test of that model on every March forecast of the OBR from 2016 whose four years of outcomes were complete, and committed, if the model failed, to reporting scenarios only. There were six such forecasts when we registered the test, and September's inflation figure completed a seventh, from March 2022. Scored on all seven on 28 October, the model failed one check. It expected earnings growth to come in below 2.5% in 45% of the years tested, against 18% in practice, beyond the limit we had set. Its other checks passed: its central 80% range contained the outcome in 5 of the 7 final years and 83% of the annual checks. So we report the two scenarios, and they are not a range: the saving could fall outside them. @@ -270,7 +270,7 @@ We reweight the survey households each year after 2025 so that each age and sex -[^name]: Our dashboard calls the policy by its earlier name, the Burnham plan. +[^name]: Our dashboard's pre-Budget release calls the policy by its earlier name, the Burnham plan. --- From 056c0b1b7d812d536523d3f67de73182aea96c49 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 29 Oct 2026 08:27:41 -0400 Subject: [PATCH 3/3] Budget 2026 posts: second-round review fixes to the wording recasts Name the people-affected figures the briefing leaves out as the dashboard's separate ones; say "the PTA" and "the taper" where "it" was ambiguous; recast the property post's "We have not yet explained" as a present-tense limitation. No figure or link changes. Co-Authored-By: Claude Opus 5.5 --- app/src/data/posts/articles/carers-allowance-taper.md | 2 +- app/src/data/posts/articles/pension-tax-allowance.md | 2 +- app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md | 2 +- .../posts/articles/uk-autumn-budget-2026-property-income-tax.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/data/posts/articles/carers-allowance-taper.md b/app/src/data/posts/articles/carers-allowance-taper.md index b853baa18..47d04b4c8 100644 --- a/app/src/data/posts/articles/carers-allowance-taper.md +++ b/app/src/data/posts/articles/carers-allowance-taper.md @@ -786,6 +786,6 @@ The estimate rests on fewer than 50 survey households, so it is imprecise, and w ### Methodology -We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). PolicyEngine UK 2.151.0 doesn't include the taper; in these calculations it changes Carer's Allowance entitlement (the `carers_allowance_pre_overlap` variable) above the earnings limit. The rules and values match the Carer's Allowance taper in PolicyEngine's [Autumn Budget 2026 dashboard](https://policyengine.org/uk/autumn-budget-2026); the worked examples differ in two ways: they set the current-law limit to the government's rule, and they count the PAYE on the allowance against Universal Credit earnings (see the assumptions). The population estimates are the dashboard's own run. +We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). PolicyEngine UK 2.151.0 doesn't include the taper; in these calculations the taper changes Carer's Allowance entitlement (the `carers_allowance_pre_overlap` variable) above the earnings limit. The rules and values match the Carer's Allowance taper in PolicyEngine's [Autumn Budget 2026 dashboard](https://policyengine.org/uk/autumn-budget-2026); the worked examples differ in two ways: they set the current-law limit to the government's rule, and they count the PAYE on the allowance against Universal Credit earnings (see the assumptions). The population estimates are the dashboard's own run. Both sides of every calculation use the OBR's October 2026 forecast, as the dashboard does. In the worked examples, both sides also set PolicyEngine UK's current-law earnings limit to the government's rule and use our Universal Credit adjustment: for a person with employment income, we work out the income tax that Universal Credit deducts from earnings by treating Carer's Allowance as part of the earnings, so it includes the tax on the allowance. We calculated each household for gross pay from £0 (marginal rates) or £150 (other charts and tables) to £400 a week, in £1 steps for the other charts and tables. The charts of the allowance and of net income plot whole-pound points where the schedules change slope and a point every £20. The marginal tax rates are PolicyEngine UK's `marginal_tax_rate` variable, with its pay rise set to £52 a year (£1 a week) on both sides; the chart plots a point every £100 of annual pay and the points where the rates change, and leaves out the points whose £1 rise crosses one of those points, which would average two rates. The variable agrees with a direct difference of household net income to within 0.01 percentage points. PolicyEngine UK reduces all employees' pay by 0.16% in 2031-32, to reflect employers passing on the cost of the salary sacrifice cap, so we set pay 0.16% higher to give whole-pound gross pay. diff --git a/app/src/data/posts/articles/pension-tax-allowance.md b/app/src/data/posts/articles/pension-tax-allowance.md index c591862a6..be8e2f482 100644 --- a/app/src/data/posts/articles/pension-tax-allowance.md +++ b/app/src/data/posts/articles/pension-tax-allowance.md @@ -1003,4 +1003,4 @@ The Treasury's costing (Budget 2026, Table 6.1, row 52) follows a National Accou ### Methodology -We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). Every calculation, with and without the PTA, uses the OBR's October 2026 Economic and Fiscal Outlook forecast, as PolicyEngine's Autumn Budget 2026 dashboard does; PolicyEngine UK 2.151.0 ships the March 2026 forecast. PolicyEngine UK 2.151.0 doesn't include the PTA; in these calculations it reduces the `income_tax` variable and the income tax that Universal Credit deducts from earnings. The rules and values match the PTA modifier in PolicyEngine's Autumn Budget 2026 dashboard, including its Universal Credit adjustment; the one difference is the Pension Credit guarantee (see the assumptions). Income tax, the PTA and net income are piecewise linear in total income, so the charts plot their breakpoints and a point every £100. These values agree with PolicyEngine UK to the penny at every £2 of total income, and the effective marginal tax rates agree to within 0.04 percentage points away from the breakpoints. +We used the `policyengine` Python package (version 6.11.1) with PolicyEngine UK (version 2.151.0). Every calculation, with and without the PTA, uses the OBR's October 2026 Economic and Fiscal Outlook forecast, as PolicyEngine's Autumn Budget 2026 dashboard does; PolicyEngine UK 2.151.0 ships the March 2026 forecast. PolicyEngine UK 2.151.0 doesn't include the PTA; in these calculations the PTA reduces the `income_tax` variable and the income tax that Universal Credit deducts from earnings. The rules and values match the PTA modifier in PolicyEngine's Autumn Budget 2026 dashboard, including its Universal Credit adjustment; the one difference is the Pension Credit guarantee (see the assumptions). Income tax, the PTA and net income are piecewise linear in total income, so the charts plot their breakpoints and a point every £100. These values agree with PolicyEngine UK to the penny at every £2 of total income, and the effective marginal tax rates agree to within 0.04 percentage points away from the breakpoints. diff --git a/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md b/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md index f8c73a41f..e4fd55cec 100644 --- a/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md +++ b/app/src/data/posts/articles/uk-autumn-budget-2026-briefing.md @@ -221,7 +221,7 @@ The official costing includes some savers moving their savings into ISAs and oth These results: -- leave out poverty and people-affected figures; +- leave out poverty figures and the dashboard's separate people-affected figures; - leave out national figures for the savings income tax rise (the calculator includes it); - apply the trading allowance to trading income but not to miscellaneous income (including it would raise our estimate of the allowance's cost); - don't correctly reflect how the Carer's Allowance taper interacts with overlapping benefits, such as the State Pension, in 2030-31; diff --git a/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md b/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md index e5b000121..d1265e5de 100644 --- a/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md +++ b/app/src/data/posts/articles/uk-autumn-budget-2026-property-income-tax.md @@ -76,7 +76,7 @@ Positive values are additional revenue. PolicyEngine measures the change in gove The [ONS public-finance methodology, section 6.1.2](https://www.ons.gov.uk/economy/governmentpublicsectorandtaxes/publicsectorfinance/methodologies/monthlystatisticsonthepublicsectorfinancesamethodologicalguide) records Self Assessment income tax using cash receipts, without shifting them back to the year the income arose. This can produce a small first-year receipts effect followed by a catch-up. Comparing those first two years with same-year model liabilities requires a collection-timing adjustment; it does not by itself establish a difference in the tax base. -The government's costing also allows for some landlords incorporating, as the [policy costings](https://assets.publishing.service.gov.uk/media/6ae1883fe4367e5c8b0467df/AB26_Policy_Costing.pdf#page=74) set out. PolicyEngine holds that choice fixed. We have not yet explained the later-year gap; differences in data, behaviour and accounting could each contribute. +The government's costing also allows for some landlords incorporating, as the [policy costings](https://assets.publishing.service.gov.uk/media/6ae1883fe4367e5c8b0467df/AB26_Policy_Costing.pdf#page=74) set out. PolicyEngine holds that choice fixed. Our analysis doesn't explain the later-year gap; differences in data, behaviour and accounting could each contribute. ### Distribution