You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Programmes read the raw household head flag, so a malformed input makes them disagree about whose household it is #2059
is_household_head is an input, so it can flag several members of a household, or none. Programmes that read it directly then disagree about whose household it is.
How the input goes wrong
A user situation flags two members, for example both members of a couple, or the householder and a lodger.
A user situation flags no one in a household. This also happens without anyone writing false: once any person in a simulation has the input, every person without it defaults to false, not to the formula.
The Family Resources Survey data is not affected. policyengine-uk-data sets the flag from the survey's household reference person (hrpid == 1).
What happens today
Council Tax Reduction settles on one head (#2009: the eldest flagged member, or the eldest member where none is flagged). These variables read the raw flag instead:
non-dependants and size criteria: is_non_dependant_of_household_head, uc_non_dep_deductions, LHA_allowed_bedrooms, housing_benefit_LHA_allowed_bedrooms, lha_renter_has_non_dependant;
the maintenance loan proxies: maintenance_loan_living_arrangement, maintenance_loan_household_income.
Household calculations on #2009's head (4b84ea069), for a home with a £12,000 rent:
Input
Result
Two single adults in separate families, both flagged
Each family is liable for £6,000 of rent. The second flagged family is not a Council Tax Reduction claimant, and is not a non-dependant for Universal Credit, Housing Benefit or Council Tax Reduction either.
A couple, both flagged
The rent is counted on each partner, so the family's rent is £24,000.
Two single adults in separate families, neither flagged
No one is liable for any rent. Council Tax Reduction still treats the elder adult's family as the claimant.
The first row is finding 8 of the review of #2009.
Define benunit_contains_household_head from it, and point every reader of the raw flag at one of the two.
Test several-flagged and none-flagged households across rent, non-dependants and Council Tax Reduction, with a property test that every programme agrees on the head's family for any flag input.
is_household_headis an input, so it can flag several members of a household, or none. Programmes that read it directly then disagree about whose household it is.How the input goes wrong
false: once any person in a simulation has the input, every person without it defaults to false, not to the formula.The Family Resources Survey data is not affected.
policyengine-uk-datasets the flag from the survey's household reference person (hrpid == 1).What happens today
Council Tax Reduction settles on one head (#2009: the eldest flagged member, or the eldest member where none is flagged). These variables read the raw flag instead:
is_liable_for_household_rent,share_of_household_rent,personal_rent,pays_rent_to_householder;is_non_dependant_of_household_head,uc_non_dep_deductions,LHA_allowed_bedrooms,housing_benefit_LHA_allowed_bedrooms,lha_renter_has_non_dependant;maintenance_loan_living_arrangement,maintenance_loan_household_income.Household calculations on #2009's head (
4b84ea069), for a home with a £12,000 rent:The first row is finding 8 of the review of #2009.
Proposed fix
benunit_contains_household_headfrom it, and point every reader of the raw flag at one of the two.