Safety Hazard Report - 3 Month Munich Pilot May-July 2026 DE · 2026-05-01 to 2026-08-01 · generated 2026-08-26 07:28 UTC

How much cycling this covers

Riders
121
55 km each
Rides
1,296
5.1 km each
Distance
6,618
kilometres
Time
419
hours in the saddle
Avg speed
15.8
km/h

Hazards detected

1,535 verified hazards · 23.2 per 100 km · 414 rider-triggered

When hazards happen

Hazards by hour of day

Verified hazards only

26019513065000: 4 verified hazards0001: 0 verified hazards02: 0 verified hazards0203: 4 verified hazards04: 0 verified hazards0405: 0 verified hazards06: 0 verified hazards0607: 19 verified hazards08: 94 verified hazards0809: 120 verified hazards10: 260 verified hazards1011: 108 verified hazards12: 99 verified hazards1213: 88 verified hazards14: 68 verified hazards1415: 59 verified hazards16: 102 verified hazards1617: 114 verified hazards18: 184 verified hazards1819: 133 verified hazards20: 219 verified hazards2021: 102 verified hazards22: 19 verified hazards2223: 7 verified hazards

By weekday

Verified hazards only

4003002001000Mon: 398 verified hazardsMonTue: 344 verified hazardsTueWed: 354 verified hazardsWedThu: 389 verified hazardsThuFri: 225 verified hazardsFriSat: 60 verified hazardsSatSun: 33 verified hazardsSun

By weather

Verified hazards only

Riding
Clear: 37.9%Cloudy: 44.2%Drizzle: 15.8%Rain: 2.1%38%44%16%2%6,618km
Hazards
Clear: 30.0%Cloudy: 47.4%Drizzle: 19.5%Rain: 3.1%30%47%20%3%1,535hazards
  • Clear
  • Cloudy
  • Drizzle
  • Rain

Hazards per 100 km, by rider

Riders over 20 km

051015051015202530405070+Hazards per 100 kmRiders

Hazards per 100 km, by condition

Riders over 20 km

00551010151520202525Time of day16.2Peakn=3713.4Off-peakn=44Day of week17.1Weekdayn=468.1Weekendn=33Where20.2Centren=359.3Peripheryn=42Gender16.6Malen=2121.2Femalen=14Rides to work19.4Dailyn=1915.9Weeklyn=16Self-rated skill17.885+n=1917.0<85n=17Feels cycling is safe15.760+n=1817.9<60n=18Median hazards per 100 km

Where and why hazards happen

Every verified hazard mapped, with the twelve worst junctions ranked.

Click a numbered hotspot to see its detailed analysis.

1,535 verified hazards. Density intensity is relative to the busiest point in this city, so colour is not comparable between cities. Basemap CARTO Positron, © OpenStreetMap contributors.

What this data has been used for

Two pieces of work built on the same near-miss record this report summarises: one street, and one city-wide maintenance problem.

1

Lindwurmstraße - what a protected lane is worth

Street-level safety analysis · June-July 2026

Munich planned to displace cyclists from the new protected lane on Lindwurmstraße onto the old pavement-level layout, to free a temporary bus lane during U-Bahn rail replacement. We used 124 individually video-verified near-misses plus the official accident record to quantify the trade.

After the lane - near-misses per 100 m
2.5protected stretch
7.3adjacent unprotected stretch
2.9×the gap the lane creates
Before the lane - accidents per 100 m
1.1same protected stretch
1.6same unprotected stretch
1.5×indistinguishable at these counts

The two rows are the argument. Same two adjacent mid-block stretches, same riders, same weeks; the only difference is the infrastructure. The official accident record, which predates the lane, shows them equally dangerous. After it, near-miss density differs threefold. The lane is the one demonstrated safety success on the street, from 124 video-verified near-misses and 30 recorded accidents.

Lindwurmstraße section map
The street split into sections
Lindwurmstraße near-miss heatmap
Near-miss density along the street

Recommendation: do not remove the protected lane; set a start date for the worst stretch - 58% of the street's near-misses and 53% of its accidents in 40% of its length, funded in principle but unscheduled; re-examine the programme south of the railway overpass, where an unplanned stretch out-scores a prioritised one 19 near-misses to 5 and 3 accidents to 0.

Full analysis →

2

Kerb management - finding rough kerbs

City-wide maintenance survey · Munich centre

There is a maintenance budget for lowering and repairing kerbs on cycle routes; the hard part is knowing which kerbs to spend it on, since most are never reported. We use the same ride data to identify them. Detections were filtered to the inner city, classified from the video, and ranked by how sharp the impact was, whether the rider was going straight, how many different riders hit the same spot, and whether a cycle route ends or crosses there.

100kerb locations mapped
570individual impacts
31hit by three or more riders
84on a named street

Scroll the clips; the map highlights each location. Or click a teal marker to jump to its clip.

Rider safety analysis

Three of the most frequent Munich riders, compared. Riders are anonymised and no routes or locations are shown; only how much each rode and what was confirmed.

Rider A58safety score
1,023km ridden
101rides
48hours
153verified hazards
15.0per 100 km
21km/h incl. stops

Component percentiles, higher is safer

  • Near-misses per km93
  • Alert rate per km72
  • Hard braking per km35
  • Jolts per minute26
  • Speed where traffic is densest12
Rider B67safety score
254km ridden
81rides
17hours
184verified hazards
72.5per 100 km
15km/h incl. stops

Component percentiles, higher is safer

  • Hard braking per km89
  • Near-misses per km70
  • Alert rate per km61
  • Jolts per minute61
  • Speed where traffic is densest50
Rider C91safety score
127km ridden
64rides
10hours
17verified hazards
13.4per 100 km
13km/h incl. stops

Component percentiles, higher is safer

  • Hard braking per km99
  • Near-misses per km94
  • Alert rate per km88
  • Speed where traffic is densest86
  • Jolts per minute82

How the safety score is computed

Five things are measured on every ride, each ranked against all the other rides in the group rather than against an absolute target, then combined with fixed weights: near-misses per km 0.40, speed where traffic is densest 0.20, alert rate per km 0.15, hard braking per km 0.15, jolts per minute 0.10. The result is flipped so that higher means safer, and each rider’s rides are averaged weighted by distance. The near-miss rate is corrected for how much of a ride was actually reviewed, so a partly labelled ride still compares fairly with a fully labelled one.

Validation

Two independent checks on whether the near-misses our riders record correspond to anything real: the official accident record, and a subjective rating of the same streets made by local cyclists. Neither was produced with this data in mind.

How this compares with recorded accidents

German Unfallatlas (Destatis) cyclist injury collisions for 2024, compared with the 1,535 near-misses our riders recorded here in 2026. Different years, different definitions.

Near-misses are the preventive measure: they happen before anyone is injured, and they are available within days, so a street change can be assessed in the season it is made. The accident record is the outcome we are trying to avoid, and it arrives years after the fact.

Accidents 2024
2,726
cyclist injuries
Rank correlation
+0.33
where we rode, 250 m cells
Hotspot vs typical
1.6×
accidents within 200 m

Near-misses against accidents, cell by cell

003861682411321 hazards, 0 accidents, 130 cells1 hazards, 1 accidents, 49 cells1 hazards, 2 accidents, 31 cells1 hazards, 3 accidents, 25 cells1 hazards, 4 accidents, 4 cells1 hazards, 5 accidents, 7 cells1 hazards, 6 accidents, 3 cells1 hazards, 7 accidents, 2 cells2 hazards, 0 accidents, 42 cells2 hazards, 1 accidents, 29 cells2 hazards, 2 accidents, 19 cells2 hazards, 3 accidents, 14 cells2 hazards, 4 accidents, 5 cells2 hazards, 5 accidents, 3 cells2 hazards, 6 accidents, 2 cells2 hazards, 7 accidents, 1 cell3 hazards, 0 accidents, 16 cells3 hazards, 1 accidents, 12 cells3 hazards, 2 accidents, 11 cells3 hazards, 3 accidents, 6 cells3 hazards, 4 accidents, 5 cells3 hazards, 5 accidents, 5 cells3 hazards, 7 accidents, 1 cell4 hazards, 0 accidents, 10 cells4 hazards, 1 accidents, 7 cells4 hazards, 2 accidents, 6 cells4 hazards, 3 accidents, 2 cells4 hazards, 4 accidents, 2 cells4 hazards, 5 accidents, 2 cells4 hazards, 6 accidents, 1 cell4 hazards, 9 accidents, 1 cell5 hazards, 0 accidents, 2 cells5 hazards, 1 accidents, 8 cells5 hazards, 2 accidents, 2 cells5 hazards, 4 accidents, 3 cells5 hazards, 6 accidents, 1 cell5 hazards, 9 accidents, 2 cells6 hazards, 0 accidents, 2 cells6 hazards, 1 accidents, 3 cells6 hazards, 3 accidents, 4 cells6 hazards, 4 accidents, 4 cells6 hazards, 5 accidents, 1 cell6 hazards, 7 accidents, 2 cells7 hazards, 0 accidents, 1 cell7 hazards, 1 accidents, 2 cells7 hazards, 2 accidents, 4 cells7 hazards, 4 accidents, 3 cells7 hazards, 5 accidents, 1 cell7 hazards, 8 accidents, 2 cells7 hazards, 10 accidents, 1 cell8 hazards, 0 accidents, 1 cell8 hazards, 1 accidents, 2 cells8 hazards, 3 accidents, 1 cell8 hazards, 10 accidents, 1 cell9 hazards, 0 accidents, 2 cells9 hazards, 1 accidents, 1 cell9 hazards, 2 accidents, 2 cells9 hazards, 4 accidents, 1 cell9 hazards, 6 accidents, 1 cell9 hazards, 9 accidents, 1 cell10 hazards, 0 accidents, 1 cell10 hazards, 1 accidents, 1 cell10 hazards, 2 accidents, 1 cell10 hazards, 4 accidents, 1 cell11 hazards, 0 accidents, 1 cell11 hazards, 2 accidents, 2 cells11 hazards, 11 accidents, 1 cell12 hazards, 0 accidents, 1 cell12 hazards, 1 accidents, 1 cell12 hazards, 4 accidents, 1 cell13 hazards, 3 accidents, 1 cell13 hazards, 5 accidents, 1 cell13 hazards, 7 accidents, 1 cell14 hazards, 4 accidents, 1 cell15 hazards, 1 accidents, 1 cell15 hazards, 2 accidents, 1 cell16 hazards, 7 accidents, 1 cell16 hazards, 8 accidents, 1 cell18 hazards, 3 accidents, 2 cells18 hazards, 4 accidents, 1 cell20 hazards, 4 accidents, 1 cell25 hazards, 6 accidents, 1 cell32 hazards, 11 accidents, 1 cellverified near-miss hazards in cellrecorded accidents 2024

Rank correlation is Spearman on 250 m cells, restricted to the 539 cells we actually rode through; a cell with no riding cannot produce a near-miss, so including all 1,853 cells measures our coverage rather than the relationship (it gives -0.06). n=4 construction junctions is far too few to test the split properly; treat that half as indicative.

How this compares with a subjective street rating

MunichWays, a Munich cycling initiative, rate the city's cycling network by how it feels to ride - comfortable (gemütlich), average (durchschnittlich), stressful (stressig), very stressful (sehr stressig). It is a human judgement, recorded street by street by the people who ride them, and made with no reference to this data.

Hazard rate by how the street feels

20.015.010.05.00.0comfortable: 3.8 hazards/kmaverage: 5.0 hazards/kmstressful: 9.9 hazards/kmvery stressful: 16.6 hazards/kmcomfortableaveragestressfulvery stressfulnear-miss hazards per km

Verified near-miss hazards per kilometre of rated street, by the rating MunichWays gave that street. Whiskers are 95% bootstrap intervals, resampled over streets. Rated length per level: 237.5, 634.8, 563.5 and 69.3 km.

The near-miss rate rises at every step of their scale, and the streets they call very stressful carry roughly four times the hazard rate per kilometre of the ones they call comfortable. Two methods that share no data, no definition and no instrument arrive at the same ranking of the same streets.