Skip to content

Median income runs 8-10% above HBAI FYE 2025; add an HBAI validation suite #487

Open

Description

@MaxGhenis

Finding

On enhanced_frs_2024_25 (release 1.56.16) with policyengine-uk 2.102.3, at period 2024 (= HBAI FYE 2025), the median equivalised household income is well above HBAI's. The HBAI medians come from HBAI FYE 2025 (DWP, 26 March 2026), table 2.1ts, in £ a week.

PE HBAI Gap
Median, before housing costs (BHC) 780.1 719.48 +8.4%
Median, after housing costs (AHC) 682.9 623.14 +9.6%

Because PE's relative line is 60% of its own median, its relative poverty rates overshoot HBAI's and fall outside HBAI's 95% confidence intervals (table 8b):

  • All individuals BHC: PE 19.30%, HBAI 15.91% [14.45, 17.64].
  • All individuals AHC: PE 23.51%, HBAI 19.64% [17.99, 21.27].

On HBAI's own fixed FYE 2025 line (policyengine-uk#1889: £431.69 BHC / £373.89 AHC a week), PE's absolute rates land inside all eight of HBAI's confidence intervals (four groups × BHC/AHC).

Group PE BHC HBAI BHC [95% CI] PE AHC HBAI AHC [95% CI]
All 15.18% 15.91% [14.45, 17.64] 19.35% 19.64% [17.99, 21.27]
Dependent children 18.19% 20.52% [17.36, 23.96] 25.76% 27.41% [23.49, 30.64]
Working-age adults 14.37% 14.28% [12.91, 16.02] 18.83% 18.58% [17.01, 20.34]
Pensioners (State Pension age+) 14.24% 15.90% [13.69, 17.99] 13.11% 13.87% [11.62, 15.90]

So the bottom of the distribution looks about right, and the median is high. That points at the middle and upper income distribution rather than at benefits. The PE groups follow HBAI's definitions:

  • dependent child = under 16, or 16-19 unpartnered, not a benefit-unit head, and in non-advanced education or approved training;
  • pensioner = at or over State Pension age.

Proposal

  1. Add an HBAI FYE 2025 validation suite at period 2024, using HBAI's confidence intervals as tolerances. Useful targets:

    • medians and quintile medians, with CIs (table 8a);
    • low-income rates by group (tables 1.3a-1.6a, CIs in 8b);
    • counts (1.3b-1.6b, CIs in 8c);
    • rates at 50%, 60% and 70% of median (3.1tr).

    Mark the currently failing checks (median, relative rates) as tracked, so they fail loudly when fixed or when they get worse.

  2. Investigate the median gap. Candidates:

    • none of the current calibration targets pins the national disposable-income distribution;
    • the HBAI BHC median of 719.48 could be added as a calibration or validation target.
  3. Store each target with its vintage. DWP will revise FYE 2022-25 in March 2027: a Census-based back series, plus a fix to the FRS 2024/25 council tax variable (GROSSCT).

HBAI FYE 2025 data tables: https://assets.publishing.service.gov.uk/media/69c2902a7e02b81c0d1c7762/hbai-data_tables-2025.zip

Activity

  1. MaxGhenis commented on Oct 15, 2026

    @MaxGhenis
    ContributorAuthor

    Update on uk-data 1.58.1 (released enhanced_frs_2024_25.h5, sha256 056e80fd), with policyengine-uk 2.122.2 at period 2024, measured by #600's check against tables 8a and 8b. I verified the references against the published ODS files.

    As HBAI does, negative incomes before housing costs are reset to zero and AHC is derived from the adjusted figure; weekly amounts use 365.25 / 7. DWP's in-year deflation and very-rich adjustment are not applied.

    Both medians are now inside HBAI's intervals: BHC 732.08 against 719.48 (703.57–735.58), and AHC 636.65 against 623.14 (605.21–637.07). The +8.4% BHC gap on 1.56.16 has narrowed. Four of 14 measures are still outside:

    • Gini BHC 30.75 against 32.74 (31.89–33.98);
    • Gini AHC 35.62 against 36.78 (35.90–38.29);
    • children below 60% of the median, BHC 25.28% against 20.52% (17.36–23.96);
    • the same for AHC, 31.92% against 27.41% (23.49–30.64).

    All individuals, working-age adults and pensioners are inside, for both BHC and AHC. #600 reports these on every PR build against its base.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions