Methodology

Last updated: October 21, 2026

This page documents exactly how the Toronto Crime Score is computed, so that journalists, researchers, and AI engines can cite the scores with a defensible basis. Every number shown here is the number the site uses. For who runs the site, see About.

The Score at a Glance

Each Toronto neighborhood receives a single score between 0 and 100, where lower is safer. The score combines nine crime categories tracked in the Toronto Police Service's Neighbourhood Crime Rates Open Data dataset: homicide, shooting, assault, robbery, break and enter, auto theft, theft over $5,000, theft from vehicle, and bicycle theft. Scores are relative - they compare neighborhoods within Toronto for 2025 and are not calibrated against other cities.

Step 1: Normalize to a Rate per 100,000 Residents

Raw incident counts favor large neighborhoods: 100 assaults mean something very different in a neighborhood of 10,000 residents than in one of 100,000. So for every category, the incident count is divided by the neighborhood's population and scaled to a rate per 100,000 residents:

rate = (incidents ÷ population) × 100,000

This makes a neighborhood of 2,000 residents directly comparable to one of 50,000. Population figures are the residential projections published with the police dataset (prepared by Environics Analytics), which is also their limitation: areas with large daytime, visitor, or commuter populations can show inflated rates (see Known Limitations).

Step 2: Weight Each Category by Severity

Not all crimes affect safety equally. Each category's rate is converted to points on a 0-100 scale, where 100 points correspond to a reference rate per 100,000 residents (the category's normalization cap). The points are then multiplied by the category's severity weight. The nine weights sum to 100%:

Crime categoryWeightReference rate (per 100k)
Homicide35%10
Shooting25%20
Assault12%1,000
Robbery8%500
Break and Enter6%750
Auto Theft5%300
Theft Over $50004%200
Theft from Vehicle3%500
Bicycle Theft2%200

The reference rate is the per-100k rate at which that category reaches its 100-point cap - for example, a homicide rate of 10 per 100,000 residents contributes the full 35 points, and rates above that are capped. Violent categories carry low reference rates and high weights; high-volume property categories carry high reference rates and low weights, so a spate of bicycle thefts can never outweigh a homicide.

Step 3: Cap, Weight, and Sum

Each category's points are capped at 100, multiplied by its weight, and the nine weighted contributions are added together:

score = Σ ( weight × min(100, rate ÷ reference rate × 100) )

Worked example: a neighborhood of 30,000 residents with 12 reported assaults has an assault rate of 40 per 100,000. That is 40 ÷ 1,000 × 100 = 4 points, and 4 × 12% = 0.48 points toward the final score. Repeating this for all nine categories and summing gives the neighborhood's score.

Safety Bands

Raw scores are hard to read at a glance, so every score is banded into five levels. Bands are fixed thresholds on the 0-100 scale:

  • Very Safe (≤ 15)
  • Safe (16-30)
  • Medium (31-45)
  • High (46-60)
  • Very High (> 60)

The same banding is used across the dashboard, neighborhood pages, and map, so a color always means the same thing anywhere on the site.

Data Sources

Crime counts come from the Toronto Police Service's Neighbourhood Crime Rates Open Data dataset on the Public Safety Data Portal, retrieved through its ArcGIS REST API (dataset endpoint). Neighborhood boundaries follow the police service's neighbourhood definitions, and population figures are the projections published with the dataset.

The current release covers calendar year 2025 (annual rates), and the source dataset was last updated 2026-02-02.

Contains information licensed under the Open Government Licence – Toronto. The source layer's own metadata additionally acknowledges the Open Government Licence – Ontario.

Known Limitations

  • Reported crime only. The score reflects crimes reported to and recorded by the police, not all crime that occurs. Underreporting varies by offence type and by area. The Toronto Police Service notes the data is preliminary, may be revised, and excludes occurrences deemed unfounded.
  • Resident-population denominator. Rates use residential population. Commercial and entertainment districts draw far larger daytime and visitor populations, so their per-100k rates look inflated relative to residential areas.
  • Small-count volatility. In small neighborhoods, a handful of incidents in a rare category (homicide, shooting) moves the per-100k rate sharply. Treat those categories with caution where counts are small.
  • Relative, not absolute. Scores compare Toronto neighborhoods with each other. A score of 30 here has no meaning in another city's scale, and the score is not a probability of victimization for any individual.
  • Single-year snapshot. The score uses one year of annual rates (2025); it is not smoothed across years. Historical rate trends are shown on each neighborhood page for context.
  • Nine categories only. Offences outside the nine tracked categories are not part of the score, and neighborhood safety also depends on factors crime data does not capture, such as lighting, traffic, and community resources.
  • Not advice. The score is informational only and should not be used as the sole factor in housing, investment, or any other decision. Always verify with official sources.

Questions or Corrections

Spotted an error or want to challenge a number? Contact us - corrections are made when an official source supports the change. The site's source code, including the score calculation script, is available on GitHub.