Skip to content

PTA post: say we have not established why our reach exceeds the Treasury's - #1483

Merged
MaxGhenis merged 2 commits into
mainfrom
pta-post-reach-sentence
Oct 28, 2026
Merged

MaxGhenis merged 2 commits into
mainfrom
pta-post-reach-sentence

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

Adds one sentence to the PTA post (#1457). It goes directly after the explainer's estimate of about 500,000 people in 2027-28 and about 1 million by the end of this Parliament:

PolicyEngine's counts are about a third higher than the Treasury's, and we have not established why. Both count people over State Pension age whose income tax falls; the government's costing estimates them with HMRC's Personal Tax Model and administrative data, and PolicyEngine with its representative sample of households.

Max approved this exact text, relayed by the Budget coordinator session. No figures change.

Basis:

  • The counts.

    Year PolicyEngine HM Treasury explainer Ratio
    2027-28 668,000 about 500,000 1.34
    2029-30 1.36 million "around 1 million" by the end of this Parliament about 1.36

    The PolicyEngine figures are the post's own figures, from the dashboard's run.

  • Both count the same thing.

    • The dashboard's PTA applies to people over State Pension age with total income in the band.
    • It has no State Pension receipt test, which matches the explainer ("You do not need to receive the State Pension to be eligible").
    • Every gainer has the £12,570 Personal Allowance.
  • Data sources. The government's Policy costings (p. 63) say the PTA's tax base "is estimated using HMRC's Personal Tax Model and HMRC administrative data".

  • Why "not established".

    • About 200,000 of PolicyEngine's 2027-28 gainers have only the full new State Pension.
    • Taking them out leaves an income tax cut of about £23m, against the OBR's £44m. So that group doesn't reconcile the two figures.
    • An independent Opus 5.5 review recomputed this and confirmed it.

🤖 Generated with Claude Code

…ury's

PolicyEngine's 2027-28 count (668,000 paying less income tax) is about a
third above HM Treasury's explainer (about 500,000), as is 2029-30's 1.36
million against "around 1 million by the end of this Parliament". The rules
match (State Pension age, total income in the band, no State Pension
receipt test, the £12,570 Personal Allowance), and about 200,000 of
PolicyEngine's gainers have only the full new State Pension, but removing
them does not reconcile the cost, so the cause is not established. The
sentence says so, after the explainer's figures.

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 9:43pm UTC
policyengine-website Ready Ready Preview Oct 28, 2026 9:43pm UTC

Request Review

@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Independent review at d4e8285: no blocking findings, a few optional nits. The Codex and Claude review lanes are closed, so another Opus 5.5 agent did it.

  • The diff matches the approved text. The insertion is exactly the approved text, byte for byte, right after "For context, HM Treasury's explainer estimates…". It uses straight apostrophes, like the rest of the post. Nothing else changes.
  • "About a third higher" holds for both counts. 668,000 / 500,000 = 1.34. 1.36 million / 1 million = 1.36, taking the explainer's "end of this Parliament" as 2029-30, when the PTA ends.
  • The costing supports the Personal Tax Model clause. Policy costings, p. 63: "It is estimated using HMRC's Personal Tax Model and HMRC administrative data."
  • "Both count people over State Pension age whose income tax falls" holds. The explainer counts pensioners "benefitting from a tax reduction". PolicyEngine's PTA applies only to people over State Pension age, and the post's count is people who pay less income tax.
  • The rest of the post is consistent. Nothing else contradicts the sentence. Lines 738, 986 and 990 already name the representative sample and the Personal Tax Model.

After the review. I merged main in as 5820e38, so this PR lands after #1479. The PR's diff against main is still exactly the approved sentence; I checked the file byte for byte against main plus the sentence. CI is re-running on 5820e38.

🤖 Generated with Claude Code

@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Audit: admin-merging at 5820e38.

  • Max's answer (28 Oct 2026, relayed verbatim by the Budget coordinator session): "Add sentence A (Recommended)". He approved this exact text, to go directly after the "For context, HM Treasury's explainer estimates…" sentence.
  • Review: an independent Opus 5.5 review at d4e8285 found no blocking findings (comment 6481398625; file seat-pta/reviews/pr1483-opus-review.md).
  • Main merged in: after Active voice in the fuel duty and PTA posts #1479, as 5820e38. The PR's diff against main is still exactly the approved sentence, checked byte for byte.
  • CI: gh pr checks exits 0 on 5820e38 (10/10), and the PR is MERGEABLE.
  • Why admin: the PR is from Max's account, so he can't approve it, and the required approving review was the only block.

🤖 Generated with Claude Code

@MaxGhenis
MaxGhenis merged commit c949f7b into main Oct 28, 2026
10 checks passed
@MaxGhenis
MaxGhenis deleted the pta-post-reach-sentence branch October 28, 2026 21:47

This branch was successfully deployed

2 active deployments
Preview – policyengine-website — 5820e388 Deployed Oct 28, 2026 by vercel[bot]
Preview – policyengine-calculator-next — 5820e388 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