Methodology
The Safety Index: what it is and what it is not
This is a relative index, not an absolute safety guarantee
StreetSignal's safety indices score Cape Town's 744 suburbs on a fixed scale from 0 (highest measured harm) to 100 (lowest measured harm). A higher score means lower reported crime harm relative to other Cape Town suburbs -- it does not mean safe in any absolute sense. A score reflects measured crime pressure, not a guarantee of conditions on the ground. The score is one input to a property decision, not a substitute for professional advice or direct local knowledge.
Do not use this data for legal, insurance, employment, or investment decisions.This index is for general informational purposes only. It is based on reported crime statistics, which are subject to under-reporting, boundary misalignment, and seasonal variation. For decisions affecting safety, property, or livelihood, consult local authorities and professional advisors with direct knowledge of the area.
Each suburb displays a Safety Index between 0 and 100. The index is StreetSignal's own computed index from SAPS quarterly crime data - SAPS publishes raw crime counts only, not rankings, scores, or indices. The index is computed from SAPS Q4 2025/2026 (January-March 2026) data, mapped to suburb level via our precinct-to-suburb crosswalk.
How the index is computed
The pipeline runs five sequential steps. Each step addresses a specific limitation in raw precinct-level crime data. The output is a composite index from 0 (highest harm) to 100 (lowest harm).
Step 1 - Precinct-to-suburb disaggregation
SAPS crime counts are recorded at precinct level, not suburb level. One precinct covers an average of 12 suburbs in Cape Town, and there is no publicly available suburb-level crime data in South Africa. Rather than assign every suburb in a precinct the same score, StreetSignal disaggregates each precinct's harm to suburb level using population-weighted dasymetric allocation (Poulsen & Kennedy 2004): each suburb receives a share of the precinct's harm in proportion to its estimated resident population within that precinct.
Because the allocation is population-weighted rather than measured, a suburb's score is an estimate, not a suburb-level crime count. Where a suburb's estimated share of its precinct is too small to separate reliably -- roughly fewer than 500 allocated residents, which would otherwise produce an implausibly high score -- StreetSignal suppresses the score instead of publishing a misleading number. Where a suburb's disaggregated score still conflicts with publicly documented conditions -- for example, a known high-crime suburb appearing in a positive ranking -- StreetSignal appliesprecinct confidence overridesto exclude it from safety-dependent rankings and display a caveat on the suburb page.
Step 2 - CDPA category exclusion
Three SAPS categories are classified as "Crimes Detected as a Result of Police Action" (CDPA): Drug-related crime, Driving under the influence of alcohol or drugs, and Illegal possession of firearms and ammunition. These categories reflect police patrol deployment and enforcement effort, not residential victimisation. Areas with heavy police presence (tourist corridors, commercial centres) show inflated CDPA counts that would otherwise distort the residential risk score. CDPA categories are excluded from score computation but retained in the data for display. Method: Cambridge Crime Harm Index (Sherman, Neyroud & Neyroud, 2016).
Step 3 - Crime Harm Index weighting
In plain language: not all crimes are equally harmful. A murder is not the same as a shoplifting incident. The Crime Harm Index weights each crime by the number of days of the minimum prison sentence under South African law. Murder carries 5,475 harm-days (15 years). Rape carries 3,650 (10 years). Shoplifting carries 2. This means one murder contributes the same harm to the index as 2,738 shoplifting incidents.
Technically: CHI harm-days are derived from the Criminal Law Amendment Act 105 of 1997 (CLAA) minimum sentence schedules for first-time offenders. Where no statutory minimum exists, values are estimated from typical sentencing practice or the Cambridge CHI (Sherman, Neyroud & Neyroud, 2016, Policing, 10(3), 171-183). The Institute for Security Studies explicitly recommended this approach for South Africa (Faull, Kriegler & Mtiwejojo, August 2023).
Step 4 - Empirical Bayes smoothing
In plain language: small populations produce misleading outliers. One serious incident in a suburb of 400 residents creates an extreme harm-per-capita rate that would dominate the ranking without adjustment. Empirical Bayes smoothing adjusts each suburb's harm rate toward the city average, proportional to population size. Large suburbs stay close to their raw values. Small suburbs are pulled toward the average. This is the same method used by public health agencies worldwide.
Technically: we apply global Empirical Bayes shrinkage (Marshall 1991, Journal of Epidemiology & Community Health) to CHI harm-days per 100,000 residents. Each suburb's harm rate is pulled toward the city-wide mean in proportion to how small its population is relative to the expected count at the global mean.
theta_hat_i = w_i x theta_i + (1 - w_i) x mu
where theta_i = CHI harm-days per 100k residents for suburb i
w_i = sigma^2 / (sigma^2 + mu/E_i) - weight = 0 (shrink fully) to 1 (retain raw rate)
Step 5 - Composite scoring (geometric mean)
In plain language: the safety index combines two questions into one score. First: how much harm per person? (the rate). Second: how much harm in total? (the volume). A suburb must score well on both to achieve a high composite. This prevents a suburb from appearing safe just because it has a large population that dilutes the per-capita rate, when the actual number of serious crimes is very high.
Each sub-index is scored on a fixed logarithmic scale. Higher harm means a lower score. The logarithmic scale means that differences at the extreme end (very high harm) are compressed -- the gap between 10,000 and 100,000 harm-days per 100k residents matters more than the gap between 1,000,000 and 1,100,000 . This prevents a handful of extreme-harm precincts from dominating the entire scoring range.
Why absolute thresholds, not percentile rank: the pipeline originally scored each sub-index using percentile rank (i.e. how a suburb compared to all others). After disaggregation, many small suburbs received near-zero harm allocations, which compressed the percentile ranks of all other suburbs. A suburb's score could change not because its own harm changed, but because more low-harm suburbs were added to the dataset. Absolute log-scale thresholds ensure a suburb's score reflects its own harm level, not its position relative to others.
Technically: two sub-indices are computed on fixed log-scale anchors and combined via geometric mean (OECD 2008, Handbook on Constructing Composite Indicators; same aggregation used by the UNDP Human Development Index).
Sub-index A (rate): R = 100 x ((ceiling - log10(harmPer100k)) / (ceiling - floor)) ^ gamma
Sub-index B (volume): V = 100 x ((ceiling - log10(totalHarmDays)) / (ceiling - floor)) ^ gamma
Composite: S = sqrt(R x V)
Rate anchors: floor = 4.0 (log10 10,000/100k) , ceiling = 6.5 (log10 ~3,162,000/100k)
Volume anchors: floor = 2.5 (log10 ~316 harm-days) , ceiling = 6.5 (log10 ~3,162,000 harm-days)
Gamma = 1.0 (linear mapping in log space)
Values outside the anchors are clamped to 0 or 100
Worked example: Khayelitsha (composite = 23)
CHI harm per 100k: 379,442. Total CHI harm-days: 846,542. The per-capita harm rate is moderate for this precinct (large population dilutes the rate). But absolute harm volume is among the highest in Cape Town.
Rate: log10(379,442) = 5.58. Score = 100 x ((6.5 - 5.58) / (6.5 - 4.0)) = 100 x 0.368 = 37
Volume: log10(846,542) = 5.93. Score = 100 x ((6.5 - 5.93) / (6.5 - 2.5)) = 100 x 0.143 = 14
Composite: sqrt(37 x 14) = sqrt(518) = 23
Both dimensions contribute to the final score. The rate sub-index (37) reflects moderate per-capita harm, but the volume sub-index (14) reflects very high absolute harm. The geometric mean ensures neither dimension can be hidden by the other.
Worked example: Clifton (headline = 63, composite = 37)
CHI harm per 100k: 879,555 . Total CHI harm-days: 9,833. The per-capita harm rate is high (tiny residential population inflated by visitor-driven crime). But absolute harm volume is low.
Rate: log10(879,555) = 5.94. Score = 100 x ((6.5 - 5.94) / (6.5 - 4.0)) = 100 x 0.224 = 22
Volume: log10(9,833) = 3.99. Score = 100 x ((6.5 - 3.99) / (6.5 - 2.5)) = 100 x 0.627 = 63
Composite: sqrt(22 x 63) = sqrt(1386) = 37
The tourist precinct flag is applied (volume sub-index exceeds rate sub-index by 41 points, above the 30-point threshold). Because Clifton is flagged as a tourist precinct, the headline score is 63/100 (the volume sub-index), not 37. The composite of 37 is still shown in the detailed data section. The volume sub-index is used because it measures absolute crime harm without being distorted by the small residential population denominator.
Contact crime vs property crime
SAPS classifies reported offences into two broad groupings: contact crime and property crime. These categories reflect fundamentally different safety experiences, and StreetSignal now surfaces this distinction in suburb narratives.
Contact crime (violence against persons)
Murder, attempted murder, assault (common and GBH), robbery (common, aggravated, carjacking), and sexual offences. These are crimes where the perpetrator uses force or the threat of force against a person.
Property crime (theft and burglary)
Residential burglary, non-residential burglary, theft of motor vehicle, theft out of motor vehicle, stock theft, and other theft. These are crimes where the target is property rather than a person.
This distinction matters because the two groupings follow different spatial patterns. Property crime tends to cluster in suburbs with higher-value assets and commercial activity. Contact crime tends to concentrate where interpersonal violence is structurally prevalent. A suburb can score well on one dimension and poorly on the other. The SAPS classification is the standard used across all South African crime analysis, including by the Institute for Security Studies.
Risk bands
67-100
Lower reported crime
34-66
Moderate reported crime
0-33
Higher reported crime
South African context
Crime in Cape Town is highly concentrated. StreetSignal's computed crime Gini coefficient is 0.83 (by harm volume), meaning the top 10% of suburbs by crime harm produce approximately 72% of all reported crime harm, while the bottom 50% produce just 1%. This extreme concentration is consistent with international criminological research on crime at places (Weisburd 2015) and reflects South Africa's spatial inequality legacy.
"Lower reported crime" means lower crime relative to other Cape Town suburbs. It does not mean low crime by international standards. South Africa's overall crime rate remains significantly above the global average. The safety index is a relative measure within one city and is not comparable to indices from other countries or cities.
The tourist precinct paradox
Crime rates are conventionally computed per 100,000 residents. But some precincts serve far more people than their residential population suggests. Criminologists call this the ambient population problem (Andresen 2007): when residential and ambient populations diverge, per-capita rates overstate residential risk.
The tourist paradox flag is applied when a suburb was previously identified as a tourist precinct AND its volume sub-index exceeds its rate sub-index by 30 or more points. This identifies suburbs where absolute harm is moderate or low but the per-capita rate is inflated by visitor-driven crime. Clifton (rate 22, volume 63, gap 41) is currently flagged. Camps Bay (rate 38, volume 61, gap 23) shares the same precinct but falls below the 30-point threshold. Sea Point (rate 39, volume 42, gap 3) is not flagged because there is no meaningful divergence between the sub-indices.
Headline score adjustment for tourist precincts
For the 1 suburbs flagged as tourist precincts, the headline safety index displayed on the suburb page uses the volume sub-index instead of the geometric mean composite. The volume sub-index measures absolute crime harm only - it is not affected by the small-population denominator problem that inflates per-capita rates in tourist-heavy precincts.
Without this adjustment, Clifton would display a composite score of 37/100 -- in the same band as precincts recording far higher annual crime volumes. That result is methodologically correct under the composite formula but misleading as a headline for users making property decisions. The composite score (which combines rate and volume) is still computed and displayed in the detailed data section for transparency. Both scores appear on the suburb page so users can see the full picture.
This adjustment is grounded in ambient population research. Andresen (2007, Environment and Planning A) demonstrated that residential population denominators produce misleading per-capita crime rates in areas where the ambient (daytime/visitor) population significantly exceeds the resident population. Adnan, Longley & Khan (2016, Journal of Urban Technology) extended this to tourism-heavy precincts specifically.
Tourist-precinct flagged suburbs:
Suppressed safety indices
Where a suburb's estimated share of its precinct is too small to separate its crime data reliably -- roughly fewer than 500 allocated residents, which would otherwise produce an implausibly high disaggregated score -- StreetSignal suppresses the safety index rather than publish a misleading number. The suburb page surfaces the reason and, where available, household survey victimisation context as an independent signal.
254 suburbs currently have suppressed safety indices:
- Amandelsig - Insufficient data. amandelsig makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Annandale Farm - Insufficient data. annandale-farm makes up a very small share of the Bothasig police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Antilles/Cayman Beach - Insufficient data. antillescayman-beach makes up a very small share of the Gordons Bay police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Asanda - Insufficient data. asanda makes up a very small share of the Lwandle police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Asla Park - Insufficient data. asla-park makes up a very small share of the Lwandle police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Audas Estate - Insufficient data. audas-estate makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Baronetcy Estate - Insufficient data. baronetcy-estate makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Beacon Hill - Insufficient data. beacon-hill makes up a very small share of the Atlantis police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Beaconvale - Insufficient data. beaconvale makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bel'Aire - Insufficient data. belaire makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Belhar Ext 15 - Insufficient data. belhar-ext-15 makes up a very small share of the Belhar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bell Glen - Insufficient data. bell-glen makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bellville South - Insufficient data. bellville-south makes up a very small share of the Bellville South police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bellville Teachers College - Insufficient data. bellville-teachers-college makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Belvedere Tygerberg - Insufficient data. belvedere-tygerberg makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bene Township - Insufficient data. bene-township makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Benno Park - Insufficient data. benno-park makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Berbago - Insufficient data. berbago makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bethanie - Insufficient data. bethanie makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bizweni - Insufficient data. bizweni makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Blomvlei - Insufficient data. blomvlei makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bongani - Population denominator collapse - station population insufficient for valid per-capita calculation
- Bonnie Brook - Insufficient data. bonnie-brook makes up a very small share of the Kraaifontein police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bosbell - Insufficient data. bosbell makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Boskloof - Insufficient data. boskloof makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bottelary Smallholdings 1 - Insufficient data. bottelary-smallholdings-1 makes up a very small share of the Brackenfell police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bottelary Smallholdings 2 - Insufficient data. bottelary-smallholdings-2 makes up a very small share of the Brackenfell police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Brackenfell Central - Insufficient data. brackenfell-central makes up a very small share of the Brackenfell police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Brackenfell Common - Insufficient data. brackenfell-common makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Braeview - Insufficient data. braeview makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Brandwacht - Insufficient data. brandwacht makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Brandwag - Insufficient data. brandwag makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Brentwood Park - Durbanville - Insufficient data. brentwood-park-durbanville makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bridgebank - Insufficient data. bridgebank makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Bridgewater - Insufficient data. bridgewater makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Buh-Rein Estate - Insufficient data. buh-rein-estate makes up a very small share of the Kraaifontein police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Burgundy - Insufficient data. burgundy makes up a very small share of the Brackenfell police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Burgundy Estate - Insufficient data. burgundy-estate makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Cape Farms - District B - Insufficient data. cape-farms-district-b makes up a very small share of the Atlantis police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Cape Gate - Insufficient data. cape-gate makes up a very small share of the Brackenfell police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Carwick - Insufficient data. carwick makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Castle Rock - Insufficient data. castle-rock makes up a very small share of the Simon's Town police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Chantecler - Insufficient data. chantecler makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Chris Hani Park - Insufficient data. chris-hani-park makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Chris Nissen Park - Insufficient data. chris-nissen-park makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Clara Anna Fontein - Insufficient data. clara-anna-fontein makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- CPUT - Insufficient data. cput makes up a very small share of the Bellville South police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Danarand - Insufficient data. danarand makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- De Duin - Insufficient data. de-duin makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- De Grendel Farm - Insufficient data. de-grendel-farm makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- De Velde - Insufficient data. de-velde makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Deaconville - Insufficient data. deaconville makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Deepfreeze - Insufficient data. deepfreeze makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Delft 3 - Insufficient data. delft-3 makes up a very small share of the Delft police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Des Hampden - Insufficient data. des-hampden makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Dorhill - Insufficient data. dorhill makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Dreamworld - Insufficient data. dreamworld makes up a very small share of the Kleinvlei police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Dunrobin - Insufficient data. dunrobin makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Durbanville Meadows - Insufficient data. durbanville-meadows makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Durbell - Insufficient data. durbell makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Eagle Park - Insufficient data. eagle-park makes up a very small share of the Grassy Park police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Eensgevonden - Insufficient data. eensgevonden makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Ekuphumleni - Population denominator collapse - station population insufficient for valid per-capita calculation
- Elsies River - Insufficient data. elsies-river makes up a very small share of the Elsies River police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Endlovini - Insufficient data. endlovini makes up a very small share of the Harare police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Enkanini - Insufficient data. enkanini makes up a very small share of the Harare police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Erinvale Estate - Insufficient data. erinvale-estate makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Everglen - Insufficient data. everglen makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Eyethu - Population denominator collapse - station population insufficient for valid per-capita calculation
- False Bay Coastal Park - Insufficient data. false-bay-coastal-park makes up a very small share of the Grassy Park police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Faure - Insufficient data. faure makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Fernwood - Insufficient data. fernwood makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Fisantekraal - Insufficient data. fisantekraal makes up a very small share of the Kraaifontein police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Fraaigelegen - Insufficient data. fraaigelegen makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Gants Park - Insufficient data. gants-park makes up a very small share of the Strand police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- George Park - Insufficient data. george-park makes up a very small share of the Strand police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Goede Hoop - Insufficient data. goede-hoop makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Goedehoop - Insufficient data. goedehoop makes up a very small share of the Strand police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Golden Hill Ext 1 - Insufficient data. golden-hill-ext-1 makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Goliath Estate - Insufficient data. goliath-estate makes up a very small share of the Kraaifontein police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Good Hope - Population denominator collapse - station population insufficient for valid per-capita calculation
- Gordon Heights - Insufficient data. gordon-heights makes up a very small share of the Gordons Bay police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Gordons Bay Ext 12 - Insufficient data. gordons-bay-ext-12 makes up a very small share of the Gordons Bay police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Gordons Bay Village - Insufficient data. gordons-bay-village makes up a very small share of the Gordons Bay police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Gordons Strand Estate - Insufficient data. gordons-strand-estate makes up a very small share of the Gordons Bay police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Graceland - Population denominator collapse - station population insufficient for valid per-capita calculation
- Greenlands - Insufficient data. greenlands makes up a very small share of the Bellville South police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Greenville Garden City - Insufficient data. greenville-garden-city makes up a very small share of the Kraaifontein police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Hanover Park - Station catchment population (366k+) dilutes per-capita rate. Score suppressed per Hanover Park Rule. Multi-suburb coverage creates statistical distortion.
- Hardekraaltjie - Insufficient data. hardekraaltjie makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Harmony Village - Insufficient data. harmony-village makes up a very small share of the Lentegeur police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Hatton - Insufficient data. hatton makes up a very small share of the Athlone police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Heartland Beach Road Precinct - Insufficient data. heartland-beach-road-precinct makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Heartland Historic Precinct - Insufficient data. heartland-historic-precinct makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Heemstede - Insufficient data. heemstede makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Helderrant - Insufficient data. helderrant makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Helderzicht - Insufficient data. helderzicht makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- High Riding - Insufficient data. high-riding makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Highlands Village - Insufficient data. highlands-village makes up a very small share of the Lentegeur police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Highveld - Insufficient data. highveld makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Hoogstede - Insufficient data. hoogstede makes up a very small share of the Brackenfell police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Humanshof - Insufficient data. humanshof makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Hunters Creek - Insufficient data. hunters-creek makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Hydepark - Insufficient data. hyde-park makes up a very small share of the Lentegeur police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Ilitha Park - Population denominator collapse - station population insufficient for valid per-capita calculation
- Illaire - Insufficient data. illaire makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Jacarandas - Insufficient data. jacarandas makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Jacobsdal Smallholdings - Insufficient data. jacobsdal-smallholdings makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Jacques Hill - Insufficient data. jacques-hill makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Jan Kriel - Insufficient data. jan-kriel makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Jonkers Hoogte - Insufficient data. jonkers-hoogte makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Joostenbergvlakte Smallholdings - Insufficient data. joostenbergvlakte-smallholdings makes up a very small share of the Kraaifontein police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Kaapsig - Insufficient data. kaapsig makes up a very small share of the Brackenfell police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Kalamunda - Insufficient data. kalamunda makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Kanonberg - Insufficient data. kanonberg makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Kelderhof - Insufficient data. kelderhof makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Khaya - Population denominator collapse - station population insufficient for valid per-capita calculation
- Killarney Gardens - Insufficient data. killarney-gardens makes up a very small share of the Milnerton police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- King David Country Club - Insufficient data. king-david-country-club makes up a very small share of the Bishop Lavis police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Klein Zevenwacht - Insufficient data. klein-zevenwacht makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Kleinbegin - Insufficient data. kleinbegin makes up a very small share of the Kraaifontein police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Kloofzicht - Insufficient data. kloofzicht makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Kuils River Common - Insufficient data. kuils-river-common makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Kuilsrivier Golf Course - Insufficient data. kuilsrivier-golf-course makes up a very small share of the Brackenfell police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Kuilsrivier South Smallholdings - Insufficient data. kuilsrivier-south-smallholdings makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Kuyasa - Insufficient data. kuyasa makes up a very small share of the Harare police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- La Concorde - Insufficient data. la-concorde makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- La Montagne - Insufficient data. la-montagne makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- La Sandra - Insufficient data. la-sandra makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Land En Zeezicht - Insufficient data. land-en-zeezicht makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Langeberg Village - Insufficient data. langeberg-village makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Letru - Insufficient data. letru makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Lillydale - Insufficient data. lillydale makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Loumar - Insufficient data. loumar makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Lourensia Park - Insufficient data. lourensia-park makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Lynn's View - Insufficient data. lynns-view makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Macassar Beach - Insufficient data. macassar-beach makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Macassar Village - Insufficient data. macassar-village makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Mall Interchange - Insufficient data. mall-interchange makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Mall Motor City - Insufficient data. mall-motor-city makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Mall Triangle - Insufficient data. mall-triangle makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Marconi Beam - Insufficient data. marconi-beam makes up a very small share of the Milnerton police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Marinda Park - Insufficient data. marinda-park makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Martinville - Insufficient data. martinville makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Marvinpark - Insufficient data. marvinpark makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Metro - Insufficient data. metro makes up a very small share of the Milnerton police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Meyerhof - Insufficient data. meyerhof makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Mikpunt - Insufficient data. mikpunt makes up a very small share of the Kraaifontein police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Mission Grounds - Insufficient data. mission-grounds makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Misty Cliffs - Insufficient data. misty-cliffs makes up a very small share of the Simon's Town police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Montague - Insufficient data. montague makes up a very small share of the Goodwood police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Montague Gardens - Insufficient data. montague-gardens makes up a very small share of the Milnerton police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Montchere - Insufficient data. montchere makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Montclair - Insufficient data. montclair makes up a very small share of the Lentegeur police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Morgans Village - Insufficient data. morgans-village makes up a very small share of the Lentegeur police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Mountainside - Insufficient data. mountainside makes up a very small share of the Gordons Bay police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Mountainside Estate - Insufficient data. mountainside-estate makes up a very small share of the Gordons Bay police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Mountainside Ext 2 - Insufficient data. mountainside-ext-2 makes up a very small share of the Gordons Bay police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- N1-Stad - Insufficient data. n1-stad makes up a very small share of the Goodwood police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Nature's Valley - Insufficient data. natures-valley makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Nerina - Insufficient data. nerina makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- New Macassar - Insufficient data. new-macassar makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- New Scheme - Insufficient data. new-scheme makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- New Woodlands - Insufficient data. new-woodlands makes up a very small share of the Lentegeur police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Nieuw Maastrecht-1 - Insufficient data. nieuw-maastrecht-1 makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Nieuw Maastrecht-2 - Insufficient data. nieuw-maastrecht-2 makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Nutwood - Insufficient data. nutwood makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- O'Kennedyville - Insufficient data. okennedyville makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Okavango Park - Insufficient data. okavango-park makes up a very small share of the Brackenfell police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Olive Grove - Insufficient data. olive-grove makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Onverwacht Village - Insufficient data. onverwacht-village makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Oosterzee-Bellville - Insufficient data. oosterzee-bellville makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Paarde Vlei - Insufficient data. paarde-vlei makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Paarden Eiland - Insufficient data. paarden-eiland makes up a very small share of the Maitland police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Parelvallei Kleinhoewes - Insufficient data. parelvallei-kleinhoewes makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Parow East - Insufficient data. parow-east makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Parow Golf Course - Insufficient data. parow-golf-course makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Peacock Close - Insufficient data. peacock-close makes up a very small share of the Grassy Park police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Pearl Marina - Insufficient data. pearl-marina makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Pearl Rise - Insufficient data. pearl-rise makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Petrosa Tank Farm - Insufficient data. petrosa-tank-farm makes up a very small share of the Bothasig police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Philippi - Station catchment population (366k+) dilutes per-capita rate. Score suppressed per Hanover Park Rule. Multi-suburb coverage creates statistical distortion.
- Philippi Park - Station catchment population (366k+) dilutes per-capita rate. Score suppressed per Hanover Park Rule. Multi-suburb coverage creates statistical distortion.
- Pinati Estate - Station catchment population (366k+) dilutes per-capita rate. Score suppressed per Hanover Park Rule. Multi-suburb coverage creates statistical distortion.
- Plattekloof 1 - Insufficient data. plattekloof-1 makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Proteaville - Insufficient data. proteaville makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Richmond Park - Insufficient data. richmond-park makes up a very small share of the Bothasig police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Riverside - Insufficient data. riverside makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Rome Glen - Insufficient data. rome-glen makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Rondevlei Park - Insufficient data. rondevlei-park makes up a very small share of the Lentegeur police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Rosenpark - Insufficient data. rosenpark makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Rotterdam - Insufficient data. rotterdam makes up a very small share of the Mfuleni police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Ruitershoogte - Insufficient data. ruitershoogte makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Sandvlei - Insufficient data. sandvlei makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Saxenburg Park 1 - Insufficient data. saxenburg-park-1 makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Saxenburg Park 2 - Insufficient data. saxenburg-park-2 makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Saxonwood - Insufficient data. saxonwood makes up a very small share of the Atlantis police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Schonenberg - Insufficient data. schonenberg makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Schoongezicht - Insufficient data. schoongezicht makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Selborne - Insufficient data. selborne makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Shirley Park - Insufficient data. shirley-park makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Silveroaks - Insufficient data. silveroaks makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Silvertas - Insufficient data. silvertas makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Silvertown - Khayelitsha - Makhaza SAPS station data not available in current DataFirst quarterly release. Score withheld: no data should not imply maximum safety.
- Silwerboomkloof - Insufficient data. silwerboomkloof makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Sirrocco's - Insufficient data. sirroccos makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Sitari Country Estate - Insufficient data. sitari-country-estate makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Smartie Town - Insufficient data. smartie-town makes up a very small share of the Macassar police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Smitswinkelbaai - Insufficient data. smitswinkelbaai makes up a very small share of the Simon's Town police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Somerset West - Insufficient data. somerset-west makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Somerset West Business Park - Insufficient data. somerset-west-business-park makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Somerset West Country Club - Insufficient data. somerset-west-country-club makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Sonnendal - Insufficient data. sonnendal makes up a very small share of the Parow police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Spanish Farm - Insufficient data. spanish-farm makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Springfield - Insufficient data. springfield makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Steenbras View - Insufficient data. steenbras-view makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Stellenbosch Farms - Insufficient data. stellenbosch-farms makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Stellenbosch Farms (Blue Downs) - Insufficient data. stellenbosch-farms-blue-downs makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Stellenbosch Farms (Kuilsrivier) - Insufficient data. stellenbosch-farms-kuilsrivier makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Stellendale - Insufficient data. stellendale makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Stikland - Insufficient data. stikland makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Stikland Hospitaal - Insufficient data. stikland-hospitaal makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Strand Golf Club - Insufficient data. strand-golf-club makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Stuart's Hill - Insufficient data. stuarts-hill makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Sun City - Insufficient data. sun-city makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- The Link - Insufficient data. the-link makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Tre Donne - Insufficient data. tre-donne makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Triangle Farm - Insufficient data. triangle-farm makes up a very small share of the Bellville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Turtle Creek - Insufficient data. turtle-creek makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Umrhabulo Triangle - Makhaza SAPS station data not available in current DataFirst quarterly release. Score withheld: no data should not imply maximum safety.
- UWC - Insufficient data. uwc makes up a very small share of the Bellville South police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Viking Village - Insufficient data. viking-village makes up a very small share of the Kraaifontein police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Vredenzicht - Insufficient data. vredenzicht makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Wairoa - Insufficient data. wairoa makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Wedderwill Estate - Insufficient data. wedderwill-estate makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Welgevonden - Insufficient data. welgevonden makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Wellway Park - Insufficient data. wellway-park makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Welmoed Estate - Insufficient data. welmoed-estate makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Weltevreden Valley - Station catchment population (366k+) dilutes per-capita rate. Score suppressed per Hanover Park Rule. Multi-suburb coverage creates statistical distortion.
- Wembley Park - Insufficient data. wembley-park makes up a very small share of the Mfuleni police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Westerdale - Insufficient data. westerdale makes up a very small share of the Durbanville police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Wildwood - Insufficient data. wildwood makes up a very small share of the Lentegeur police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Windsor Estate - Insufficient data. windsor-estate makes up a very small share of the Kraaifontein police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Winslow - Insufficient data. winslow makes up a very small share of the Gordons Bay police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- World's View - Caledon Farms - Insufficient data. worlds-view-caledon-farms makes up a very small share of the Gordons Bay police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- World's View - Somerset West - Insufficient data. worlds-view-somerset-west makes up a very small share of the Somerset West police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- WP Park - Insufficient data. wp-park makes up a very small share of the Elsies River police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- WP Showgrounds - Insufficient data. wp-showgrounds makes up a very small share of the Elsies River police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Zeekoevlei - Insufficient data. zeekoevlei makes up a very small share of the Grassy Park police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Zevenwacht Country Estate - Insufficient data. zevenwacht-country-estate makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Zevenwacht Farm Village - Insufficient data. zevenwacht-farm-village makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Zevenwacht Mall - Insufficient data. zevenwacht-mall makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Zevenwacht Retirement Village - Insufficient data. zevenwacht-retirement-village makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
- Zevenzicht - Insufficient data. zevenzicht makes up a very small share of the Kuilsrivier police precinct, so we cannot reliably separate its crime data from the rest of the precinct. Rather than show a score that could be misleading, we have withheld it.
Precinct confidence overrides
Disaggregation distributes a precinct's harm by population share, so a known high-crime suburb can still appear misleadingly safe when it sits in a precinct whose overall harm is low or whose quieter areas hold most of the population. Where publicly documented crime conditions (SAPS reports, media reporting, municipal safety assessments) are inconsistent with the computed score, StreetSignal applies a precinct confidence override.
Excluded from safety-dependent rankings (14 suburbs): these suburbs are removed from Safest Suburbs, Best for Families, Affordable & Safe, Best for Investment, and Most Improved rankings. Their suburb pages display a prominent caveat explaining that the precinct-level score may not reflect local conditions.
- Chris Hani Park (Macassar precinct)
- Smartie Town (Macassar precinct)
- Manenberg (Manenberg precinct)
- Heideveld (Manenberg precinct)
- Tafelsig (Mitchells Plain precinct)
- Hanover Park (Philippi precinct)
- Philippi (Philippi precinct)
- Pinati Estate (Philippi precinct)
- Weltevreden Valley (Philippi precinct)
- Sir Lowry's Pass (Somerset West precinct)
- Sir Lowry's Pass Village Centre (Somerset West precinct)
- Lavender Hill (Steenberg precinct)
- Retreat (Steenberg precinct)
- Steenberg (Steenberg precinct)
Conservative score note (7 suburbs): these suburbs may be safer than their precinct score suggests, because they share a precinct with higher-crime areas that pull the average down. They are notexcluded from rankings (conservative scoring is safer for users), but their suburb pages display an informational note.
- Century City (Milnerton precinct)
- Milnerton Ridge (Milnerton precinct)
- Royal Ascot (Milnerton precinct)
- Lagoon Beach (Milnerton precinct)
- Kalk Bay (Muizenberg precinct)
- St James (Muizenberg precinct)
- Lakeside (Muizenberg precinct)
This list is reviewed when SAPS boundary changes occur or new sub-precinct data becomes available. If you believe a suburb is incorrectly scored, pleasecontact us.
Precinct population mismatch
Some suburbs share a SAPS precinct with a much larger neighbour. When one suburb accounts for 70% or more of the precinct's residential population, the per-capita crime rate is dominated by that suburb's population denominator. Smaller suburbs in the same precinct inherit a diluted rate that may not reflect their local conditions.
Suburbs that share a SAPS precinct with a much larger neighbour are flagged with a precinct population mismatch disclosure. Each affected suburb page displays the dominant suburb's name, the population dominance ratio, and a contextual note explaining the statistical effect. Where household survey victimisation data is available, it is presented alongside the mismatch disclosure to provide an independent signal of residents' lived experience.
In cases where the mismatch is severe enough to render the safety index misleading, the score is suppressed entirely and the suburb page explains why. This applies where the precinct's station-served population exceeds the suburb's own population by a factor that would produce a statistically meaningless per-capita rate.
Seasonal data caveat
The current dataset covers Q4 2025/2026 (January-March 2026) summer tourist season. Crime patterns in coastal and tourist precincts are structurally elevated during this period. Scores for Atlantic Seaboard, City Bowl, and False Bay coast suburbs may differ from what an annual average would show. Cape Flats and inland residential precincts are less affected by seasonal variation.
What a score of 50 means
Suburbs displaying a score of exactly 50 with a precinct listed as "Unassigned" have not yet been successfully matched to a SAPS precinct in our data pipeline. The score of 50 is a neutral placeholder, not a computed value. Do not treat a score of 50 on an unassigned suburb as a reliable safety indicator.
Crime volume: how the composite handles it
The safety index is a composite of both per-capita harm rate and absolute harm volume. Unlike a rate-only approach, the composite cannot be "gamed" by a large population that dilutes the per-capita rate while absolute harm remains high. A suburb must score well on both dimensions to achieve a high composite index.
Each suburb page shows the annualised crime volume alongside the safety index. Volume is classified into five tiers based on where a suburb falls relative to all 736 suburbs with SAPS data: very low (bottom 20%), low, moderate, high, and very high (top 20%). These tiers are computed using quintile boundaries.
The city median is approximately 4,280 annualised reported crimes per suburb. Each suburb shows its ratio to this median (e.g. "2.1x median") so that users can gauge absolute scale at a glance.
When rate and volume sub-indices diverge
Some suburbs show a large gap between their per-capita rate sub-index and their absolute crime volume: a relatively safe headline score can sit alongside a high absolute number of crimes, or a low absolute count alongside a poorer per-capita score. Where a suburb's risk band and its volume band point in opposite directions, the suburb page displays an explanatory note. 45 suburbs currently trigger this note. The geometric-mean composite captures both realities rather than letting one dimension hide the other.
Trend assessment
Each suburb page shows a year-on-year trend label indicating whether reported crime is increasing, decreasing, or stable compared to the same quarter in the previous year. Trend is assessed using a standard statistical test for count data that accounts for the random variation naturally expected in crime figures - a small change in a low-crime suburb may be noise, while the same percentage change in a high-crime suburb may be meaningful.
The test produces five categories:
Significant decrease
Strong evidence of a meaningful decline in reported crime
Moderate decrease
Evidence of a decline, though less definitive
Stable
No statistically meaningful change detected
Moderate / Significant increase
Evidence of a rise in reported crime
Suburbs with very few reported crimes show "Insufficient data" because small numbers make trend detection unreliable - a change from 3 to 6 incidents is a 100% increase but could easily be random variation. The threshold for trend assessment requires a minimum volume of crime reports to produce a reliable signal.
Data confidence
Not all 744 suburbs have the same depth of data. Each suburb page displays a data confidence tier that tells you how much information is available for that neighbourhood:
Full coverage (535 suburbs)
The suburb has Census population data, SAPS crime data, and at least one additional source such as household survey data or transport mode data. All core metrics are computed from primary sources.
Partial coverage (178 suburbs)
One major data source is missing. Some metrics use estimated values derived from neighbouring suburbs in the same survey group or precinct. These suburbs display a note indicating which metrics are estimated.
Limited coverage (31 suburbs)
The suburb has very few data sources available. Scores and metrics should be interpreted with caution. These suburbs typically lack both household survey data and transport mode data, and may have limited or no SAPS precinct match.
Coverage tiers are computed automatically at build time based on which data sources are available for each suburb. The tier is displayed on the suburb page so that users can calibrate their confidence in the data accordingly.
Precinct-level data: what this means for suburb scores
SAPS publishes crime statistics at police precinct level. StreetSignal maps Cape Town's744 suburbs to 61 SAPS precincts. There is no publicly available suburb-level crime data in South Africa. No platform, including StreetSignal, has access to crime counts broken down below precinct level.
Because the source data is precinct-level, StreetSignal disaggregates each precinct's harm to its suburbs by estimated population share rather than assigning every suburb the same score. The result is a suburb-level estimate, not a measured suburb-level crime count: two suburbs in the same precinct receive different scores in proportion to their populations, but neither figure is a direct measurement of local crime.
This is a structural limitation of South African crime data, not a gap specific to StreetSignal. The precinct population mismatch disclosures and precinct confidence overrides described on this page flag the most acute cases where this limitation produces misleading results.
Reporting bias
All scores on StreetSignal reflect reported crime only. They measure what was reported to SAPS, not all crime that occurred. Reporting rates vary between communities for reasons that include trust in the police, proximity to a police station, awareness of reporting processes, and whether a police report is needed for an insurance claim.
Property crime reporting tends to be higher in suburbs where insurance coverage is widespread, because insurers require a case number before processing a claim. This may mean that property crime appears higher in well-insured suburbs relative to areas with lower insurance coverage, even if the actual incidence is similar. Contact crime reporting is also uneven: StatsSA's Governance, Public Safety and Justice Survey consistently finds that a significant proportion of assault and robbery incidents go unreported.
StreetSignal cannot correct for under-reporting because the extent varies by crime type, community, and time period. The scores should be read as "reported crime pressure" rather than a complete picture of all crime in a suburb. Where household survey victimisation data is available, it is presented alongside the SAPS-derived score as an independent signal of residents' lived experience.
Research grounding
The methodological choices on this page are anchored in peer-reviewed research. Each reference below is registered with Crossref and is re-verified on every build; the note under each entry states what it grounds.
van Ruitenburg and Ruiter (2023). The adoption of a crime harm index: A scoping literature review. Police Practice and Research. doi:10.1080/15614263.2022.2125873
The harm-weighted (Crime Harm Index) approach behind the safety index, including its validity requirements.
Ashby (2018). Comparing Methods for Measuring Crime Harm/Severity. Policing: A Journal of Policy and Practice. doi:10.1093/police/pax049
Known divergences between harm-weighting methods; why weight choice is disclosed rather than presented as settled.
Zastrow and Weisburd (2026). Is There a Law of Crime Concentration for Most Crime in a City? A Multi-City Study. American Journal of Criminal Justice. doi:10.1007/s12103-026-09917-z
Current evidence that crime concentrates spatially, and that most variance sits below suburb level.
Curtis-Ham, Jones, Dunstan, Looc and Jordan (2024). A Police Response Effort Index to complement counts and harm indices in understanding crime and policing demand. Crime Science. doi:10.1186/s40163-024-00224-8
A documented limitation: harm indices cover criminal incidents only and do not capture wider policing demand.
Antonio, Fabris-Rotelli, Thiede and Stander (2025). Spatial linear network Voronoi analysis to quantify accessibility of police stations in South Africa. Crime Science. doi:10.1186/s40163-025-00262-w
South African evidence that station catchment approximations diverge from true precinct boundaries; grounds the precinct-assignment caveat.
Kerr, van der Bles, Dryhurst, Schneider, Chopurian, Freeman and van der Linden (2023). The effects of communicating uncertainty around statistics, on public trust. Royal Society Open Science. doi:10.1098/rsos.230604
Why the site states numeric limitations plainly: precise uncertainty barely dents trust, while vague caveats harm it.