Skip to main content

Corrections

Where a figure published here has been wrong, this is the record of it
A site that asks to be cited has to be accountable for its own mistakes, not only for the publishers' revisions. This page records errors in figures this site published: what was wrong, what it should have been, and what changed so the same class of error cannot recur. Figures restated by the Home Office or the Ministry of Justice are a different thing and are recorded separately in the revisions ledger (5 restatements).

Foreign national offender returns, all years

Found 27 August 2026.

What went wrongThe returns table's unique constraint used Postgres' default NULLS DISTINCT semantics. FNO rows carry NULL age_band and sex, so the loader's ON CONFLICT target never matched and each refresh inserted duplicate rows instead of updating: every FNO year doubled on reload (2025 showed 11,415 against a true 5,732).
What was changedConstraint recreated as UNIQUE NULLS NOT DISTINCT, and the validation oracle extended to reconcile FNO returns against the Home Office's own Ret_02a table so the same class of error cannot pass unnoticed again.
ScopeCaught before publication. No incorrect figure was ever served: it is logged here because a near miss in the figures is worth recording, not because anything published was wrong.
Fixed inf3cd572

Prison population for Congo (COG), 2025 Q4

Found 19 August 2026. Published as 28; corrected to 41.

What went wrongTwo distinct MoJ demonyms both mapped to the ISO code COG. The loader's upsert key was (year, quarter, ISO), so the second row overwrote the first instead of being added to it, silently dropping people from the Congo figure.
What was changedThe parser now aggregates by ISO before loading, so colliding demonyms sum rather than overwrite.
ScopeOne country, one quarter. Site totals were unaffected because the national total is taken from the MoJ summary table, not from summing countries.
Fixed ina139364

How corrections are handled