PolicyEngine / PolicyEngine/microcosm
UK spine: savings interest income a third under HMRC SPI and five times under the ONS D.41 row — reconcile the target concept and review FRS interest capture
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 4
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 94
Description
Found while measuring the first calibrated rowwise UK local candidate (#762, receipts R8–R15 in experiments/762-uk-rowwise-candidate-receipts.md on uk-rowwise-candidate-762-b). The row is a reviewed measure exclusion under #762 A16, expiring 2026-10-03, tracked on #736.
Measured on spine-m (FRS 2024-25, policyengine-uk 2.92.1, calibration year 2025), single-block engine resolution: the spine carries £13.8bn of savings_interest_income at 2025 (the FRS input, engine-uprated on the ONS household-interest index). Three published figures sit under the same name:
| figure | value | concept |
|---|---|---|
| spine (FRS-based) | £13.8bn | cash interest households report to the FRS, uprated to 2025 |
HMRC SPI 2023-24 (Ledger hmrc.spi_savings_interest_income_amount, sum over the income bands) |
£18.3bn | taxable interest of taxpayers; ISA interest excluded |
ONS UKEA HAXV (Ledger ons.savings_interest_income, the calibration target) |
£95.5bn for 2025 (£19.6bn in 2021, £86.0bn in 2023) | households' (S.14) D.41 interest resources in the national accounts: FISIM-adjusted, includes the unincorporated-business part of the household sector |
So the gap has two parts: a frame gap of roughly a third against the HMRC taxpayer figure (larger once 2023-24 is uprated to 2025), and a concept gap of four- to five-fold between cash interest and national-accounts D.41 resources. Bound as-is, the row is unreachable within the doctrine's stretch bound and, under grain_equal, pulls the joint solve toward weight concentration.
Ask (target side and frame side):
- A declared reconciliation for the target: bind the HMRC SPI savings-interest amount (taxpayer concept, uprated on HAXV), or declare a D.41-to-cash bridge for the ONS row, per the "translate published facts, never drop" doctrine — the chronicle-side question is which concept the contract means.
- A review of FRS interest capture in the spine (an imputation from WAS financial wealth × deposit rates, or an SPI-band-consistent scaling) so the frame reaches the taxpayer figure.
Acceptance: on the next spine the row (under whichever concept is declared) sits within 25 % at initialization and the A16 exclusion retires (a stale exclusion fails the run).
Refs #762, #736, #665.
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 experiments/762-uk-rowwise-candidate-receipts.md and the ledger entries named in the issue, then review #762 A16 and its tracking issue #736. Reconcile the HMRC SPI and ONS D.41 concepts with the spine’s FRS capture, and run the next spine to confirm the declared target is within 25% at initialization and the A16 exclusion retires.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, data-engineering
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100