Methodology
This atlas exists to give an honest, neighborhood-level picture of Des Moines — one that helps residents, renters, buyers, and neighbors understand a place without flattening it into a single “good” or “bad” score. Every choice below is made in service of that goal: describe each neighborhood on its own terms, surface trade-offs rather than hide them, and avoid methods that quietly reproduce the patterns of redlining.
How neighborhoods are defined
The city’s neighborhood boundary file has 51 polygons. 46 of them are mapped here. The other five are “Shared” slivers where two neighborhood associations overlap (for example Shared Beaverdale / Drake). They hold a handful of parcels and no qualifying home sales, so they are not meaningful places on their own and are left off rather than shown with thin or misleading numbers.
Parcels and amenities are assigned to a neighborhood by location, not by name. Each point or parcel is placed inside the neighborhood polygon that geometrically contains it (a spatial “within” test), rather than matched on a text label. Name-matching breaks down when a neighborhood spans multiple zones or when source records spell things inconsistently. Home sales, which have no coordinates, inherit the same location-based assignment through a parcel crosswalk.
Data sources and how fresh they are
| Topic | Source | Refreshed |
|---|---|---|
| Home sales | Polk County Assessor, residential sales exports | Monthly, automatically (rolling five-year window) |
| Parcels, assessed values, year built | Polk County Assessor (AllPolk) | Yearly, after each assessment |
| Population, race & ethnicity, poverty | U.S. Census Bureau, ACS 5-year 2019–2023 (B01003, B03002, C17002) | Yearly, when the Census releases a new 5-year file |
| Tenure, rent, rent burden, income | U.S. Census Bureau, ACS 5-year 2019–2023 (B25003, B25064, B25070, B19001) | Yearly |
| Shops, food & nightlife, culture | OpenStreetMap contributors, via the Overpass API | Yearly |
The date the data was last rebuilt is shown at the top of the map. All sources are public.
What each lens shows
Each lens on the map describes one dimension of a neighborhood. They are meant to be read side by side, not added together. Map colors split the neighborhoods into five groups of roughly equal size, so each shade holds about a fifth of them; the legend lists the actual range in each group.
Homes
Home value — the median assessed value of residential parcels, from Polk County Assessor records. This is what the assessor values homes at, which tracks but is not identical to sale prices.
Sale price — the median price of arm’s-length residential sales over the last five years. Because it counts only homes that sold, neighborhoods with few sales rest on a smaller, noisier sample; those are flagged on the profile.
Renters — the share of occupied homes that are rented rather than owned.
Rent — typical monthly gross rent (rent plus utilities). The Census publishes a median for each block group; we average those, weighted by the number of renter households. Medians cannot be combined exactly, so treat this as approximate.
Rent burden — the share of renter households paying 30% or more of their income on rent, the standard federal measure of housing cost burden. It is not shown where a neighborhood has fewer than 50 renter households.
On the profile, homes sold in five years is the number of non-condo sales divided by the number of homes. It is hidden where the home count is under 100 or where the parcel data undercounts homes (condo-heavy areas such as Downtown), because the result there would be meaningless.
What’s nearby
All four nearby measures count places inside the neighborhood plus a quarter-mile walk around its edges (about five minutes on foot), because people use the café across the street whether or not it sits inside their neighborhood’s boundary.
Walkable places — shops, restaurants, cafés, bars and cultural venues per square mile. Higher means more everyday destinations packed into walking distance; lower means a more spread-out, car-oriented area.
Culture — museums, galleries, theaters and arts centers.
Food & nightlife — restaurants, cafés, bars, pubs, nightclubs and cinemas.
Shops — shops of every kind, from groceries to specialty stores.
These are shown as plain counts rather than scores. A count of zero means no such place is mapped within the walk zone. It does not mean the neighborhood scores badly against the others.
People
Income — median household income. Rather than averaging block-group medians, we add up households in each of the Census’s sixteen income brackets across the neighborhood and find the middle household, interpolating within its bracket.
Under $35k — the share of households earning under $35,000 a year.
Poverty — the share of residents below the federal poverty line.
Racial diversity — a Simpson diversity index, explained below.
Home-value mix — how varied home values are within the neighborhood: the coefficient of variation of assessed values, expressed as a 0–100 percentile relative to other neighborhoods. A high number means modest and high-value homes sit side by side. This measures the housing stock, not household incomes. For incomes, use the Income and Under $35k lenses.
How the Census figures are fitted to neighborhoods
Census data comes in block groups, whose edges do not follow neighborhood lines. We split each block group’s counts across its 2020 census blocks in proportion to where people actually live, then add the blocks up into neighborhoods. This avoids assigning population to parks and industrial land the way a simple area split would. Rates are always recomputed from these summed counts, never averaged.
How the racial diversity score works
The Simpson diversity index is the probability that two people drawn at random from a neighborhood belong to different groups. With the eight mutually exclusive groups in table B03002, the index has a theoretical maximum of 0.875, reached when a neighborhood is split evenly across all eight groups.
We rescale each neighborhood’s index against that 0.875 ceiling, not against the other neighborhoods. The score therefore reflects a neighborhood’s absolute mixing relative to what’s possible, rather than its rank within Des Moines. A neighborhood doesn’t look more or less diverse simply because of how the rest of the city looks.
What this atlas deliberately does not do
We do not combine these measures into a single composite “neighborhood score,” and we do not rank neighborhoods against one another.
Composite scores feel convenient, but they smuggle in a value judgment about what counts as “good” — and the answer is rarely the same for everyone. High assessed values read as desirable to a seller and as a barrier to a first-time buyer or a renter; the same number points two directions at once. Rankings, layered on top, tend to track income and reproduce the geography of historical disinvestment. Instead, each profile shows where a neighborhood sits among all the others on a simple dot strip, next to the typical (median) neighborhood, and leaves the weighing to you. The table of every neighborhood can be sorted by any single column, which is your choice to make.
Limitations and honesty notes
- Assessed-value change over time is not shown yet. A trustworthy trend needs dated parcel extracts from several reassessment years joined parcel-to-parcel. The change visible in a single combined extract is largely a rollback artifact, not real revaluation, so we omit it rather than mislead. The sale-price trend on each profile uses actual sales and is not affected.
- ACS figures are estimates with margins of error, and those margins widen for small populations. Neighborhoods with fewer than 1,000 residents are flagged on their profile; treat small differences between neighborhoods as noise.
- OpenStreetMap is not exhaustive. Amenity counts reflect what has been mapped, which is very good in dense areas and incomplete at the edges.
- Everything here is a snapshot. Sales refresh monthly; the other sources refresh roughly once a year.
Technical notes
Spatial work is done in a projected coordinate system suited to central Iowa (EPSG:3422) and reprojected to EPSG:4326 for web display. The pipeline is built in R (sf, tidycensus, osmdata). It writes plain data files (GeoJSON, JSON and CSV) that the map page reads directly; the map uses Leaflet over an Esri light-gray basemap, and the site is published with Quarto. Sales are refreshed automatically on the first of each month. The full data table can be downloaded as CSV.
This methodology is updated as new data is added and as the measures evolve. Questions or corrections are welcome — get in touch.