Our methodology

The map compares patterns—not personal danger.

StreetLens estimates where severity-adjusted police reports are unusually concentrated for the selected time—not the chance that any one person will be harmed. It corrects for window length, street length, setting, and measured pedestrian activity where available, then tests its thresholds on a later year.

Explore the map
Deliberate display threshold

Most reported activity stays uncoloured.

Low sensitivity begins colour only when the normalized signal clears a threshold learned from 2024 data. Medium and High reveal one or two thirds of the gap from that cutoff toward the model's city baseline without changing the underlying score or strongest-pattern cutoff. The shooting-and-homicide view is the explicit exception: every report-bearing corridor is visible. A report by itself is not a warning.

Below the trained elevated threshold

Weaker evidence

Medium and High sensitivity can lightly reveal some report-bearing signals between the city baseline and trained elevated cutoff. Low keeps them uncoloured.

Uncoloured never means guaranteed safety.
Clears the trained elevated threshold

Above expected

The severity- and exposure-adjusted rate is unusually high relative to comparable Toronto corridors.

This remains a relative data pattern, not an individual risk.
Upper end of the scale

Strongest pattern

The adjusted signal clears the stricter cutoff. The 2024 cutoff group was checked for group-level persistence in 2025.

It still does not predict what will happen next.
Street-corridor model

Evidence before colour.

117,582 deduplicated reported-occurrence records were matched to 56,812 City street segments. The public map requests only the compact vector tiles visible on screen.

01

Separate volume from harm

Deduplicate the police feeds, retain raw category counts, and apply bounded severity weights. Every selected category combination is calibrated as one distribution, rather than displayed as a growing union of independent hotspots.

02

Limit the geography

Anchor each anonymized point to a City intersection and conserve its spatial mass along connected streets within 90 metres.

03

Normalize and stabilize

Divide by days, selected hours, street length, and available activity exposure; then shrink sparse estimates toward the city baseline.

04

Persistence check on 2025

Learn thresholds from 2024 and check whether the same daytime, evening, and late-night corridor groups remain elevated in 2025. This is not a forecast or proof of real-world safety accuracy.

What the data means

Street signal, not street verdict.

Counts alone cannot measure individual risk. Busy stations, nightlife areas, and retail streets expose more people and generate more records. Recent City pedestrian counts therefore provide a conservative one-sided correction: high measured activity can lower a signal, while a missing or low count is never allowed to raise one.

Explicit location groups: Public spaces means streets, roads, open areas, parks, and parking lots; Residential means homes, apartments, hotels, group homes, shelters, and seniors' residences; Businesses means shops, offices, bars, restaurants, construction sites, and other commercial places; Transit means ttc, go, passenger rail, cargo rail, stations, stops, tracks, yards, and transit facilities; Institutions means schools, universities, medical facilities, detention centres, police, courts, religious, government, and non-profit places; Unknown means records whose published location is missing or explicitly marked unknown.

Area display: Elevated corridor estimates are projected into a continuous, kernel-smoothed context layer. The smoothing changes only the display—not the underlying score or the claimed incident location—and is generalized at citywide zooms so broad patterns remain legible.

Time is a denominator

Three months, six months, YTD, and one year are annualized onto the same per-day, per-hour scale. Longer windows are emphasized because they are more stable.

Partial exposure correction

9,232 corridors near recent pedestrian counts receive a capped activity denominator; the rest are explicitly not claimed as per-person rates.

Severity and setting

Severity is bounded at 5×, and indoor or institutional occurrences receive less street relevance. Published location groups remain filterable and visible.

Public read-only

Community submissions are private leads and never alter the map automatically.

Privacy

Conditions without surveillance.

We do not publish names, faces, identifying descriptions, or exact locations of vulnerable individuals.

  • No tracking or profiling of individuals
  • No unsupported allegations about a person or facility
  • No tools for coordinating confrontations or harassment
Limitations

An honest map admits uncertainty.

Police reports and pedestrian counts both have incomplete, uneven coverage. The model reduces known distortions but cannot remove reporting bias or create a complete exposure denominator.

  • An incident does not establish a pattern
  • No colour does not prove an area is safe
  • Colour is relative concentration, not a probability or causal claim
  • Fixed shortcuts use vector tiles; custom dates load only overlapping daily aggregate chunks
  • Three-month and shorter custom windows carry substantially more uncertainty
Early public-interest prototype

StreetLens is not a real-time safety service. It modifies and combines Toronto Police Service reported-occurrence data with the City’s Toronto Centreline and multimodal intersection counts. TPS describes its records as preliminary, approximate, and potentially incomplete. Results may be delayed or wrong; no place is guaranteed safe or unsafe. StreetLens is not endorsed by TPS or the City. Read the source terms and attributions.

Submit a correction