Urban Mobility Index
An ML experiment predicting walkability from bus-stop and intersection densities across 774 neighborhoods in nine cities - and an honest account of where it works (the cities it trained on) and where it doesn't (the ones it hasn't seen).
Approach
Walkscore is a great metric - when it exists. For neighborhoods Walkscore.com hasn't pre-computed, planners are stuck. We trained an ML model that predicts a walkability score from street network shape and transit density, so any neighborhood can have one.
Does It Travel?
Data Pipeline
Three inputs feed the model: road network screenshots from Google Maps (classified with Keras), bus stop locations from the Overpass API, and intersection node counts pulled from OpenStreetMap. We trained on six cities - Boulder, Ann Arbor, Chicago, Washington DC, New York, and San Francisco - and validated on three more: Madison, Seattle, and Tulsa.


- 01Road-network snapshots. Google Maps screenshots per neighborhood, decoded with a custom polygon reader and classified with Keras.
- 02Transit density. Bus stops from OpenStreetMap's Overpass API, counted per square kilometer and per 1,000 residents.
- 03Street connectivity. Intersection nodes extracted from OSM street networks, densified the same two ways.
- 04Ground truth. Walk Scores scraped for all 584 training neighborhoods; a linear regression maps the densities onto the score.
The Tool
What the Model Learned
The regression uses four predictors: bus stops and intersections, each per square kilometer and per 1,000 residents. On the neighborhoods it was fit on, those densities explain roughly 40% of the variation in Walk Score (R-squared 0.38 as originally reported; 0.42 when refit from the project's committed data) with a typical miss of about 17 points on the 0-100 scale. In plain terms: the model gets the broad strokes of a familiar city and misses the fine grain. The scatter above is the harder test - cities the model never trained on - and there the densities alone stop working. One supported detail from the committed data: bus-stop density carries more predictive signal on its own than intersection density does.
Separately, we ran an exploratory clustering pass on the same features - K-Means, Agglomerative, and Gaussian Mixture - to see whether neighborhoods group into recognizable urban types. Gaussian Mixture drew the most realistic boundaries.




Limitations & Next Steps
The training cities skew dense and coastal - and the held-out test shows what that costs: a model that explains 40% of walkability at home explains almost none of it in Madison, Seattle, or Tulsa. Bus stops and intersections are part of what makes a place walkable, not the recipe. To get serious, the next version needs more cities, more input variables (block size, street trees, sidewalk width), and a usable web frontend so a planner can paste an address and get a number back.