simd2020v2_housing_domain_rank_source_status¶
rank_sources_disagree where the Scottish Government's statistics.gov.scot dataset and its shapefile give this zone different housing ranks (the rank here is the shapefile's, equal to the SIMD 2020v2 ranks workbook, which the SIMD team confirmed on 2 October 2026 is the definitive version; the bands are the published ones, and for 626 of the 628 zones the same under either ranking); null otherwise
What the housing domain measures (indicators in the Scottish Government's SIMD 2020v2 glossary; earlier editions' indicators differ in detail):
- Number of people in households that are overcrowded (
HouseNumOC, count; SIMD 2020v2 glossary; reviewed (AI-assisted review, 2026-10-02, record)) - Number of people in households without central heating (
HouseNumNC, count; SIMD 2020v2 glossary; reviewed (AI-assisted review, 2026-10-02, record)) - Percentage of people in households that are overcrowded (
HouseOCrat, percentage; SIMD 2020v2 glossary; reviewed (AI-assisted review, 2026-10-02, record)) - Percentage of people in households without central heating (
HouseNCrat, percentage; SIMD 2020v2 glossary; reviewed (AI-assisted review, 2026-10-02, record))
| Table | Type | Nullable | Category | In the CSV export | SQL Server type |
|---|---|---|---|---|---|
history table (postcode_simd_history, SPD) |
string | yes | Scottish Government published domain band | yes | nvarchar(200) |
main table (postcode_simd, SSPL) |
string | yes | Scottish Government published domain band | yes | nvarchar(200) |
Provenance (the same in both tables)¶
Each table runs its own copy of the table-level checks, named .history. and .main..
Where it comes from
| Input | Field | Condition | Reaches the row by |
|---|---|---|---|
simd_ingest/sgs_2020_housing_rank_disagreements.csv (committed in this repository) |
data_zone |
the zones listed, with both ranks | DataZone2011Code = data_zone |
statistics.gov.scot/simd_2020.csv (pinned, SHA256 25fea7ddaf54…) |
Value |
SIMD Domain = Housing, Measurement = Rank, DateCode = 2020 | DataZone2011Code = FeatureCode |
data.gov.uk/SG_SIMD_2020/SG_SIMD_2020.dbf (pinned, SHA256 3eb0f27aa4aa…) |
houserank: Housing domain rank (SIMD 2020v2 glossary; reviewed (AI-assisted review, 2026-10-02, record)) |
the shapefile rank | DataZone2011Code = datazone |
Scope: the row itself.
What was done to it: flagged. rank_sources_disagree where the published rank and the shapefile rank differ, as pinned zone by zone in the committed list; null otherwise. It describes the rank, not the band. (code: simd_ingest/core/govscot.py: read_published_bands)
How it is checked (what each check tests; whether a build passed it is in that build's manifest.json["checks"])
govscot.2020v2.bands.housing.rank_disagreements_as_pinned: the zones whose ranks differ are exactly the committed list, with exactly its ranksjoin.<table>.simd2020v2_housing_domain_rank_source_status.values: the status holds only null or rank_sources_disagreereadback.<table>.attached_values: every attached value in the saved file is looked up again from the sources and equal
Why: simd-domain-bands