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

Open
#866 0 comments 0 reactions 0 assignees View on GitHub

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):

  1. 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.
  2. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.