What the data shows
This is a per-capita infrastructure comparison, not a raw count leaderboard. A city with fewer total crossings can still rank high if it serves a smaller population well; a large metro can rank low even with thousands of crossings if provision does not keep pace with residents. Milano has 5,719 mapped crossings and Roma has 6,035 — but per 10 000 inhabitants, Milano provides roughly twice as much.
The headline pattern is the macro-area split. The 6 northern cities in this sample average 41 crossings per 10 000 inhabitants; the 6 southern cities average 11.8. More striking than the averages is the separation: the two groups do not overlap at all. The weakest northern city (Venezia, 26) still beats the strongest southern one (Bari, 18).
Could a 14-city sample produce this by chance?
This is the objection we took most seriously, because 14 cities is a small sample and formal tests can mislead at this size. So instead of a t-test we used an exact permutation argument, which needs no distributional assumptions. Under the null hypothesis — macro-area has nothing to do with crosswalk provision — every arrangement of the 14 cities across the ranking is equally likely. The number of ways to choose which 6 cities occupy the bottom 6 ranks is 3,003, and only one of those arrangements puts all southern cities there. That is a probability of 0.033% — well below any conventional significance threshold. The separation we observe is real, not sampling noise.
What the permutation argument does not fix is selection: these 14 cities were chosen for pipeline coverage, not drawn randomly from all 107 provincial capitals. The result is strong evidence about these cities and consistent with the well-documented north–south infrastructure divide, but scaling to the full set of capitals is the necessary next step before making national claims.
Ruling out city size
A natural alternative explanation: maybe big cities simply can't keep up — too much street network, too many residents. The data doesn't support it. The correlation between population and score across the sample is r = -0.07, indistinguishable from zero. The extremes make the point vividly: the best city (Bolzano, pop. 108,245) and the worst (Crotone, pop. 62,415) are both small. Roma and Napoli underperform, but as members of the southern-and-central pattern, not because of their size.
Big-city networks are genuinely harder to retrofit, and older street grids often prioritize vehicular throughput over pedestrian continuity. But the policy lesson from this sample is practical: crosswalk density tracks repeated, local execution — not city prestige, and not city scale.
What this measures — and what it doesn't
A painted crossing is provision, not safety. This story measures whether cities supply the most basic pedestrian infrastructure, not whether pedestrians survive using it. Crossing density is a plausible input to safety, and the macro-area gap matches long-standing regional differences in public investment, but connecting provision to injury outcomes needs accident data we have not yet joined. That is the follow-up story: ISTAT publishes road-accident microdata that can be matched to these same cities.
Data and methods
Sources. Pedestrian crossings were extracted from OpenStreetMap
(highway=crossing nodes within municipal boundaries) — map data © OpenStreetMap contributors, available
under the Open Database License (ODbL). Resident population per municipality comes from ISTAT
(2023). The score is crossings per 10 000 inhabitants.
Sample. 14 provincial capitals selected for pipeline coverage, spanning 6 northern, 2 central, and 6 southern cities (macro-areas follow the standard ISTAT Nord/Centro/Mezzogiorno classification). This is not a random sample of all provincial capitals; see the discussion of selection above.
Statistics. The north–south comparison uses group means and an exact
permutation probability for full rank separation (1 / C(14,
6) = 0.033%). The city-size check uses the Pearson
correlation between population and score (r = -0.07). All figures are
computed at build time from the published dataset — see notebooks/crosswalks_pipeline.py for the extraction pipeline.
Caveats. OpenStreetMap coverage itself can vary by region; systematically under-mapped southern cities would exaggerate the gap. We consider this the most important threat to validity and plan a completeness check against satellite imagery samples in the follow-up.
Data source: OpenStreetMap / ISTAT 2023 · © OpenStreetMap contributors (ODbL) · Last updated: 2026-02-27
