Correct UK SPI recipient age, income year and pension receipt - #879
Draft
juaristi22 wants to merge 2 commits into
Draft
Correct UK SPI recipient age, income year and pension receipt#879juaristi22 wants to merge 2 commits into
juaristi22 wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SPI household support currently replaces children's observed FRS inputs with adult taxpayer draws, mixes 2022–23 SPI incomes with 2024 FRS flows, and imputes FRS pension receipt without conditioning on the SPI pension leaf. This change preserves under-16 inputs, rebases mapped SPI flows using the pinned model's indices, and adds a pension-receipt predictor to the FRS-only fill. The chosen mappings and nominal holdouts are explicit in the source specification and build evidence.
Full national-only control and treatment rebuilds use the same licensed source pins, 364 targets, 2025 calibration, 1,500 epochs,
family_equal, seeds, take-up, exclusions and weight bounds. The control reproduces v19. Both this PR and the independent CGT PR #878 start frombc11803fonuk-spine-rebuild-842-850.Unsupported pre-calibration SPI child employment falls from £66.176bn to zero, adult pension-receipt disagreement falls from 3.797% to below 0.01%, and SPI single-parent support passing the pre-takeup income screen rises from 27.17% to 49.40%. These are synthetic-support diagnostics, not population estimates of children's actual earnings or a complete UC eligibility determination.
About 95.7% of the net loss reduction comes from the ONS interest target under
family_equal; the lower objective should not be read as resolution of the UC/tax/pension tension. Aggregate tax and pension regressions remain. Terminal gates still block export: a UC payment cell has no realized support, self-employment £50–70k and council-tax band A exceed tolerance, and a private-pension exclusion is stale. No tolerances or exclusions were relaxed and no calibrated release artifact was exported or certified. The rank-matching alternatives suggested by #840 were rebuilt and rejected because they worsened overall loss.See the experiment report for the plan, alternatives, reproduction and remaining defects, and the paired receipt for all 364 target comparisons, implementation/source hashes and gate failures.
Validation: 158 focused tests passed, 3 skipped; 60 additional schema/coverage/graph tests passed, 1 skipped. A broader coverage-regeneration test fails on the untouched control too because its historical engine-version golden is 2.89.0 versus the locked 2.92.1; it is documented, not rewritten. Ruff lint, changed-file formatting and test inventory pass. Repository-wide formatting has 121 inherited failures, also reproduced on the control.
Refs #840, #866, #862, #481, #736, #796, #665. Remaining CGT shape, age/geography and target-vintage questions are addressed separately in #878, #725 and #875. These broader issues remain open.
GitHub CI does not trigger for this stacked PR: the repository workflow only targets
mainandnode-graph. Kept as draft pending parent integration and CI; local validation and the licensed rebuild are recorded above.