Skip to content

Capital gains tax reform scoring (mode 2): the Budget's flagship measure, and the one where the behavioural response IS the disagreement #97

Description

@vahid-ahmadi

Capital gains tax is the single most-reported broad-based option for the 28 October Budget, with the "big three" (income tax, NI, VAT rates) ruled out by the manifesto pledge. Aligning CGT rates with income tax bands is reported at around £14bn.

PolicyEngine-UK can express it cleanly, verified against an installed 2.89.2:

parameter today (2026) aligned
gov.hmrc.cgt.basic_rate 0.18 0.20
gov.hmrc.cgt.higher_rate 0.24 0.40
gov.hmrc.cgt.additional_rate 0.24 0.45

The scorecard already carries HMRC capital_gains_tax level claims, but no CGT reform scoring at all.

Why this one is worth doing properly rather than quickly

The behavioural response IS the disagreement. Published CGT estimates differ mostly about how far realisations fall when the rate rises, not about the arithmetic — reported receipts have ranged £12–22bn historically on a broadly stable rate structure. PolicyEngine-UK carries a real response module (capital_gains_behavioural_response, relative_capital_gains_mtr_change, elasticity at gov.simulation.capital_gains_responses.elasticity), so this lane can do something the reckoner lanes cannot: score the same measure static AND post-behavioural, and publish the wedge between them.

That wedge is the interesting number. A static-only PE figure is not comparable to a behavioural OBR costing, and #67 already found that pretending otherwise produces an undecomposed divergence nobody can attribute.

Steps

Blocked on #51 merging and #77-style run capacity. Registry entry already exists: ab2026__cgt_align_with_income_tax_rates in #96.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions