Skip to main content

Johannesburg methodology

Johannesburg is StreetSignal's second city. Its profiles are built from official and community-mapped open data, and they publish less than Cape Town's because less has cleared verification. This page states exactly what is published, how each dimension is built, and what is deliberately withheld.

The suburb unit

Profiles cover 406 named localities from OpenStreetMap (places tagged as suburbs or neighbourhoods), with centroids from the same source under the Open Database Licence. Named localities were chosen over the 135 numbered electoral wards because people search for suburb names, not ward numbers.

Only a minority of these localities carry mapped boundary polygons, so all proximity measures are straight-line distances from the suburb centre point, and no point-in-polygon assignment is used.

Crime: precinct attribution, stated plainly

SAPS publishes recorded crime for police precincts. 42 precincts cover the 406 suburbs, so figures are shared: in the most extreme case a single precinct's figures stand for more than 20 suburbs. Every Johannesburg page shows which precinct its figures come from and how many other suburbs share them.

Suburbs are assigned to precincts using StreetSignal's own station-catchment construction: a Voronoi tessellation around the public coordinates of police stations, clipped to the metro area. This avoids any dependence on third-party boundary files, but it is an approximation. Measured against an official-boundary benchmark, it agrees for roughly three quarters of suburbs; the remainder are assigned to an adjacent precinct. South African research on station-catchment analysis shows exactly this class of divergence between distance-based catchments and true precinct boundaries, which is why the assignment method is disclosed rather than presented as exact.

The published series shows five like-for-like quarters (January to March, 2022 through 2026) so seasonal effects do not masquerade as trends.

Two classes of SAPS workbook rows are excluded from the published tables: section totals (which are sums of the individual categories and would double-count them), and categories detected as a result of police action (drug crime, driving under the influence, illegal firearm possession), which track police effort rather than residential victimisation. Cape Town's index excludes the same police-action classes for the same reason.

Why there is no Johannesburg safety index yet

Cape Town's safety index depends on disaggregating precinct crime to suburbs using population weights. For Johannesburg the population source would be gridded population estimates (WorldPop's constrained product), because ward-level census attributes are not openly accessible. Gridded population data carries known error: cell-level accuracy is weakest in dense informal settlements, and recent work shows systematic under-representation in several settings. Publishing a per-suburb index on top of those weights, without the verification Cape Town's pipeline went through, would present precision the data does not support.

Until that pipeline clears the same bar, Johannesburg pages show precinct figures with their sharing disclosed, and no composite score. Research on communicating uncertainty finds that stating limits plainly costs little public trust, while discovered overstatement costs a great deal.

Schools

School profiles come from the Department of Basic Education EMIS masterlist for Gauteng (Q3 2025): school counts, no-fee status, learner and educator counts, and quintile classifications. Matric results (2023 to 2025) come from the DBE's 2025 National Senior Certificate School Performance Report, joined to the masterlist by EMIS number; suburb pass rates weigh each school by its candidate numbers rather than averaging school percentages. A suburb's school profile describes the schools located in it, not the schooling outcomes of its residents, who may attend schools elsewhere.

The matric figure is the share of candidates who wrote the NSC exams and achieved the certificate. Learners who left school before Grade 12 are not in the denominator, so it is not a measure of how many children in an area finish school, and a high rate at a school with a small Grade 12 group does not by itself show a strong school. Suburb rates weigh each school by its candidate numbers rather than averaging school percentages, so one small school cannot swing the figure.

Where fewer than 20 candidates wrote across a suburb, no suburb-level rate is published: at that size a single learner's result moves the figure by more than five percentage points, which describes noise rather than a place. That suppresses 10 suburbs for 2025 and leaves 136 reporting. Individual school results are still shown in full, because those are the department's own published figures with their own denominators. A further 71 reporting suburbs have only one school presenting candidates; those pages say so, because the figure describes that school rather than the suburb.

EMIS records two locality fields, and its "suburb" field often holds a postal or administrative town rather than the actual place: 218 Johannesburg schools are filed under "Soweto" and 53 under "Sandton", while the township field carries the real locality. StreetSignal takes whichever of the two is more specific, which places 331 schools in the suburb they are actually in rather than the administrative centre nearby. Where the department publishes nothing finer than that administrative name, the school stays under it: 211 schools are attributed at that coarser level, so pages for Soweto, Sandton, Randburg, Roodepoort, Midrand and Pimville describe a wider area than their name suggests.

Amenities: mapped counts, not inventories

Amenity data across 15 dimensions comes from OpenStreetMap via the Overpass API. OpenStreetMap's completeness varies widely between and within cities, and mapping quality in African urban and informal areas is uneven. Counts are therefore minimums of what the community has mapped, not full inventories, and they are presented as counts rather than quality judgements.

Facilities are attributed by proximity (within 1 km and 5 km of the suburb centre, plus the nearest facility). Exclusive in-suburb attribution is deliberately not published, because for most suburbs it reads as zero even where facilities sit just beyond a boundary.

Minibus taxi access

Taxi facility locations, formality, lighting, and destination lists come from the CSIR Gauteng taxi facility survey (2024; 280 usable facilities within the City of Johannesburg). A lighting value exists for a minority of facilities; where it is absent, lighting was not surveyed, which is different from "unlit". Destination names are verbatim survey entries, including their original spellings.

What Johannesburg does not have yet

  • No safety index (see above).
  • No property valuations: the City of Johannesburg valuation roll requires a statutory access request, which is in progress.
  • No household survey or census demographics: the open routes to ward-level attributes require registrations that are pending.
  • No service-delivery responsiveness data: no Johannesburg equivalent of Cape Town's complaint feed has been found at any price.
  • No interactive map: too few suburbs carry mapped boundary polygons to draw one honestly.

Research grounding

The choices above are anchored in peer-reviewed research. Each reference is registered with Crossref and re-verified on every build; the note under each entry states what it grounds.

  • 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.

  • Thomson, Leasure, Bird, Tzavidis and Tatem (2022). How accurate are WorldPop-Global-Unconstrained gridded population data at the cell-level?. PLOS ONE. doi:10.1371/journal.pone.0271504

    Cell-level error in gridded population products, worst in dense informal settlements; grounds treating population weights as estimates and disclosing the product variant.

  • Láng-Ritter, Keskinen and Tenkanen (2025). Global gridded population datasets systematically underrepresent rural population. Nature Communications. doi:10.1038/s41467-025-56906-7

    Systematic bias affecting all gridded population datasets; grounds the population-weight uncertainty disclosure.

  • Zhou, Zhang, Chang and Brovelli (2022). Assessing OSM building completeness for almost 13,000 cities globally. International Journal of Digital Earth. doi:10.1080/17538947.2022.2159550

    OpenStreetMap completeness varies widely between and within cities; grounds the amenity-coverage confidence caveat on Johannesburg profiles.

  • Yeboah, Porto de Albuquerque, Troilo, Tregonning and Perera (2021). Analysis of OpenStreetMap Data Quality at Different Stages of a Participatory Mapping Process. ISPRS International Journal of Geo-Information. doi:10.3390/ijgi10040265

    Evidence on OpenStreetMap quality in African urban and informal areas; grounds reporting amenities as mapped counts rather than quality judgements.

  • 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.