verification / datasets / 06-hclic-temporary-accommodation / VARIABLES.md

Variables — H-CLIC statutory homelessness / temporary accommodation

Per-council (English local housing authority) variables from the MHCLG detailed LA data files in data/.

Notes on file layout (verified by parsing Statutory_Homelessness_Detailed_Local_Authority_Data_202603.ods with pandas+odfpy):

1. Extracted variables

All from data/Statutory_Homelessness_Detailed_Local_Authority_Data_202603.ods (latest snapshot, 31 March 2026) unless noted; the same columns exist in the 202512_revised and 2024-2025_corrected files.

Variable Sheet / column (verified) Unit Interpretation
ta_households_total TA1, col 2 "Households in TA Total[note 34]" households Total households in temporary accommodation at quarter end — the core TA caseload measure.
households_in_area TA1, col 3 "Households in area (thousands)[note 5]" thousand households Denominator for rates (MHCLG-supplied household estimate).
ta_rate_per_1000 TA1, col 4 "Households in TA Total(per thousand)Total" per 1,000 households TA caseload rate, comparable across councils of different size.
ta_households_with_children TA1, col 5 "Households in TA with childrenTotal" households TA households containing dependent children.
ta_children_total TA1, col 6 "Children in TATotal" children Number of children living in TA.
ta_bnb_total TA1, col 7 "Households in B&Bs including shared annexesTotal" households B&B count — the most expensive and lowest-quality TA type.
ta_bnb_children_over_6wk TA1, col 9 "…With children and resident more than 6 weeks" households Families in B&B beyond the statutory 6-week limit — a legal-compliance red flag.
ta_nightly_paid_total TA1, col 12 "Households in nightly paid, privately managed accommodation, self-containedTotal" households Nightly-let placements — high unit cost, fastest-growing type.
ta_hostel_total TA1, col 14 "Households in hostels, including reception centres…Total" households Hostel/refuge placements.
ta_private_sector_total TA1, col 16 "Households in private sector accommodationTotal" households Leased private-sector TA.
ta_la_ha_stock_total TA1, col 18 "Households in LA or HA stockTotal" households TA in council/housing-association own stock — cheapest type.
ta_out_of_area_total TA9, col 2 "Households owed a TA duty in another LATotal" (also TA1 col 22) households Out-of-area placements — households the council placed in another LA's area.
ta_out_of_area_rate TA9, col 3 "…(per thousand households)" per 1,000 households Out-of-area placement rate.
ta_out_of_area_same_region_pct TA9, col 4 "…Destination: within the same region(percent)[note 48]" percent How local the out-of-area placements are.
ta_5yr_plus TA4, cols 8/14/20/26/32/38 "…5 or more years" (sum across the six accommodation types) households Long-stay TA households (5+ years) — stuck caseload.
ta_bnb_mean_stay_days TA7, col 3 "B&B or shared annexMean (days)" (median in col 2) days Average length of B&B stays. TA7 exists only in the quarterly files' verified sheet list; England row absent.
initial_assessments A1, col 2 "Initial assessments Total[note 2]" households/quarter Homelessness applications assessed in the quarter — the inflow driving TA.
owed_prevention_or_relief A1, col 3 "Assessed as owed a duty Owed a prevention or relief dutyTotal" households/quarter New statutory duty caseload in the quarter.

Unverified: exact [note n] numbering may differ between editions; TA2/TA3/TA5/TA6 (household composition, duty status, age, ethnicity breakdowns) exist and were header-verified but are secondary — same layout pattern.

2. Constructed variables

Variable Formula Inputs Unit Interpretation
ta_spend_per_household_in_ta RO4 net TA spend ÷ ta_households_total 01-revenue-outturn RO4 housing (homelessness/TA lines); TA1 col 2, same FY (use 2024-25 annual file) £/household/year Unit cost of a TA placement — the headline efficiency measure; compare like-for-like councils.
bnb_share_of_ta ta_bnb_total ÷ ta_households_total TA1 cols 7, 2 ratio (0–1) Reliance on the costliest TA type; high share signals procurement failure.
nightly_paid_share_of_ta ta_nightly_paid_total ÷ ta_households_total TA1 cols 12, 2 ratio Exposure to spot-market nightly lets.
own_stock_share_of_ta ta_la_ha_stock_total ÷ ta_households_total TA1 cols 18, 2 ratio Share of TA met from own/HA stock — proxy for cheap, stable supply.
out_of_area_share ta_out_of_area_total ÷ ta_households_total TA9 col 2, TA1 col 2 ratio Share of TA duty met outside the council's area — service-quality and cost-shunting signal.
children_per_ta_family ta_children_total ÷ ta_households_with_children TA1 cols 6, 5 children/household Family size in TA.
bnb_families_over_limit_share ta_bnb_children_over_6wk ÷ ta_bnb_total TA1 cols 9, 7 ratio Share of B&B use breaching the 6-week family limit.
ta_per_new_duty ta_households_total ÷ (owed_prevention_or_relief × 4) TA1 col 2; A1 col 3 annualised (or annual file) years (stock/flow) Rough TA "backlog" ratio — how big the standing caseload is relative to inflow; higher = slower move-on.
ta_caseload_growth_qoq (ta_households_total(t) − same(t−1)) ÷ same(t−1) TA1 col 2 from 202603 vs 202512_revised files percent/quarter Direction of travel of the TA caseload.

Caveats for constructed variables: use the same LA code vintage on both sides of any cross-dataset join (reorganised councils change codes); exclude England/region rows; treat suppressed/imputed values as missing rather than zero; RO4 spend covers the financial year while TA1 is a point-in-time snapshot, so ta_spend_per_household_in_ta should use the FY-average of the four quarterly snapshots (or the annual file's figure) as the denominator where possible.

3. Variable file index

One file per variable in variables/, with YAML frontmatter (name, kind, type, unit, grain, role, source, period, missingness).

Extracted

Constructed