PolicyEngine / PolicyEngine/uk-equalising-cgt
Validate and improve CGT uprating for the 2026–31 projections
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Problem
The equalisation analysis projects reform impacts for FY2026–27 through FY2030–31. It needs a documented and validated method for projecting the capital gains base from its observation year into each reform year. This requirement applies whichever microdataset the analysis uses.
The current dataset-materialisation path inherits the model's general uprating. In the inspected UK 2.97.0 runtime, capital_gains and capital_gains_before_response grow with GDP per capita, while household weights grow with population. The engine then recalculates CGT under each year's rules.
Calibration to an observed year's administrative totals does not validate that forward trajectory. GDP-per-capita growth does not explicitly account for the asset-price, realisation, timing and policy changes reflected in CGT-specific information. We should assess how much the projection assumption changes the baseline and the reform score.
Official forecast information
The OBR March 2026 Economic and fiscal outlook, Table 3.7 publishes CGT receipts through 2030–31:
| Fiscal year | Forecast CGT receipts |
|---|---|
| 2025–26 | £21.8bn |
| 2026–27 | £20.8bn |
| 2027–28 | £25.5bn |
| 2028–29 | £28.9bn |
| 2029–30 | £32.0bn |
| 2030–31 | £34.9bn |
These are receipts forecasts. Translating them into a projection of individual realised gains requires an explicit bridge between the measures and years. The forecast incorporates equity/property assumptions and policy/timing effects.
Proposed work
- Audit the current projection. Record the actual gains and population factors applied in every analysis year, their source vintages, and the resulting baseline gains, taxpayer counts and CGT liability.
- Develop and assess a CGT-specific projection using HMRC observations and OBR forecast information. Document:
- Observation years versus forecast years, and the scope of individuals versus trusts.
- The payment lag between realised gains, tax liability and cash receipts; receipts growth cannot be applied directly to same-year gains without this bridge.
- Current-law rates and reliefs, forestalling, and the carried-interest reclassification, so changes in receipts are not all interpreted as growth in the underlying gains base.
- The terminal assumption for 2030–31 gains if the chosen timing bridge requires receipts beyond the published forecast horizon.
- How aggregate gains growth translates into per-person amounts when population growth already enters through weights.
- Compare alternatives. Run the CGT-specific projection alongside the existing GDP-per-capita approach and a CPI sensitivity. CPI provides a price-index scenario; whether it improves the CGT projection requires evidence. Report effects on baseline revenue, static and behavioural reform revenue, and distributional outcomes.
- Apply the selected baseline projection consistently. Baseline and reform simulations should start from the same projected gains inputs, with the reform's behavioural response applied subsequently. Matching a baseline forecast must not force reformed revenue back to that forecast.
The implementation owner in the model/data stack and the analysis integration should be explicit. The pipeline should consume a versioned projection with reproducible assumptions.
Acceptance criteria
- Document and justify the selected CGT uprating method for all five reform years, including source vintage, scope, timing bridge and terminal assumption.
- Publish a year-by-year comparison of GDP-per-capita, CPI and CGT-specific projection assumptions and their effects on the reform results.
- Validate projected gains, taxpayer counts and baseline liability against compatible observations or forecast measures, with any remaining gaps explained.
- Verify that population growth, current-law policy effects and behavioural responses are not counted twice.
- Pin data, model and projection versions in output metadata and cache keys so changing the projection cannot reuse stale simulations.
- Document upstream implementation responsibilities and the checks required in this analysis before publishing revised results.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the dataset-materialisation path in src/uk_equalising_cgt/simulations.py and the upstream policyengine_uk/data/uprating_indices.yaml to record current uprating inputs and outputs. Review the OBR March 2026 EFO Table 3.7 and the listed acceptance criteria; done means a versioned, documented projection comparison with validated gains, liabilities, reform results, and reproducible metadata.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- analytics, data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100