Skip to content

PTA post: label the official costing as a total with no benefit savings - #1474

Merged
MaxGhenis merged 1 commit into
mainfrom
pta-post-official-labels
Oct 28, 2026
Merged

MaxGhenis merged 1 commit into
mainfrom
pta-post-official-labels

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

Wording-only fix to the live Pension Tax Allowance post (#1457). No figures change.

The OBR's detailed policy table, Economic and fiscal outlook October 2026, detailed forecast table 1.1, measure 52, splits the official costing into several lines. Negative figures are losses to the Exchequer.

£m 2027-28 2028-29 2029-30 2030-31 2031-32
Income tax −44.06 −83.24 −143.89 +49.05 −15.40
PSCE in RDEL −0.60 −0.91 −1.49 +0.15 −0.05
Scottish BGA (current) −3.21 −7.25 −12.35 +0.48 −0.17
Scottish self-financed expenditure +0.93 +3.18 +5.82 0 0
Welfare inside cap 0 0 0 0 0
Total −46.94 −88.22 −151.91 +49.68 −15.62

The total is Table 6.1 row 52 (−45, −90, −150, +50, −15) to the nearest £5m. NICs, onshore corporation tax and capital gains tax are 0 in every year. The file is in uk-autumn-budget-dashboard-2026 #300 (data_inputs/obr/efo-october-2026/detailed-forecast-tables/efo-october-2026-detailed-forecast-tables-policy.xlsx, sheet 1.1, rows 235 to 243).

The post presented Table 6.1's totals as income tax, and said the official figures cover income tax only. This PR changes three labels:

  1. Budgetary impact table. The column header "Income tax: HM Treasury (Table 6.1)" becomes "HM Treasury (Table 6.1)". For example, its 2028-29 cell is −£90m, while the income tax alone is −£83m.
  2. Body text. "The Treasury's and the OBR's figures cover income tax only" becomes "count no benefit savings".
  3. Appendix. The OBR's table "records the PTA's income tax at −£44 million … and no benefit spending. Small Scottish and departmental spending lines take its total to −£47 million, −£88 million and −£152 million". The next sentence now says "That the OBR's income tax equals PolicyEngine's total cost…", so it is clear which figures it means.

Max approved the fix on 28 Oct, relayed by the Budget coordinator session.

🤖 Generated with Claude Code

The OBR's detailed policy table (EFO October 2026, table 1.1, measure 52)
splits the official costing into income tax (-44.06, -83.24, -143.89 £m in
2027-28 to 2029-30) and small Scottish and departmental spending lines, with
a zero welfare line; its total (-46.94, -88.22, -151.91) is Table 6.1's -45,
-90 and -150 to the nearest £5m. The post labelled Table 6.1's totals as
income tax and said the official figures cover income tax only.

- Budgetary impact table: header "Income tax: HM Treasury (Table 6.1)"
  becomes "HM Treasury (Table 6.1)".
- Body: "cover income tax only" becomes "count no benefit savings".
- Appendix: the OBR table's income tax, no benefit spending, and its total
  (-£47m, -£88m, -£152m).

No figure changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
policyengine-calculator-next Ready Ready Preview Oct 28, 2026 8:23pm UTC
policyengine-website Ready Ready Preview Oct 28, 2026 8:23pm UTC

Request Review

@MaxGhenis

Copy link
Copy Markdown
Contributor Author

@PavelMakarchuk, this PR fixes three labels in your PTA post. No figures change.

The OBR's detailed table 1.1 shows that Table 6.1's −£45m, −£90m and −£150m are totals: income tax (−£44m, −£83m, −£144m) plus small Scottish and departmental spending lines, with no benefit savings. The post called those totals income tax. The description has the line-by-line figures.

Max asked for the fix. main needs one approving review, and as the PR is from Max's account he can't approve it himself. Could you approve at 4c0ecc4 if you're happy with the wording? I'll merge once CI and the independent review pass.

🤖 Generated with Claude Code

@MaxGhenis

Copy link
Copy Markdown
Contributor Author

An independent review at 4c0ecc4 found no blocking problems and two optional nits. The Codex review lanes were closed, so another Opus 5.5 agent did the review.

What it checked against the source files:

  • No figures changed. It compared every figure in the removed and added lines. The only new figures are the OBR totals in the appendix. All six table rows are identical, cell for cell.
  • The OBR table matches. In OBR detailed table 1.1, measure 52:
    • income tax is −44.06, −83.24, −143.89, +49.05 and −15.40 (row 235);
    • the total is −46.94, −88.22 and −151.91 (row 243);
    • welfare inside cap is 0 in every year, and there are no other benefit or local-spending rows;
    • the only other non-zero lines are PSCE in RDEL, Scottish block grant adjustment and Scottish self-financed expenditure, which net to £3m to £8m.
  • The Treasury column is the OBR total. Table 6.1 row 52 (0, −45, −90, −150, +50, −15) is the OBR total rounded to the nearest £5m in every year. Income tax alone would round to −85 and −145 in 2028-29 and 2029-30. So the old header, "Income tax: HM Treasury", was wrong.
  • "Count no benefit savings" holds. The OBR's welfare line is zero, and the Treasury's costing note describes only applying the tax rules before and after the measure.
  • The rounding sentence still holds. The OBR's income tax rounds to −£83m and −£144m, which equal PolicyEngine's total cost in 2028-29 and 2029-30.
  • No old claim is left. "Income tax only" appears nowhere else in the post or in app/src.
  • The table renders. Its markdown is valid, and CI is green.

The two nits are about wording in the appendix sentence. It could say that Table 6.1 rounds the OBR total to the nearest £5 million. And "and no benefit spending" reads as if it applies only to the later years.

🤖 Generated with Claude Code

@MaxGhenis
MaxGhenis merged commit b8cb622 into main Oct 28, 2026
10 checks passed
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Admin-merged at 4c0ecc4 on Max's go in the Budget coordinator session (28 Oct, ~21:00Z): "Admin-merge now", when asked whether to admin-merge as for #1458.

  • The change: wording only. Three labels now match the OBR's detailed policy table (Table 1.1, measure 52), and no figure changed.
  • CI: gh pr checks exited 0, with 10 of 10 checks passing at 4c0ecc4.
  • Independent review: APPROVE WITH NITS from an Opus 5.5 reviewer, used as the fallback while the Codex lanes were closed (comment 6480035140). Its two optional nits were not applied, so the reviewed head is what merged.
  • The only block was the required approving review. Pavel was asked in 6479820321 and hadn't answered.

🤖 Generated with Claude Code

This branch was successfully deployed

2 active deployments
Preview – policyengine-website — 4c0ecc42 Deployed Oct 28, 2026 by vercel[bot]
Preview – policyengine-calculator-next — 4c0ecc42 Deployed Oct 28, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant