Skip to content

capital_gains_tax applies one blended main-rate schedule to all gains: add inputs for BADR, residential-property and carried-interest gains and tax each at its own rates #1858

Closed

Description

@juaristi22

What the engine does today

capital_gains_tax (policyengine_uk/variables/gov/hmrc/capital_gains_tax/capital_gains_tax.py) takes a person's
whole capital_gains, subtracts the annual exempt amount, stacks the remainder on taxable income and charges
gov.hmrc.cgt.basic_rate / higher_rate / additional_rate. Those three parameters carry
fiscal_year_blend: true, so for 2024-25 they are the day-weighted average of the rates before and after
30 October 2024: 13.46% basic and 21.73% higher (207 days at 10%/20%, 158 days at 18%/24%).

The law applies three other schedules to gains the input cannot distinguish:

  • Business Asset Disposal Relief and Investors' Relief (TCGA 1992 Part 5 Ch 3, s.169N): qualifying gains up to
    the £1m lifetime limit are charged at 10% in 2024-25, 14% from 6 April 2025 and 18% from 6 April 2026
    (Finance Act 2025). The rate did not change on 30 October 2024, so no blend applies to it.
  • Residential property gains (TCGA 1992 s.1H, s.1I): 18% basic and 24% higher for the whole of 2024-25 (the
    higher rate fell from 28% to 24% on 6 April 2024), and 18%/28% before that.
  • Carried interest (TCGA 1992 s.1H): 18%/28% throughout 2024-25 and a flat 32% from 6 April 2025; from
    6 April 2026 carried interest moves into the income tax framework, which is out of scope here.

Why it matters, measured

The microcosm UK dataset (PolicyEngine/microcosm#939) is calibrated to HMRC Table 1 for 2024-25 individuals:
551,000 taxpayers, £119.26bn of gains and £22.50bn of liability. After calibration the gains total sits at
−0.4%, but the engine's 2024 liability on the same weights is £25.07bn, +11.4%, and the Table 6 liability rows by
age band carry the same +7% to +15% for ages 35–74. The reason is the schedule, not the gains:

  • HMRC's 2024-25 commentary reports 61,000 taxpayers claiming BADR on £18.5bn of gains with £1.8bn of tax, 8% of
    all CGT. Charging those gains at the blended 21.73% instead of 10% overstates liability by about £2bn, most of
    the £2.6bn gap.
  • HMRC also reports disposals brought forward ahead of the 30 October 2024 Budget (Table 8c.2 shows the surge in
    September and October 2024). A day-weighted blend assumes a uniform flow, so it overweights the post-Budget
    rates for 2024-25.
  • Residential property (£12.9bn of gains, £2.8bn of tax across all taxpayers) and carried interest (£5.4bn,
    £1.4bn) run the other way: at 24% and 28% all year they are under-taxed by the blend, by roughly £0.3bn each.

Any reform that moves one schedule (the BADR rate path, residential alignment, carried interest) cannot be
represented at all, and the baseline effective rate is biased upward for as long as gains are calibrated to the
published total.

Proposed change

Three person-level GBP inputs, each a component of capital_gains (default 0, uprated like
capital_gains_before_response), with the remainder taxed at the main rates:

  • capital_gains_badr — gains qualifying for BADR or Investors' Relief, capped at the lifetime limit.
  • capital_gains_residential_property — net gains on UK residential property disposals.
  • capital_gains_carried_interest — carried interest gains.

Parameters under gov.hmrc.cgt: badr_rate (0.10; 0.14 from 2025-04-06; 0.18 from 2026-04-06),
badr_lifetime_limit (1,000,000), residential_property.basic_rate (0.18) and .higher_rate (0.28; 0.24 from
2024-04-06), carried_interest.basic_rate (0.18) and .higher_rate (0.28; 0.32 for both from 2025-04-06). None
of these changed on 30 October 2024, so none needs fiscal_year_blend.

capital_gains_tax then applies the AEA once across all gains and sets the AEA and any unused basic-rate band
against the gains taxed at the highest rate first, the taxpayer's beneficial allocation (confirm against TCGA 1992
s.1I and HMRC CG10246 before implementing), charging each component at its own schedule and summing.

Optional, for 2024-25 only: a parameter for the share of main-rate gains realised before 30 October 2024,
defaulting to the day weight (207/365), so the blend can be set to the observed forestalling instead of the
calendar.

Data side

  • microcosm PR UK CGT distribution: age/region conditioning, banded and residential targets, asset types (#725, #467) microcosm#939 adds capital_gains_residential_property (the person's net gain where
    flagged residential, solved to HMRC Table 8a on the individuals basis) and a capital_gains_asset_type column
    (Table 7 categories) to the UK dataset. Both ride through export and are ignored by the engine today.
  • BADR-qualifying gains are not yet imputed. HMRC Table 4 publishes 2024-25 claimants, qualifying gains and tax;
    packaging it in Chronicle and imputing a BADR flag on the spine (conditioned on the asset type, since BADR
    attaches to business disposals) is the microcosm follow-up. Carried interest is in HMRC Table 9 and the
    Chronicle feed (Add HMRC CGT Tables 7–9 source packages chronicle#273) but not yet on the spine.
  • With all three inputs at zero the engine's liability is unchanged, so the engine change can land first.

Acceptance

  • Inputs absent or zero: capital_gains_tax is byte-identical to today.
  • 2024: £100,000 residential gain on £30,000 taxable income pays 18% on the unused basic-rate band and 24% above,
    after one AEA.
  • 2024: £500,000 BADR gain pays 10%; the same gain in 2025 pays 14% and in 2026 18%; a £1.5m BADR gain has
    £500,000 charged at main rates.
  • 2024: £1m carried interest pays 28% above the basic-rate band; in 2025, 32%.
  • Mixed gains: the AEA and basic-rate band go to the highest-rate component first.
  • capital_gains_behavioural_response keeps working off capital_gains_before_response; the marginal-rate
    variables should read the applicable schedule per component (follow-up if not done here).

References

Related

Metadata

Metadata

Assignees

No one assigned

    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