Skip to content

simd2020v2_housing_domain_decile

Scottish Government SIMD 2020v2 housing domain decile, unweighted, 1 = most deprived; copied exactly as published on statistics.gov.scot, never derived; the publisher places some tied zones in adjacent bands

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) int8 no Scottish Government published domain band yes tinyint
main table (postcode_simd, SSPL) int8 no Scottish Government published domain band yes tinyint

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
statistics.gov.scot/simd_2020.csv (pinned, SHA256 25fea7ddaf54…) Value SIMD Domain = Housing, Measurement = Decile, 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 rank the published rank must equal, or differ from as declared DataZone2011Code = datazone
simd_ingest/sgs_2020_housing_rank_disagreements.csv (committed in this repository) data_zone, shapefile_rank, published_rank zones whose two ranks may differ, exactly as listed DataZone2011Code = data_zone

Scope: the row itself.

What was done to it: copied (gated). The Scottish Government's published band, copied, never derived; admitted only where the published rank is the shapefile's, or the zone is one of those listed, with both ranks, in the committed disagreement list: there the two publications give different ranks, the band is the published one, and the status column says so. (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"])

  • source.hash.statistics.gov.scot/simd_2020.csv: the pinned file's SHA256 equals the registry's: the bytes are exactly the ones reviewed
  • govscot.2020v2.bands.years: the band file holds exactly the years the registry declares for it
  • govscot.2020v2.bands.housing.zones: every zone of the edition is published once for the domain
  • govscot.2020v2.bands.housing.ranks_agree: every published rank equals the shapefile rank, or differs only in a declared way
  • join.<table>.gov.2020v2.every_record_matched: every record found its data zone in the edition: no empty cell
  • readback.<table>.attached_values: every attached value in the saved file is looked up again from the sources and equal
  • govscot.2020v2.bands.housing.rank_disagreements_as_pinned: the zones whose ranks differ are exactly the committed list, with exactly its ranks
  • govscot.2020v2.bands.housing.decile.whole: every published band is a whole number
  • govscot.2020v2.bands.housing.decile.range: every published band is within its range
  • govscot.2020v2.bands.housing.decile.monotone: the published band never falls as the published rank rises (a split tie is allowed)
  • join.<table>.simd2020v2_housing_domain_decile.range: every joined band is within its range

Why: simd-domain-bands, bands-are-looked-up