From afffa2671d9752c29ab48fbc7ff5043c2f306fb5 Mon Sep 17 00:00:00 2001 From: Vahid Ahmadi Date: Wed, 27 May 2026 11:12:45 +0200 Subject: [PATCH 1/6] Add child maintenance planning docs page (#669) #669 is filed as a planning issue. Persist the scope in-repo as a "planned: not yet modelled" docs page mirroring the BiK / firm-VAT pattern. The page covers: - the current state: maintenance_income / maintenance_expenses exist as generic inputs deducted from market_income, but do not distinguish child maintenance from spousal and do not encode the UC asymmetry, - the CSJ-identified Universal Credit asymmetry (recipient: full disregard; payer: no deduction) and why that produces a poverty trap for paying parents on UC, - Phase 1: disambiguate inputs into child_maintenance_received and child_maintenance_paid (plus the FRS routing needed in policyengine-uk-data), - Phase 2: fix the UC asymmetry in uc_applicable_income, - Phase 3 (optional): derive the CMS formula itself for reform analysis, with the gross-income-band rate table from SI 2012/2677, - data needs (FRS for inputs, CMS statistics for calibration) and primary references (Child Support Act 1991, the CMS Maintenance Calculation Regulations 2012, the gov.uk how-we-work-out PDF, and the CSJ paper). --- changelog.d/669.md | 1 + .../programs/gov/cms/child-maintenance.md | 133 ++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 changelog.d/669.md create mode 100644 docs/book/programs/gov/cms/child-maintenance.md diff --git a/changelog.d/669.md b/changelog.d/669.md new file mode 100644 index 0000000000..b03f6c47de --- /dev/null +++ b/changelog.d/669.md @@ -0,0 +1 @@ +- Add a planning docs page for child maintenance modelling under `docs/book/programs/gov/cms/child-maintenance.md`, flagging that the current generic `maintenance_income`/`maintenance_expenses` inputs miss the Universal Credit asymmetry highlighted by the CSJ "Hidden Parent Poverty Trap" paper, and outlining a three-phase implementation route (disambiguate inputs, fix the UC asymmetry, model the CMS formula). diff --git a/docs/book/programs/gov/cms/child-maintenance.md b/docs/book/programs/gov/cms/child-maintenance.md new file mode 100644 index 0000000000..200015781c --- /dev/null +++ b/docs/book/programs/gov/cms/child-maintenance.md @@ -0,0 +1,133 @@ +# Child maintenance (planned) + +```{warning} +**Not yet modelled in detail.** PolicyEngine UK currently has two generic +input variables — `maintenance_income` and `maintenance_expenses` — that +flow through HBAI but do **not** distinguish child maintenance from +other maintenance and do **not** apply the Universal Credit asymmetry +described below. This page captures the agreed scope for adding a +properly-modelled Child Maintenance Service (CMS) calculation, tracked +under [#669](https://github.com/PolicyEngine/policyengine-uk/issues/669). +``` + +## Why model child maintenance separately + +The Centre for Social Justice paper [*The Hidden Parent Poverty Trap: +Child Maintenance and Universal Credit*][csj] shows that the +**asymmetric** UC treatment of child maintenance produces a meaningful +work-incentive cliff for paying parents: + +- **Receiving parent**: child maintenance income is **fully disregarded** + in the UC means test. That's good for the receiving household and + matches the policy intent of CMS. +- **Paying parent**: child maintenance paid out is **not** deducted from + earnings in the UC means test. The paying parent is means-tested on + gross earnings as if the maintenance had never left their pocket. + +The current PolicyEngine treatment uses a single `market_income` +deduction `income - maintenance_expenses` (`variables/household/income/ +market_income.py`). That is fine for HBAI net income but is **too +generous** to the paying parent in UC — they would currently see +maintenance reduce their UC-applicable income too, producing higher UC +than they actually get. + +## Scope + +### Phase 1 — disambiguate the inputs + +- New input variable `child_maintenance_received` (Person, GBP, annual) + — the amount of CMS / private child maintenance the person receives. +- New input variable `child_maintenance_paid` (Person, GBP, annual) — + the amount the person pays out. +- Keep `maintenance_income` / `maintenance_expenses` for spousal and + other maintenance flows; document the distinction explicitly. +- In `policyengine-uk-data`, route the FRS child-maintenance items into + the new variables and the FRS spousal-maintenance items into the + existing ones. + +### Phase 2 — fix the UC asymmetry + +- New variable `uc_applicable_child_maintenance` (BenUnit) that returns + **`child_maintenance_received` only**, with `child_maintenance_paid` + set to **zero** — i.e. the UC-side asymmetry. +- Subtract `uc_applicable_child_maintenance` from + `uc_applicable_income` so it's fully disregarded for the receiver. +- Crucially **do not** subtract `child_maintenance_paid` from + `uc_applicable_income`; this reproduces the CSJ-identified poverty + trap. + +### Phase 3 — model the CMS formula itself + +Currently both `maintenance_income` and the proposed `child_maintenance_*` +variables are pure inputs. Phase 3 would derive the CMS award when the +required inputs are present, using the gross-income basis the CMS +applies: + +| Paying-parent gross weekly income | Rule | +|------------------------------------|------| +| Less than £7 | No payment ("nil rate") | +| £7 – £100 | Flat-rate £7 | +| £100 – £200 | Reduced rate (formula-based) | +| £200 – £3,000 | Basic rate: 12% / 16% / 19% of gross income for 1 / 2 / 3+ children, with a tapered top slice between £800 and £3,000 | +| Over £3,000 | Capped at the £3,000 figure (statutory upper limit) | + +Plus the **shared-care reduction** (one-seventh per night of shared +care up to 174 nights/year) and the **other-children adjustment** for +non-qualifying children living with the paying parent. + +Phase 3 is optional for headline UC analysis (where the asymmetry in +Phase 2 is what matters) but unlocks reform scenarios that change the +CMS rate or threshold. + +## Implementation outline + +### New parameters under `gov/cms/` + +- `gross_income_band/{lower,upper}_threshold.yaml` (£7 and £3,000 weekly + in 2025 terms) +- `rate/basic/{1,2,3_or_more}_child.yaml` (12 / 16 / 19%) +- `rate/reduced/{base,marginal}.yaml` +- `shared_care/reduction_per_night.yaml` +- `take_up/cms_collect_share.yaml` (HMRC published share of CMS-vs- + family-arrangement maintenance) + +### New variables under `variables/gov/cms/` + +- `child_maintenance_gross_weekly_income` (Person) +- `child_maintenance_obligation_pre_shared_care` (Person) +- `child_maintenance_shared_care_reduction` (Person) +- `child_maintenance_paid_cms_basis` (Person, derived award) + +### UC integration + +- `variables/gov/dwp/universal_credit/uc_applicable_income.py` adds + `child_maintenance_received` as a deduction (full disregard) and + **does not** deduct `child_maintenance_paid` — matching the policy. +- HBAI keeps the current symmetric treatment; the CSJ asymmetry is a + UC-side specific. + +## Data needs + +- **FRS** records both receipt and payment of maintenance and identifies + the recipient/payer at person level. Phase 1 imputation routes FRS + child-maintenance items into the new variables. +- **CMS / Child Maintenance Statistics** ([gov.uk/government/collections/ + child-maintenance-service-statistics][cms-stats]) give published + CMS-arrangement caseload and total maintenance flowing through the + statutory scheme; useful for calibrating the new variables against + the share of maintenance that goes through CMS vs. private + ("family-based") arrangements. + +## References + +- Centre for Social Justice, [The Hidden Parent Poverty Trap: Child + Maintenance and Universal Credit][csj]. +- DWP, [How we work out child maintenance][how-we-work-out] — official + user-facing CMS methodology guide. +- [Child Support Act 1991](https://www.legislation.gov.uk/ukpga/1991/48/contents) — primary statute. +- [The Child Support Maintenance Calculation Regulations 2012 (SI 2012/2677)](https://www.legislation.gov.uk/uksi/2012/2677/contents) — the operational regulations. +- HMRC/DWP, [Child Maintenance Service statistics][cms-stats] — caseload and expenditure outturns. + +[csj]: https://www.centreforsocialjustice.org.uk/library/the-hidden-parent-poverty-trap-child-maintenance-and-universal-credit +[how-we-work-out]: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/672432/how-we-work-out-child-maintenance.pdf +[cms-stats]: https://www.gov.uk/government/collections/child-maintenance-service-statistics From 47d3542d6910a45b2ff15376dc61a9d5333628c0 Mon Sep 17 00:00:00 2001 From: vahid-ahmadi Date: Thu, 8 Oct 2026 15:54:30 +0100 Subject: [PATCH 2/6] Refresh the planning page against the current code and type its changelog fragment Checked every variable, parameter, path and link against main in October 2026, updated the data pipeline references to Microcosm UK, and renamed the changelog fragment to a Towncrier type. Co-Authored-By: Claude Opus 5.5 --- changelog.d/669.added.md | 1 + changelog.d/669.md | 1 - .../programs/gov/cms/child-maintenance.md | 184 +++++++++--------- 3 files changed, 92 insertions(+), 94 deletions(-) create mode 100644 changelog.d/669.added.md delete mode 100644 changelog.d/669.md diff --git a/changelog.d/669.added.md b/changelog.d/669.added.md new file mode 100644 index 0000000000..91bf703e59 --- /dev/null +++ b/changelog.d/669.added.md @@ -0,0 +1 @@ +- Add a planning docs page for child maintenance (`docs/book/programs/gov/cms/child-maintenance.md`): how `maintenance_income` and `maintenance_expenses` are treated today, the gap for spousal maintenance in Universal Credit, and a route to modelling the Child Maintenance Service calculation. diff --git a/changelog.d/669.md b/changelog.d/669.md deleted file mode 100644 index b03f6c47de..0000000000 --- a/changelog.d/669.md +++ /dev/null @@ -1 +0,0 @@ -- Add a planning docs page for child maintenance modelling under `docs/book/programs/gov/cms/child-maintenance.md`, flagging that the current generic `maintenance_income`/`maintenance_expenses` inputs miss the Universal Credit asymmetry highlighted by the CSJ "Hidden Parent Poverty Trap" paper, and outlining a three-phase implementation route (disambiguate inputs, fix the UC asymmetry, model the CMS formula). diff --git a/docs/book/programs/gov/cms/child-maintenance.md b/docs/book/programs/gov/cms/child-maintenance.md index 200015781c..9283544968 100644 --- a/docs/book/programs/gov/cms/child-maintenance.md +++ b/docs/book/programs/gov/cms/child-maintenance.md @@ -1,133 +1,131 @@ # Child maintenance (planned) ```{warning} -**Not yet modelled in detail.** PolicyEngine UK currently has two generic -input variables — `maintenance_income` and `maintenance_expenses` — that -flow through HBAI but do **not** distinguish child maintenance from -other maintenance and do **not** apply the Universal Credit asymmetry -described below. This page captures the agreed scope for adding a -properly-modelled Child Maintenance Service (CMS) calculation, tracked -under [#669](https://github.com/PolicyEngine/policyengine-uk/issues/669). +**Not yet modelled in detail.** PolicyEngine UK has two generic person-level +inputs, `maintenance_income` and `maintenance_expenses`. They do not tell +child maintenance apart from maintenance between former partners, and the +model does not calculate a Child Maintenance Service (CMS) award. This page +sets out the scope for doing that, tracked in +[#669](https://github.com/PolicyEngine/policyengine-uk/issues/669) (still +open, October 2026). ``` -## Why model child maintenance separately +## What the model does today -The Centre for Social Justice paper [*The Hidden Parent Poverty Trap: -Child Maintenance and Universal Credit*][csj] shows that the -**asymmetric** UC treatment of child maintenance produces a meaningful -work-incentive cliff for paying parents: +- `maintenance_income` is added to `market_income`, `household_market_income` + and `hbai_household_net_income`. +- `maintenance_expenses` is subtracted in `market_income` and + `hbai_household_net_income`. +- Neither variable feeds any means test. Universal Credit unearned income is + the list in `gov.dwp.universal_credit.means_test.income_definitions.unearned`, + which contains no maintenance, and UC earned income does not net off + maintenance paid. -- **Receiving parent**: child maintenance income is **fully disregarded** - in the UC means test. That's good for the receiving household and - matches the policy intent of CMS. -- **Paying parent**: child maintenance paid out is **not** deducted from - earnings in the UC means test. The paying parent is means-tested on - gross earnings as if the maintenance had never left their pocket. +For **child** maintenance that is the right answer for UC: -The current PolicyEngine treatment uses a single `market_income` -deduction `income - maintenance_expenses` (`variables/household/income/ -market_income.py`). That is fine for HBAI net income but is **too -generous** to the paying parent in UC — they would currently see -maintenance reduce their UC-applicable income too, producing higher UC -than they actually get. +- **Receiving parent:** child maintenance is not unearned income under + [UC Regulations 2013 reg. 66(1)](https://www.legislation.gov.uk/uksi/2013/376/regulation/66), + so it is fully disregarded. +- **Paying parent:** maintenance paid is not deducted, so the paying parent is + means-tested on their full earnings. + +This asymmetry is the work-incentive problem described by the Centre for Social +Justice in [*The Hidden Parent Poverty Trap: Child Maintenance and Universal +Credit*][csj]. The model already reproduces it, because neither input reaches +UC. + +The gap is **maintenance between former spouses or civil partners**. +Reg. 66(1)(d) counts it as unearned income in UC, but the model cannot see it, +because it shares `maintenance_income` with child maintenance. Those +recipients' UC is overstated. ## Scope -### Phase 1 — disambiguate the inputs +### Phase 1: separate the inputs -- New input variable `child_maintenance_received` (Person, GBP, annual) - — the amount of CMS / private child maintenance the person receives. -- New input variable `child_maintenance_paid` (Person, GBP, annual) — - the amount the person pays out. -- Keep `maintenance_income` / `maintenance_expenses` for spousal and - other maintenance flows; document the distinction explicitly. -- In `policyengine-uk-data`, route the FRS child-maintenance items into - the new variables and the FRS spousal-maintenance items into the +- New input `child_maintenance_received` (Person, GBP, annual). +- New input `child_maintenance_paid` (Person, GBP, annual). +- Keep `maintenance_income` and `maintenance_expenses` for maintenance + between former partners, and say so in their documentation. +- In the data pipeline (now + [Microcosm UK](https://github.com/PolicyEngine/microcosm)), route the FRS + child-maintenance items to the new inputs and the spousal items to the existing ones. +- HBAI income keeps both kinds, received and paid. + +### Phase 2: count spousal maintenance in UC -### Phase 2 — fix the UC asymmetry +- Add `maintenance_income` (now spousal only) to the UC unearned income list + from 2013-04-29, citing reg. 66(1)(d). +- Leave `child_maintenance_received` and `child_maintenance_paid` out of UC. +- Check the legacy benefits and Pension Credit the same way before adding + either input to their income definitions. -- New variable `uc_applicable_child_maintenance` (BenUnit) that returns - **`child_maintenance_received` only**, with `child_maintenance_paid` - set to **zero** — i.e. the UC-side asymmetry. -- Subtract `uc_applicable_child_maintenance` from - `uc_applicable_income` so it's fully disregarded for the receiver. -- Crucially **do not** subtract `child_maintenance_paid` from - `uc_applicable_income`; this reproduces the CSJ-identified poverty - trap. +### Phase 3: model the CMS calculation -### Phase 3 — model the CMS formula itself +Derive the CMS weekly amount when the inputs are available, from the paying +parent's gross weekly income +([GOV.UK](https://www.gov.uk/how-child-maintenance-is-worked-out); +[Child Support Act 1991 Sch. 1](https://www.legislation.gov.uk/ukpga/1991/48/schedule/1)): -Currently both `maintenance_income` and the proposed `child_maintenance_*` -variables are pure inputs. Phase 3 would derive the CMS award when the -required inputs are present, using the gross-income basis the CMS -applies: +| Paying parent's gross weekly income | Rate | Weekly amount | +|---|---|---| +| Below £7 | Nil | £0 | +| £7 to £100, or on benefits | Flat | £7 | +| £100.01 to £199.99 | Reduced | Formula | +| £200 to £3,000 | Basic | 12% / 16% / 19% of income up to £800 for 1 / 2 / 3+ children, then 9% / 12% / 15% of income from £800 to £3,000 | +| Above £3,000 | Basic, capped | Income above £3,000 is ignored; the receiving parent can apply to the courts | +| Not enough information | Default | £38 / £51 / £64 | -| Paying-parent gross weekly income | Rule | -|------------------------------------|------| -| Less than £7 | No payment ("nil rate") | -| £7 – £100 | Flat-rate £7 | -| £100 – £200 | Reduced rate (formula-based) | -| £200 – £3,000 | Basic rate: 12% / 16% / 19% of gross income for 1 / 2 / 3+ children, with a tapered top slice between £800 and £3,000 | -| Over £3,000 | Capped at the £3,000 figure (statutory upper limit) | +Then: -Plus the **shared-care reduction** (one-seventh per night of shared -care up to 174 nights/year) and the **other-children adjustment** for -non-qualifying children living with the paying parent. +- **Shared care:** the amount falls by 1/7 for 52 to 103 nights a year, 2/7 + for 104 to 155, 3/7 for 156 to 174, and by half plus £7 a week for 175 or + more. +- **Other children:** an adjustment applies for other children living with + the paying parent. -Phase 3 is optional for headline UC analysis (where the asymmetry in -Phase 2 is what matters) but unlocks reform scenarios that change the -CMS rate or threshold. +The income bands are fixed in legislation, not uprated each year. + +Phase 3 is optional for UC analysis, which needs only Phases 1 and 2. It +allows reforms to the CMS rates or bands to be scored. ## Implementation outline -### New parameters under `gov/cms/` +### Parameters under `gov/cms/` -- `gross_income_band/{lower,upper}_threshold.yaml` (£7 and £3,000 weekly - in 2025 terms) -- `rate/basic/{1,2,3_or_more}_child.yaml` (12 / 16 / 19%) -- `rate/reduced/{base,marginal}.yaml` -- `shared_care/reduction_per_night.yaml` -- `take_up/cms_collect_share.yaml` (HMRC published share of CMS-vs- - family-arrangement maintenance) +- `income_bands/`: the £7, £100, £200, £800 and £3,000 limits. +- `rate/flat.yaml`, `rate/default/` and `rate/basic/` (12/16/19% and + 9/12/15%). +- `rate/reduced/`: the reduced-rate formula. +- `shared_care/`: the night bands and fractions. -### New variables under `variables/gov/cms/` +### Variables under `variables/gov/cms/` - `child_maintenance_gross_weekly_income` (Person) - `child_maintenance_obligation_pre_shared_care` (Person) - `child_maintenance_shared_care_reduction` (Person) - `child_maintenance_paid_cms_basis` (Person, derived award) -### UC integration - -- `variables/gov/dwp/universal_credit/uc_applicable_income.py` adds - `child_maintenance_received` as a deduction (full disregard) and - **does not** deduct `child_maintenance_paid` — matching the policy. -- HBAI keeps the current symmetric treatment; the CSJ asymmetry is a - UC-side specific. - ## Data needs -- **FRS** records both receipt and payment of maintenance and identifies - the recipient/payer at person level. Phase 1 imputation routes FRS - child-maintenance items into the new variables. -- **CMS / Child Maintenance Statistics** ([gov.uk/government/collections/ - child-maintenance-service-statistics][cms-stats]) give published - CMS-arrangement caseload and total maintenance flowing through the - statutory scheme; useful for calibrating the new variables against - the share of maintenance that goes through CMS vs. private - ("family-based") arrangements. +- **FRS** records maintenance received and paid at person level. Phase 1 + needs a check of how far its source items separate child maintenance + from spousal maintenance. +- **DWP [Child Maintenance Service statistics][cms-stats]** (quarterly, latest + data to June 2026) give the CMS caseload and amounts. They support checking + the new inputs, bearing in mind that many families use private + ("family-based") arrangements outside the CMS. ## References - Centre for Social Justice, [The Hidden Parent Poverty Trap: Child Maintenance and Universal Credit][csj]. -- DWP, [How we work out child maintenance][how-we-work-out] — official - user-facing CMS methodology guide. -- [Child Support Act 1991](https://www.legislation.gov.uk/ukpga/1991/48/contents) — primary statute. -- [The Child Support Maintenance Calculation Regulations 2012 (SI 2012/2677)](https://www.legislation.gov.uk/uksi/2012/2677/contents) — the operational regulations. -- HMRC/DWP, [Child Maintenance Service statistics][cms-stats] — caseload and expenditure outturns. +- GOV.UK, [How child maintenance is worked out](https://www.gov.uk/how-child-maintenance-is-worked-out). +- [Child Support Act 1991](https://www.legislation.gov.uk/ukpga/1991/48/contents) and [Schedule 1](https://www.legislation.gov.uk/ukpga/1991/48/schedule/1). +- [The Child Support Maintenance Calculation Regulations 2012 (SI 2012/2677)](https://www.legislation.gov.uk/uksi/2012/2677/contents). +- [The Universal Credit Regulations 2013, reg. 66](https://www.legislation.gov.uk/uksi/2013/376/regulation/66). +- DWP, [Child Maintenance Service statistics][cms-stats]. [csj]: https://www.centreforsocialjustice.org.uk/library/the-hidden-parent-poverty-trap-child-maintenance-and-universal-credit -[how-we-work-out]: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/672432/how-we-work-out-child-maintenance.pdf -[cms-stats]: https://www.gov.uk/government/collections/child-maintenance-service-statistics +[cms-stats]: https://www.gov.uk/government/collections/statistics-on-the-2012-statutory-child-maintenance-scheme From 05a7e7515c7ac8932e58027dbe7358e0ed1b1cf2 Mon Sep 17 00:00:00 2001 From: vahid-ahmadi Date: Mon, 12 Oct 2026 11:05:47 +0200 Subject: [PATCH 3/6] Note UC deductions for child maintenance in the child maintenance plan Main now models UC deductions (uc_deductions, uc_deduction_rate), whose above-cap excess covers child maintenance collected from a paying parent's award, estimated from DWP deduction data rather than from maintenance_expenses. Say so under what the model does today, drop the "now" that implied Microcosm UK has replaced every data path, and drop the leading bullet from the changelog fragment so towncrier does not render it twice. Other claims re-checked against main and gov.uk. Co-Authored-By: Claude Opus 5.5 --- changelog.d/669.added.md | 2 +- docs/book/programs/gov/cms/child-maintenance.md | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/changelog.d/669.added.md b/changelog.d/669.added.md index 91bf703e59..be24e5dbce 100644 --- a/changelog.d/669.added.md +++ b/changelog.d/669.added.md @@ -1 +1 @@ -- Add a planning docs page for child maintenance (`docs/book/programs/gov/cms/child-maintenance.md`): how `maintenance_income` and `maintenance_expenses` are treated today, the gap for spousal maintenance in Universal Credit, and a route to modelling the Child Maintenance Service calculation. +Add a planning docs page for child maintenance (`docs/book/programs/gov/cms/child-maintenance.md`): how `maintenance_income` and `maintenance_expenses` are treated today, the gap for spousal maintenance in Universal Credit, and a route to modelling the Child Maintenance Service calculation. diff --git a/docs/book/programs/gov/cms/child-maintenance.md b/docs/book/programs/gov/cms/child-maintenance.md index 9283544968..7dc437cd20 100644 --- a/docs/book/programs/gov/cms/child-maintenance.md +++ b/docs/book/programs/gov/cms/child-maintenance.md @@ -20,6 +20,10 @@ open, October 2026). the list in `gov.dwp.universal_credit.means_test.income_definitions.unearned`, which contains no maintenance, and UC earned income does not net off maintenance paid. +- `uc_deductions` does cover child maintenance collected from a paying + parent's UC award, but only in aggregate: it sits in the above-cap excess + of `uc_deduction_rate` with last resort deductions, estimated from DWP + deduction data rather than from `maintenance_expenses`. For **child** maintenance that is the right answer for UC: @@ -47,8 +51,8 @@ recipients' UC is overstated. - New input `child_maintenance_paid` (Person, GBP, annual). - Keep `maintenance_income` and `maintenance_expenses` for maintenance between former partners, and say so in their documentation. -- In the data pipeline (now - [Microcosm UK](https://github.com/PolicyEngine/microcosm)), route the FRS +- In the data pipeline + ([Microcosm UK](https://github.com/PolicyEngine/microcosm)), route the FRS child-maintenance items to the new inputs and the spousal items to the existing ones. - HBAI income keeps both kinds, received and paid. From b69e043e037976a64a3413ac5323f91ee8a29730 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 23 Oct 2026 02:03:39 -0400 Subject: [PATCH 4/6] Correct the child maintenance planning page against the law and main MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Default rate: SI 2012/2677 reg. 49(2)(a) sets £39 for one child (GOV.UK's guide shows £38); the page now cites the regulation. - Shared care: the further £7 reduction at 175+ nights is per child, the total cannot fall below £7 a week (CSA 1991 Sch. 1 para. 7(6)-(7)), and a benefits flat rate falls to nil at 52+ nights (para. 8). - UC reg. 66(1)(d) covers maintenance from a spouse or civil partner as well as a former one. - The CSJ report covers only the paying parent's side; the model reproduces UC's treatment, not the combined marginal rates, because maintenance_expenses is a fixed input. - Replaced the released .added fragment with a .changed fragment. Co-Authored-By: Claude Opus 5.5 --- ...ld-maintenance-page-corrections.changed.md | 1 + changelog.d/669.added.md | 1 - .../programs/gov/cms/child-maintenance.md | 39 ++++++++++++------- 3 files changed, 25 insertions(+), 16 deletions(-) create mode 100644 changelog.d/669-child-maintenance-page-corrections.changed.md delete mode 100644 changelog.d/669.added.md diff --git a/changelog.d/669-child-maintenance-page-corrections.changed.md b/changelog.d/669-child-maintenance-page-corrections.changed.md new file mode 100644 index 0000000000..22561bbc0d --- /dev/null +++ b/changelog.d/669-child-maintenance-page-corrections.changed.md @@ -0,0 +1 @@ +Corrected the child maintenance planning page (`docs/book/programs/gov/cms/child-maintenance.md`): the Child Maintenance Service default rate for one child is £39 (SI 2012/2677 reg. 49), the £7 shared-care reduction for 175 or more nights is per child with a £7 floor, UC reg. 66(1)(d) covers maintenance from a current as well as a former spouse or civil partner, and the model reproduces UC's treatment of maintenance but not the paying parent's combined marginal rates described by the Centre for Social Justice. diff --git a/changelog.d/669.added.md b/changelog.d/669.added.md deleted file mode 100644 index be24e5dbce..0000000000 --- a/changelog.d/669.added.md +++ /dev/null @@ -1 +0,0 @@ -Add a planning docs page for child maintenance (`docs/book/programs/gov/cms/child-maintenance.md`): how `maintenance_income` and `maintenance_expenses` are treated today, the gap for spousal maintenance in Universal Credit, and a route to modelling the Child Maintenance Service calculation. diff --git a/docs/book/programs/gov/cms/child-maintenance.md b/docs/book/programs/gov/cms/child-maintenance.md index 7dc437cd20..1857660e7c 100644 --- a/docs/book/programs/gov/cms/child-maintenance.md +++ b/docs/book/programs/gov/cms/child-maintenance.md @@ -33,15 +33,21 @@ For **child** maintenance that is the right answer for UC: - **Paying parent:** maintenance paid is not deducted, so the paying parent is means-tested on their full earnings. -This asymmetry is the work-incentive problem described by the Centre for Social -Justice in [*The Hidden Parent Poverty Trap: Child Maintenance and Universal -Credit*][csj]. The model already reproduces it, because neither input reaches -UC. - -The gap is **maintenance between former spouses or civil partners**. -Reg. 66(1)(d) counts it as unearned income in UC, but the model cannot see it, -because it shares `maintenance_income` with child maintenance. Those -recipients' UC is overstated. +The paying-parent side of this asymmetry is the work-incentive problem +described by the Centre for Social Justice in [*The Hidden Parent Poverty Trap: +Child Maintenance and Universal Credit*][csj]. The model reproduces UC's side +of it, because neither input reaches UC. It does not reproduce the combined +marginal rates, because `maintenance_expenses` is a fixed input that does not +rise with earnings. + +The gap is **maintenance from a spouse, civil partner, former spouse or former +civil partner** under a court order or a maintenance agreement. +Reg. 66(1)(d) counts it as unearned income in UC, but the model cannot see it: +no maintenance input reaches UC, and `maintenance_income` does not tell it +apart from child maintenance +([policyengine-uk-data#627](https://github.com/PolicyEngine/policyengine-uk-data/issues/627) +discusses where FRS-based datasets record it). Those recipients' UC is +overstated. ## Scope @@ -49,8 +55,9 @@ recipients' UC is overstated. - New input `child_maintenance_received` (Person, GBP, annual). - New input `child_maintenance_paid` (Person, GBP, annual). -- Keep `maintenance_income` and `maintenance_expenses` for maintenance - between former partners, and say so in their documentation. +- Keep `maintenance_income` and `maintenance_expenses` for spousal + maintenance (from a spouse, civil partner or former one), and say so in + their documentation. - In the data pipeline ([Microcosm UK](https://github.com/PolicyEngine/microcosm)), route the FRS child-maintenance items to the new inputs and the spousal items to the @@ -79,13 +86,15 @@ parent's gross weekly income | £100.01 to £199.99 | Reduced | Formula | | £200 to £3,000 | Basic | 12% / 16% / 19% of income up to £800 for 1 / 2 / 3+ children, then 9% / 12% / 15% of income from £800 to £3,000 | | Above £3,000 | Basic, capped | Income above £3,000 is ignored; the receiving parent can apply to the courts | -| Not enough information | Default | £38 / £51 / £64 | +| Not enough information | Default | £39 / £51 / £64 ([SI 2012/2677 reg. 49](https://www.legislation.gov.uk/uksi/2012/2677/regulation/49); GOV.UK's guide shows £38 for one child) | Then: -- **Shared care:** the amount falls by 1/7 for 52 to 103 nights a year, 2/7 - for 104 to 155, 3/7 for 156 to 174, and by half plus £7 a week for 175 or - more. +- **Shared care:** for each child, the amount falls by 1/7 for 52 to 103 + nights a year, 2/7 for 104 to 155, 3/7 for 156 to 174, and by half plus a + further £7 a week for 175 or more, but not below £7 a week in total + (Sch. 1 para. 7). Where the flat rate applies because the paying parent + gets benefits, 52 or more nights reduces it to nil (para. 8). - **Other children:** an adjustment applies for other children living with the paying parent. From 39c4dadba51f470f0a6655d7e7fa56b4ebe68d83 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 23 Oct 2026 03:10:18 -0400 Subject: [PATCH 5/6] Average the shared-care fractions and widen the flat-rate nil rule MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From the independent review of the corrections: - CSA 1991 Sch. 1 para. 7(5): with more than one qualifying child the night fractions are added and divided by the number of children; the further £7 applies per child with 175+ nights (para. 7(6)). - Para. 8 applies where the flat rate is due because the paying parent or their partner gets a prescribed benefit (para. 4(1)(b), (c) or 4(2)), and makes nil the amount payable to that child's carer. - maintenance_expenses is maintenance paid, so the Phase 1 wording now covers both directions; the warning box says "spousal maintenance". Co-Authored-By: Claude Opus 5.5 --- ...ld-maintenance-page-corrections.changed.md | 2 +- .../programs/gov/cms/child-maintenance.md | 20 +++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/changelog.d/669-child-maintenance-page-corrections.changed.md b/changelog.d/669-child-maintenance-page-corrections.changed.md index 22561bbc0d..b36b114480 100644 --- a/changelog.d/669-child-maintenance-page-corrections.changed.md +++ b/changelog.d/669-child-maintenance-page-corrections.changed.md @@ -1 +1 @@ -Corrected the child maintenance planning page (`docs/book/programs/gov/cms/child-maintenance.md`): the Child Maintenance Service default rate for one child is £39 (SI 2012/2677 reg. 49), the £7 shared-care reduction for 175 or more nights is per child with a £7 floor, UC reg. 66(1)(d) covers maintenance from a current as well as a former spouse or civil partner, and the model reproduces UC's treatment of maintenance but not the paying parent's combined marginal rates described by the Centre for Social Justice. +Corrected the child maintenance planning page (`docs/book/programs/gov/cms/child-maintenance.md`): the Child Maintenance Service default rate for one child is £39 (SI 2012/2677 reg. 49), shared-care fractions are averaged across the children and the further £7 reduction for 175 or more nights is per child with a £7 floor, UC reg. 66(1)(d) covers maintenance from a current as well as a former spouse or civil partner, and the model reproduces UC's treatment of maintenance but not the paying parent's combined marginal rates described by the Centre for Social Justice. diff --git a/docs/book/programs/gov/cms/child-maintenance.md b/docs/book/programs/gov/cms/child-maintenance.md index 1857660e7c..a46fa6812e 100644 --- a/docs/book/programs/gov/cms/child-maintenance.md +++ b/docs/book/programs/gov/cms/child-maintenance.md @@ -3,7 +3,7 @@ ```{warning} **Not yet modelled in detail.** PolicyEngine UK has two generic person-level inputs, `maintenance_income` and `maintenance_expenses`. They do not tell -child maintenance apart from maintenance between former partners, and the +child maintenance apart from spousal maintenance, and the model does not calculate a Child Maintenance Service (CMS) award. This page sets out the scope for doing that, tracked in [#669](https://github.com/PolicyEngine/policyengine-uk/issues/669) (still @@ -56,8 +56,8 @@ overstated. - New input `child_maintenance_received` (Person, GBP, annual). - New input `child_maintenance_paid` (Person, GBP, annual). - Keep `maintenance_income` and `maintenance_expenses` for spousal - maintenance (from a spouse, civil partner or former one), and say so in - their documentation. + maintenance (received from, or paid to, a spouse, civil partner, former + spouse or former civil partner), and say so in their documentation. - In the data pipeline ([Microcosm UK](https://github.com/PolicyEngine/microcosm)), route the FRS child-maintenance items to the new inputs and the spousal items to the @@ -90,11 +90,15 @@ parent's gross weekly income Then: -- **Shared care:** for each child, the amount falls by 1/7 for 52 to 103 - nights a year, 2/7 for 104 to 155, 3/7 for 156 to 174, and by half plus a - further £7 a week for 175 or more, but not below £7 a week in total - (Sch. 1 para. 7). Where the flat rate applies because the paying parent - gets benefits, 52 or more nights reduces it to nil (para. 8). +- **Shared care:** the amount falls by 1/7 where a child spends 52 to 103 + nights a year with the paying parent, 2/7 for 104 to 155, 3/7 for 156 to + 174 and 1/2 for 175 or more; with more than one qualifying child, the + fractions are added and divided by the number of children. It then falls + by a further £7 a week for each child with 175 or more nights, but not + below £7 a week in total (Sch. 1 para. 7). Where the flat rate applies + because the paying parent or their partner gets a prescribed benefit + (para. 4(1)(b) or (c) or 4(2)), 52 or more nights with a child makes the + amount payable to that child's carer nil (para. 8). - **Other children:** an adjustment applies for other children living with the paying parent. From 402b1d341c2c4a083f8405a47fc5a22cfb4e2ba6 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 23 Oct 2026 03:47:43 -0400 Subject: [PATCH 6/6] Scope the shared-care averaging to each carer and to the basic and reduced rates Second-round review: CSA 1991 Sch. 1 para. 7(5) averages the night fractions only across the qualifying children one person with care looks after, and para. 7(1) applies the decrease to the basic and reduced rates (and para. 5A), not the default rate. Co-Authored-By: Claude Opus 5.5 --- .../669-child-maintenance-page-corrections.changed.md | 2 +- docs/book/programs/gov/cms/child-maintenance.md | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/changelog.d/669-child-maintenance-page-corrections.changed.md b/changelog.d/669-child-maintenance-page-corrections.changed.md index b36b114480..6cf7519d2a 100644 --- a/changelog.d/669-child-maintenance-page-corrections.changed.md +++ b/changelog.d/669-child-maintenance-page-corrections.changed.md @@ -1 +1 @@ -Corrected the child maintenance planning page (`docs/book/programs/gov/cms/child-maintenance.md`): the Child Maintenance Service default rate for one child is £39 (SI 2012/2677 reg. 49), shared-care fractions are averaged across the children and the further £7 reduction for 175 or more nights is per child with a £7 floor, UC reg. 66(1)(d) covers maintenance from a current as well as a former spouse or civil partner, and the model reproduces UC's treatment of maintenance but not the paying parent's combined marginal rates described by the Centre for Social Justice. +Corrected the child maintenance planning page (`docs/book/programs/gov/cms/child-maintenance.md`): the Child Maintenance Service default rate for one child is £39 (SI 2012/2677 reg. 49), shared-care fractions are averaged across the children in each carer's care and the further £7 reduction for 175 or more nights is per child with a £7 floor, UC reg. 66(1)(d) covers maintenance from a current as well as a former spouse or civil partner, and the model reproduces UC's treatment of maintenance but not the paying parent's combined marginal rates described by the Centre for Social Justice. diff --git a/docs/book/programs/gov/cms/child-maintenance.md b/docs/book/programs/gov/cms/child-maintenance.md index a46fa6812e..f2c6451b80 100644 --- a/docs/book/programs/gov/cms/child-maintenance.md +++ b/docs/book/programs/gov/cms/child-maintenance.md @@ -90,10 +90,12 @@ parent's gross weekly income Then: -- **Shared care:** the amount falls by 1/7 where a child spends 52 to 103 - nights a year with the paying parent, 2/7 for 104 to 155, 3/7 for 156 to - 174 and 1/2 for 175 or more; with more than one qualifying child, the - fractions are added and divided by the number of children. It then falls +- **Shared care:** for the basic and reduced rates, the amount payable to + each carer falls by 1/7 where a child spends 52 to 103 nights a year with + the paying parent, 2/7 for 104 to 155, 3/7 for 156 to 174 and 1/2 for 175 + or more; where one carer looks after more than one qualifying child, the + fractions for those children are added and divided by the number of them + (para. 7(5)). It then falls by a further £7 a week for each child with 175 or more nights, but not below £7 a week in total (Sch. 1 para. 7). Where the flat rate applies because the paying parent or their partner gets a prescribed benefit