|
| 1 | +# Working Tax Credit and Child Tax Credit |
| 2 | + |
| 3 | +```{note} |
| 4 | +Working Tax Credit (WTC) and Child Tax Credit (CTC) are **legacy benefits**. |
| 5 | +They closed to new claims at various points from 2018 onwards and the |
| 6 | +scheme stopped paying ongoing awards on **5 April 2025**. PolicyEngine |
| 7 | +gates the entire tax credits computation behind |
| 8 | +`gov.dwp.tax_credits.active`, which flips to `false` from 2025-04-06. This |
| 9 | +page describes how WTC and CTC were modelled while the scheme was live. |
| 10 | +``` |
| 11 | + |
| 12 | +WTC and CTC were jointly administered by HMRC (and historically DWP-routed |
| 13 | +on legacy migrations). PolicyEngine UK groups them under |
| 14 | +`gov.dwp.tax_credits` because the means-test logic is shared. The |
| 15 | +combined household award is the variable `tax_credits`, which sums the |
| 16 | +two with a minimum-payment floor: |
| 17 | + |
| 18 | +```python |
| 19 | +amount = wtc_pre_minimum + ctc_pre_minimum |
| 20 | +tax_credits = where(amount < min_benefit, 0, amount) |
| 21 | +``` |
| 22 | + |
| 23 | +Parameters live in `policyengine_uk/parameters/gov/dwp/tax_credits/` and |
| 24 | +the formulas in `policyengine_uk/variables/gov/dwp/`. |
| 25 | + |
| 26 | +## Working Tax Credit (WTC) |
| 27 | + |
| 28 | +WTC was paid to working-age adults whose hours and income met the |
| 29 | +eligibility test. PolicyEngine computes it via `wtc_entitlement`, which |
| 30 | +is the **maximum WTC amount** minus the shared `tax_credits_reduction` |
| 31 | +from the means test, gated by the `would_claim_WTC` take-up input. |
| 32 | + |
| 33 | +### Elements (`gov.dwp.tax_credits.working_tax_credit.elements`) |
| 34 | + |
| 35 | +| Element | Parameter | Notes | |
| 36 | +|---------|-----------|-------| |
| 37 | +| Basic | `basic.yaml` | Flat amount everyone meeting the hours test gets | |
| 38 | +| Couple | `couple.yaml` | Couple addition | |
| 39 | +| Lone parent | `lone_parent.yaml` | Lone-parent addition | |
| 40 | +| 30-hour | `worker.yaml` | Awarded when total hours hit the higher band | |
| 41 | +| Disabled worker | `disabled.yaml` | | |
| 42 | +| Severely disabled worker | `severely_disabled.yaml` | | |
| 43 | +| Childcare cap | `childcare_1.yaml`, `childcare_2.yaml`, `childcare_coverage.yaml` | 70% of approved childcare costs up to the weekly cap (one or two-plus children) | |
| 44 | + |
| 45 | +### Hours test |
| 46 | + |
| 47 | +The `min_hours` tree (`min_hours/default.yaml`, `lower.yaml`, |
| 48 | +`old_age.yaml`, `couple_with_children.yaml`) encodes the bands that gate |
| 49 | +WTC eligibility — typically 30 hours/week for adults with no kids, 16 for |
| 50 | +lone parents, with a lower band for over-60s. |
| 51 | + |
| 52 | +## Child Tax Credit (CTC) |
| 53 | + |
| 54 | +CTC supported families with children regardless of whether anyone in the |
| 55 | +benunit worked. PolicyEngine computes it via `ctc_entitlement`, gated by |
| 56 | +`would_claim_CTC`. |
| 57 | + |
| 58 | +### Elements (`gov.dwp.tax_credits.child_tax_credit.elements`) |
| 59 | + |
| 60 | +| Element | Parameter | |
| 61 | +|---------|-----------| |
| 62 | +| Family | `family_element.yaml` (extinct from 2017 for new claims) | |
| 63 | +| Per qualifying child | `child_element.yaml` | |
| 64 | +| Disabled child addition | `dis_child_element.yaml` | |
| 65 | +| Severely disabled child addition | `severe_dis_child_element.yaml` | |
| 66 | + |
| 67 | +### Two-child limit |
| 68 | + |
| 69 | +Since April 2017 the child element has been restricted to the first two |
| 70 | +qualifying children. The `child_count` parameter under |
| 71 | +`child_tax_credit/limit/` and the `start_year/year.yaml` switch encode |
| 72 | +this. Children born before the start year and a few specific exceptions |
| 73 | +(non-consensual conception, multiple births, kinship care) are exempt; |
| 74 | +the exemptions are modelled via `gov/contrib/two_child_limit/` and |
| 75 | +related variables. |
| 76 | + |
| 77 | +### Qualifying child tests |
| 78 | + |
| 79 | +A child counts towards CTC if they are under 16, or under 20 and in |
| 80 | +approved education or training and meet the qualifying-young-person |
| 81 | +conditions. These tests are exposed as a family of `*_for_child_tax_credit` |
| 82 | +variables (`is_child_for_child_tax_credit`, |
| 83 | +`meets_qualifying_young_person_*_for_child_tax_credit`). |
| 84 | + |
| 85 | +## Shared means test |
| 86 | + |
| 87 | +WTC and CTC share a single income test in |
| 88 | +`gov.dwp.tax_credits.means_test`: |
| 89 | + |
| 90 | +```python |
| 91 | +threshold = ctc_only ? income_threshold_CTC_only : income_threshold |
| 92 | +overage = max(0, tax_credits_applicable_income - threshold) |
| 93 | +reduction = overage * income_reduction_rate |
| 94 | +``` |
| 95 | + |
| 96 | +`tax_credits_applicable_income` is the benunit's total income net of |
| 97 | +specific disregards (pension contributions, certain benefits). The |
| 98 | +non-earned disregard for unearned income is the |
| 99 | +`means_test/non_earned_disregard.yaml` parameter. Awards below |
| 100 | +`min_benefit` (a £26-ish floor) are paid as zero. |
| 101 | + |
| 102 | +## Scheme end |
| 103 | + |
| 104 | +From `2025-04-06` onwards the `tax_credits` variable returns zero |
| 105 | +unconditionally — the `active` parameter flips off and the formula |
| 106 | +short-circuits with an empty array. The remaining caseload was migrated |
| 107 | +to Universal Credit via the DWP/HMRC managed-migration programme |
| 108 | +finalised on 5 April 2025. |
| 109 | + |
| 110 | +The reported variables (`working_tax_credit_reported`, |
| 111 | +`child_tax_credit_reported`) remain available for historical analysis, |
| 112 | +and the take-up flags (`would_claim_WTC`, `would_claim_CTC`) continue to |
| 113 | +be populated stochastically when the dataset is built so historical |
| 114 | +years still match published caseload aggregates. |
| 115 | + |
| 116 | +## References |
| 117 | + |
| 118 | +- [Tax Credits Act 2002](https://www.legislation.gov.uk/ukpga/2002/21/contents) — primary statute. |
| 119 | +- [The Working Tax Credit (Entitlement and Maximum Rate) Regulations 2002 (SI 2002/2005)](https://www.legislation.gov.uk/uksi/2002/2005/contents). |
| 120 | +- [The Child Tax Credit Regulations 2002 (SI 2002/2007)](https://www.legislation.gov.uk/uksi/2002/2007/contents). |
| 121 | +- HMRC, [Tax credits have ended](https://www.gov.uk/tax-credits-have-ended) — official end-of-scheme announcement. |
| 122 | +- House of Commons Library, [Completing Universal Credit rollout (CBP-9984)](https://commonslibrary.parliament.uk/research-briefings/cbp-9984/) — managed-migration timeline. |
| 123 | +- HMRC, [Child and Working Tax Credit statistics](https://www.gov.uk/government/collections/personal-tax-credits-statistics) — caseload and expenditure outturns used for calibration. |
0 commit comments