How we measure safety
The Safety score is a 0–100 percentile computed from seven measurable inputs: police-reported crime, traffic incidents, street-lighting density, drive time to the nearest fire station, police station and healthcare facility, and a modelled urban-noise level. A score of 70 means the neighbourhood ranks above 70% of neighbourhoods in the same city on that blend. It is not a guarantee, and it only counts what gets recorded.
Last updated
What we measure
Crime is measured from each police service's published incident data, normalized into nine categories: break and enter, mischief, theft, theft from or of vehicle, vehicle collision, homicide, offence against a person, and other. For each neighbourhood we compute the incident count, the rate per 1,000 residents, the year-over-year change, and the five-year trend, per category and for all categories combined.
Emergency-service access is measured as the drive time from each neighbourhood's dissemination areas to the nearest fire station, police station and healthcare facility, computed on the real road network with the Valhalla routing engine — not straight-line distance.
Traffic safety is measured from municipal traffic-incident data, bucketed by incident type, as a rate per 1,000 residents. Street lighting is measured as lights per square kilometre and wattage per capita from municipal street-light inventories.
Urban noise is measured with a 25-metre-resolution acoustic model (CRTN methodology, Lden metric) computed from OpenStreetMap road geometry, Natural Resources Canada building footprints, freight rail lines and airport NEF contours. Quieter areas score higher.
Data sources and update cadence
- Calgary Police Service crime data (via data.calgary.ca)
Incident counts by community, category and year for Calgary
CadenceRefreshed on the source's publication cycle, typically monthly to annual
- Vancouver Police Department GeoDASH crime data
Incident counts by neighbourhood, category and year for Vancouver
CadenceRefreshed on the source's publication cycle, typically monthly to annual
- Edmonton Police Service Community Safety Data Portal
Incident counts by community, category and year for Edmonton
CadenceRefreshed on the source's publication cycle, typically monthly to annual
- Toronto Police Service open data
Incident counts by neighbourhood, category and year for Toronto
CadenceRefreshed on the source's publication cycle, typically monthly to annual
- Municipal open-data portals (Calgary, Vancouver, Edmonton, Toronto)
Fire stations, police stations, street-light inventories, traffic incidents
CadenceRefreshed when the city updates the dataset; most are annual or better
- Provincial healthcare directories and OpenStreetMap
Healthcare facility locations (BC HealthLink for Vancouver; OpenStreetMap where a city publishes no feed)
CadenceOpenStreetMap extracts are re-imported with each pipeline run
- OpenStreetMap, Natural Resources Canada building footprints, airport NEF contours
Inputs to the 25 m urban-noise model
CadenceRecomputed when the noise model is re-run; building footprints vintage 2018–2020
How the score is computed
Each of the seven inputs is computed at the dissemination-area level, then ranked against every other dissemination area in the same city using PERCENT_RANK, giving a 0–100 percentile. Inputs where lower is better — crime rate, traffic rate, emergency drive times — are inverted so that a higher number always means a better result. The noise input arrives already on a 0–100 scale from the acoustic model (higher = quieter) and passes through without re-ranking.
The seven percentiles are combined into the Safety score with fixed, published weights. Crime carries the largest weight at 30%. Dissemination areas are then rolled up to the neighbourhood by population-weighted averaging, so a sparsely populated industrial pocket does not move a neighbourhood's score the way its residential blocks do.
A score of 50 means the neighbourhood is at the median of its city on this blend. The score is a rank within one city: a 75 in Calgary and a 75 in Toronto do not describe the same crime rate, because each city is ranked against itself.
Share of the Safety composite. Weights sum to 100% and are the same for every city.
What this score does not capture
Stated plainly, because a score is only worth trusting if its limits are.
- The score counts reported incidents only. Crime that is never reported to a police service does not appear in any input, and reporting rates differ by crime type and by community.
- Scores are not comparable across cities. Police services define and count categories differently, so only the rank within a single city is reliable.
- Crime data arrives at the community level, not the address level. Every dissemination area in a community carries its community's crime rate, so within-neighbourhood variation is invisible to the score.
- There is no real-time feed. Inputs refresh when the source publishes, typically monthly to annually, so a recent change in a neighbourhood shows up with a lag.
- The score does not model exposure by time of day, and it says nothing about how safe a specific street feels to a specific person.
- Edmonton's traffic input is a city-wide aggregate — the city publishes no per-incident locations — so traffic does not differentiate Edmonton neighbourhoods.
Definitions
- Crime rate per 1,000
- Reported incidents in the most recent year divided by the community's population, multiplied by 1,000. Uses each police service's own incident counts.
- Year-over-year change
- Percent change in incident count versus the previous year, per category.
- Five-year trend
- Percent change in incident count versus five years earlier: (current − five years ago) ÷ five years ago × 100.
- Emergency-service drive time
- Minutes by car from a dissemination area's centre to the nearest fire station, police station or healthcare facility, routed on the road network by the Valhalla routing engine.
- Urban noise score (Lden)
- A day-evening-night sound level modelled at 25 m resolution from roads, buildings, freight rail and airport noise contours, converted to a 0–100 scale where higher means quieter.
- Percentile score
- The neighbourhood's rank among all neighbourhoods in the same city, 0–100. A 50 is the city median; an 80 ranks above four fifths of the city. Percentiles do not transfer between cities.
Frequently asked questions
What does a safety score of 50 mean?
It means the neighbourhood sits at the median of its city on the blended safety inputs — half of the city's neighbourhoods rank above it and half below. It is a relative rank within one city, not an absolute measure of danger.
Where does PickYourPlace's crime data come from?
Directly from each police service's published data: Calgary Police Service via Calgary's open-data portal, Vancouver Police Department's GeoDASH, Edmonton Police Service's Community Safety Data Portal, and Toronto Police Service open data. PickYourPlace does not adjust the counts.
Can I compare a safety score in Calgary with one in Vancouver?
No. Each score is a percentile within its own city, and police services define crime categories differently. A 75 in Calgary and a 75 in Vancouver mean the same rank, not the same crime rate.
Does the safety score include unreported crime?
No. The score is built from incidents reported to police. Unreported incidents are absent from the data, and reporting rates vary by crime type and community, which is a real limitation of any crime-data product.
Why is noise part of the safety score?
Noise is a measurable, health-relevant property of a location, and it is modelled at 25 m resolution — finer than any other safety input. It carries 14% of the composite. If you weigh it differently, the sub-scores are published separately so you can.