simd2020v2_crime_domain_pw_scotland_quintile¶
SIMD 2020v2 crime domain, Scotland quintile, 1 = most deprived. Computed population-weighted band, using a midpoint rule validated against PHS's published overall bands; equal ranks grouped together; not published by PHS or the Government
What the crime domain measures (indicators in the Scottish Government's SIMD 2020v2 glossary; earlier editions' indicators differ in detail):
- Number of recorded crimes of violence, sexual offences, domestic housebreaking, vandalism, drugs offences, and common assault (
CrimeCount, count; SIMD 2020v2 glossary; reviewed (AI-assisted review, 2026-10-02, record)) - Recorded crimes of violence, sexual offences, domestic housebreaking, vandalism, drugs offences, and common assault per 10,000 population (
CrimeRate, rate; 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 | computed population-weighted domain band | yes | tinyint |
main table (postcode_simd, SSPL) |
int8 | no | computed population-weighted 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 |
|---|---|---|---|
data.gov.uk/SG_SIMD_2020/SG_SIMD_2020.dbf (pinned, SHA256 3eb0f27aa4aa…) |
crimerank: Crime domain rank (SIMD 2020v2 glossary; reviewed (AI-assisted review, 2026-10-02, record)) |
every data zone of the edition | DataZone2011Code = datazone |
data.gov.uk/SG_SIMD_2020/SG_SIMD_2020.dbf (pinned, SHA256 3eb0f27aa4aa…) |
sape2017: 2017 NRS small area population estimates (SIMD 2020v2 glossary; reviewed (AI-assisted review, 2026-10-02, record)) |
every data zone of the edition | DataZone2011Code = datazone |
Scope: every data zone of SIMD 2020v2, once, with its population; never the table's rows.
What was done to it: computed. Zones ordered by the domain rank, equal ranks one block; band = max(1, min(5, ceil(midpoint x 5 / total))), where midpoint is the cumulative population through the block minus half the block's. Computed, not published. (code: simd_ingest/core/weighted.py: population_bands)
How it is checked (what each check tests; whether a build passed it is in that build's manifest.json["checks"])
weighted.2020v2.zones: the population is joined to every PHS zone of the editionweighted.2020v2.reproduces_phs_scotland_quintile: the population midpoint rule reproduces PHS's published overall Scotland band on every zonejoin.<table>.simd2020v2_crime_domain_pw_scotland_quintile.range: every joined band is within its rangereadback.<table>.attached_values: every attached value in the saved file is looked up again from the sources and equal