PolicyEngine / PolicyEngine/policyengine-uk

Scottish Two Child Limit Payment is in effect from 2025-04-06 but the scheme was never enacted

Open Beginner friendly
#1,852 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug parameters
Dominant language
Python
Stars
50
Forks
33
Avg merge
20h 58m
Merged PRs (30d)
14

Description

Summary

gov.social_security_scotland.two_child_limit_payment.in_effect is true from 2025-04-06, so two_child_limit_payment pays the UC child element for every limit-affected child in a Scottish benefit unit during 2025-26. The Scottish Government's Two Child Limit Payment was never enacted: the regulations were not laid after the UK government announced on 26 November 2025 that the two-child limit would be removed, and no payments were made. For 2026-27 onward the variable happens to compute zero because the UC limit itself is repealed from 2026-04-06 (gov.dwp.universal_credit.elements.child.limit.child_count → inf), but any 2025-26 simulation for Scotland pays a benefit that did not exist.

What the model does today (main, 2.97.0)

  • policyengine_uk/parameters/gov/social_security_scotland/two_child_limit_payment/in_effect.yaml: 0001-01-01: false, 2025-04-06: true (commit ca8ff982 "Remove end date from Two Child Limit Payment in_effect parameter", 2026-01-09).
  • policyengine_uk/variables/gov/social_security_scotland/two_child_limit_payment.py: in_scotland * in_effect * affected_children * uc_child_amount * 12, where affected_children sums uc_is_child_limit_affected over the benefit unit.
  • uc_is_child_limit_affected is nonzero throughout 2025-26 (the limit still applied), so the payment is live for that year. The variable feeds household_benefits / net income for Scottish households.

What actually happened

Impact

  • Every 2025-26 Scottish household or population run overstates benefit income for families with three or more children on UC, and understates 2025 child poverty in Scotland relative to what happened.
  • Datasets calibrated to 2025 (the microcosm UK dense/local line uses calibration year 2025) inherit the phantom payment in their engine outputs.

Suggested fix

  • Set in_effect to false throughout (drop the 2025-04-06: true value), or delete the value and leave the parameter as a reform switch, so two_child_limit_payment is zero under current law in every year. Keep the variable so a contributed reform can turn the scheme on as a counterfactual.
  • Update the YAML tests added in #1465/#1466 so the 2025 cases expect zero under baseline and the positive cases run under a reform that sets in_effect: true.
  • Add the SCoSS update and the Budget 2026-27 footnote to the parameter's reference list.

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

Inspect policyengine_uk/parameters/gov/social_security_scotland/two_child_limit_payment/in_effect.yaml and the tests added in #1465/#1466; compare the baseline and reform cases with the variable in policyengine_uk/variables/gov/social_security_scotland/two_child_limit_payment.py. Done means baseline 2025 cases produce zero, positive cases work when the reform switch is enabled, and the parameter references include the cited SCoSS update and Budget 2026-27 footnote.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, yaml
Domain
backend, testing
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
85/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.