← Back to map

What Actually Drives the Score

Nominal weights don't say which inputs actually move the score: a metric that barely differs between districts moves nothing, whatever its weight. To measure realized influence, we fit a linear surrogate model to each score across the 28 districts and explain it with SHAP. Each bar is an input's average absolute SHAP value: how many points it typically pushes a district above or below the average, shown as a share of all inputs combined. Inputs are correlated (e.g. poverty, income, and chronic disease move together), so credit among related inputs is approximate.

Overall Living Quality Score
Building permits (higher = better)
7.4% · ±0.95 pts
Ped/bike crashes (higher = worse)
6.4% · ±0.83 pts
Unemployment (higher = worse)
5.5% · ±0.71 pts
For-sale listings (higher = worse)
5.1% · ±0.67 pts
Vacancy rate (higher = worse)
5% · ±0.65 pts
Chronic disease (higher = worse)
4.9% · ±0.64 pts
Schools (higher = better)
5% · ±0.64 pts
Natural hazard risk (higher = worse)
4.9% · ±0.63 pts
Bachelor's+ rate (higher = better)
4.9% · ±0.63 pts
Trails (higher = better)
4.8% · ±0.62 pts
Crime rate (higher = worse)
4.4% · ±0.57 pts
Groceries (higher = better)
4.3% · ±0.55 pts
Surrogate fit: leave-one-out R² = 0.929
Safety
Crime rate (higher = worse)
37.9% · ±6.32 pts
Natural hazard risk (higher = worse)
23.8% · ±3.97 pts
Ped/bike crashes (higher = worse)
20.7% · ±3.46 pts
Chronic disease (higher = worse)
17.5% · ±2.92 pts
Surrogate fit: leave-one-out R² = 0.965
Opportunity
Building permits (higher = better)
46.2% · ±8.11 pts
Unemployment (higher = worse)
20.4% · ±3.59 pts
For-sale listings (higher = worse)
17.4% · ±3.06 pts
Bachelor's+ rate (higher = better)
16% · ±2.81 pts
Surrogate fit: leave-one-out R² = 0.977
Amenities & Services
Schools (higher = better)
18.4% · ±2.74 pts
Healthcare (higher = better)
18.4% · ±2.74 pts
Groceries (higher = better)
17.6% · ±2.61 pts
Broadband (higher = better)
16.6% · ±2.47 pts
Restaurants/bars (higher = better)
15.6% · ±2.32 pts
Entertainment venues (higher = better)
13.4% · ±1.99 pts
Surrogate fit: leave-one-out R² = 0.983
Transportation
Trails (higher = better)
29.1% · ±3.37 pts
Traffic volume (higher = worse)
23% · ±2.65 pts
Transit stops (higher = better)
21.7% · ±2.51 pts
Commute (higher = better)
15% · ±1.73 pts
Walk/Bike Score (higher = better)
11.3% · ±1.3 pts
Surrogate fit: leave-one-out R² = 0.935
Economic Profile
Housing cost burden (higher = worse)
14.9% · ±2.41 pts
Income inequality (Gini) (higher = worse)
14.5% · ±2.34 pts
Vacancy rate (higher = worse)
14.3% · ±2.32 pts
Homeownership (higher = better)
13% · ±2.1 pts
Rent (higher = worse)
11.5% · ±1.86 pts
Household income (higher = better)
11.4% · ±1.84 pts
Home value (higher = worse)
11.1% · ±1.8 pts
Poverty rate (higher = worse)
9.3% · ±1.51 pts
Surrogate fit: leave-one-out R² = 0.992

Does the ranking depend on the weights?

The five components are weighted 20% each, which is a judgment call. We re-ranked the districts under 5,000 random alternative weightings (each weight usually between about 5% and 40%). The alternative rankings agree closely with the published one (average Spearman correlation 0.965; 95% of them at least 0.905). The top district stays #1 in 68% of them. A typical district's rank moves within a band of about 5 places. Dropping any one component entirely leaves the ranking at a correlation of 0.931 or higher.

Rank range for each district
DistrictPublished rankRange under other weights (90%)
Como Park (St. Paul)11–2
Summit Hill (St. Paul)21–3
Highland Park (St. Paul)32–5
Longfellow (Minneapolis)44–8
Macalester - Groveland (St. Paul)53–10
Calhoun Isle (Minneapolis)65–10
Saint Anthony Park (St. Paul)73–11
Northeast (Minneapolis)85–10
Hamline - Midway (St. Paul)95–10
Nokomis (Minneapolis)105–13
Southwest (Minneapolis)118–12
Union Park (St. Paul)127–20
West Seventh - Fort Road (St. Paul)1312–16
West Side (St. Paul)1412–18
North End (St. Paul)1514–18
Greater East Side (St. Paul)1612–23
Powderhorn (Minneapolis)1713–21
Battle Creek - Conway - Eastview - Highwood Hills (St. Paul)1814–23
Payne - Phalen (St. Paul)1917–21
Summit - University (St. Paul)1914–23
Frogtown (St. Paul)2117–22
Dayton's Bluff (St. Paul)2220–26
University (Minneapolis)2319–26
Near North (Minneapolis)2423–27
Camden (Minneapolis)2523–28
Central (Minneapolis)2520–26
Downtown (St. Paul)2718–27
Phillips (Minneapolis)2827–28

Does the market agree?

If the score captures things people value, housing prices should reflect them. Home values and rent feed the Economic Profile component, so this uses the other four components only. Across the 28 districts, a higher non-price score goes with higher home values (Spearman 0.734, p < 0.001 by permutation test). Part of that is income, because richer areas both pay more and score higher. Holding household income fixed, the link weakens to 0.373. Rent shows almost no relationship (Spearman 0.111, p = 0.57). The Opportunity component actually runs opposite to rent (-0.303). So the score lines up with what buyers pay, but with 28 districts it's a sanity check, not proof.

Correlation of each component with median home value: Safety 0.524 · Opportunity 0.401 · Amenities & Services 0.608 · Transportation 0.358