For those of us that are dedicated urbanists, it is something of an article of faith that density is good. Is it good? How do you measure ‘good’, anyways?
One way to measure ‘good’ is to see if people want it. Are people moving to cities? Are denser areas growing as fast as less dense areas? This is a widely discussed topic among the urbanist blog-o-sphere, from William Frey’s updates at Brookings to Joe Cortright’s coverage at CityLab and City Observatory. But what those analyses lack is an assessment at a fine geographic level. Phoenix is a massive city covering 1300 square km; Houston is even bigger, almost the size of Hennepin County. Counting people living in the ‘suburbs’ of Phoenix or Houston as city-dwellers just because they live inside the county-sized city limits does not make for effective comparisons with smaller Eastern cities like Boston or Minneapolis.
Fortunately, we do have mechanisms for comparing smaller geographies that are independent of city borders. My preferred method is the zip code. The US Census Bureau does not release comprehensive zip code population estimates every year, the way they do for states, counties, and cities. But the American Community Survey does have estimates for 2016. By comparing 2016 and the 2010 census, we can get an idea of how each zip code in the US has been growing over the past 6 years. Grouping these zip codes by density, we can get an idea of the relationship between density and growth.

Population growth rate against zip code population density
This is a graph of population growth against zip code density, with zip codes divided into bins of about 200 people per square km. That means, the leftmost blue ‘x’ is the growth rate for all zip codes in the US between 0 and 200 people per square km. This rate of roughly 1.5% is the overall growth rate of rural america. The next blue ‘x’ to the right is all the zip codes between roughly 200 and 400 people per square km. This 4.8% growth rate represents small towns and the farthest exurbs. The red line is the population-weighted average of groups of five adjacent bins; it helps to smooth out the graph and see trends through the noise.
You may notice that the graph cuts off at 20,000 people per square km. That is because only New York City has zip codes above that density. If you want to see how fast Manhattan or Brooklyn is growing, you can just look on Wikipedia.
For density numbers comparisons, Elk River has a density of 200 people per square km, Lakeville is 570, and Roseville is 940. The densest part of the Twin Cities is zip code 55404 covering Eliot Park and Ventura Village, with about 6,000 people per square km. Uptown is a little over 4,500 people per square km; while Downtown Minneapolis plus North Loop is a little under 4,000. Most of Minneapolis and St. Paul are over 2,000 people per square km, as are the densest suburbs: Richfield, Columbia Heights, and Robbinsdale.
Whew, that’s a lot of numbers! I wanted to provide some local context for the numbers on the graph. In general, following the red line, we can say that suburban population growth is highest around 500 people per square km; specifically, the exurban edges of rapidly growing cities in the Sun Belt. Here is the same graph as above, but on a logarithmic scale so we can see the lower density parts more clearly.

Population growth against population density on a log scale
Growth generally decreases with density until around 7,000 people per square km, whereupon growth picks up again. Between 7,500 and 10,000 people per square km population growth is clearly higher than it is in any grouping that might be called the suburbs; the peak around 15,000 people per square km looks to be even higher.
One last chart will widen the size of the bins so that each bin is approximately 1000 units wide. Thus, the leftmost bin will have all zip codes between 0 and 1000 people per square km, the next one 1000 to 2000, etc. This helps smooth out the curves even more so we can make broader comparisons. Following the red line, we see that at high density, population growth is clearly higher than growth at lower densities.

Population growth against zip code population density with larger bins
The 6-year average growth rate for the 1,000-2,000 people per square km band is 3.67%. Meanwhile, growth for the 8,000-10,000 band is 4.41 %; and for the 12,000-16,000 band is 4.50 %.
The population density range of 1,000-2,000 is about as suburban as you can get; despite this, the majority of fast growing cities like Nashville, Austin, and Raleigh are in this density bracket. Far more people live in this population bracket than at higher levels; 58 million people live between 1,000 and 2,000 people per square km, while less than 8 million live above 10,000 people per square km. So the fastest magnitude of growth is occurring in suburban density; suburbs are adding more people than cities are. But, the density brackets with the highest growth proportional to current population in the US are all more dense than anywhere in the Twin Cities! These dense regions are strictly limited in geographical distribution: Seattle, Miami, DC, Boston and its suburbs Cambridge and Somerville, Los Angeles, San Francisco, Philadelphia, Chicago, and New York and its region. Only in Boston and New York do these fast growing, highly dense areas extend outside the limits of the main city.
The conclusions are these:
- The densest zip codes are growing faster than any density-based slice of the suburbs.
- The fast growing, dense zip codes are limited to only 9 large cities; and none of those cities is Minneapolis
There is no statistical evidence that the kind of density that exists in the Twin Cities is very attractive; growth rates at Minneapolis density are lower nationwide than growth rates at exurban density. However, the density you might find in the North Side of Chicago or Boston’s Back Bay is attractive in the sense that these regions are growing faster than any other parts of the country. This is also the sort of density that starts to make cars not workable due to parking issues; its no coincidence that population densities above 10,000 people per square km are limited to only those cities with well developed rail transit (DC, Boston, SF, Philly, Chicago, and NY; Los Angeles being the exception, with high density but limited rail transit).
To answer the question in the title: Yes, cities have been growing faster than suburbs over the past 6 years; but only the densest parts of the densest cities.
Wow, cool charts! One takeaway for me is that the “dense parts” of the Twin Cities are still not dense compared to actual Eastern or West Coast cities (which Minneapolis is not). There is a lot of room to grow and develop more density in MSP.
This is good work, but help me understand where you disagree with the scholarly consensus that you allude to in the second paragraph.
I feel as though there’s been a lot of talk about a “donut” in growth for a while now, with exurbs and city cores growing the most in percentage terms. That’s been replicated at the national scale, where growth has been observed to be strongest in low density sunbelt exurbs and dense coastal cores. Am I wrong that your numbers seem to support those conclusions?
Of course, the other part of the story is how these changes are occurring in time. Exurbs may still be the fastest growing areas in percentage terms, but that’s been true for decades now, even as that fringe has pushed outward. But the revival of core areas, where density either already exists or is most easily supported because it used to exist, is a legitimate story because it is a far newer trend.
I feel as though even good pieces about these demographic trends fall into the trap of taking sides against one or another imagined narratives. I think you’ve done a pretty good job of hewing to the data itself, but there’s a much larger picture than just what the most recent data set shows.
When people are saying, growth is going back to the cities, I’m saying that this is true for only a select few, very dense cities. Instead of exurbs and city core growing, it should be exurbs and areas above ~7000 people / km^2 are growing.
This means that Boston’s city core also encompasses some dense nearby suburbs; Chicago or Philadelphia can lose population even while its core is growing because so much of these cities are at lower density; and a city like Cleveland or Phoenix simply has no core, since none of it is dense enough.
that is a really good explanation, thank you
Cool, but I think zip codes are problematic since there is no real constancy in them.
Boston was put up as an example but look at zip codes like 02199, it has a population density of ~20,000 per square mile but it is only 0.06 square miles in size with a population of ~1000, its basically a zip code for 1 or 2 large apartment buildings.
While 55404 covers 1.77 square miles and has 25,000 people. I would imagine you could cut out a 0.06 chunk with over 1000 people in it.
So I guess my point is, just imagine if cedar riverside had its own zip code? that’s basically what you see in some of these east coast cities.
I meant to say consistency not constancy, sorry about the typo
I did not mention this in the post to keep it from getting too long, but I have recognized that problem! When I gathered the zip code data for research I am doing, to make it more consistent across the country, I wrote a script that automatically groups zip codes that are close to each other together if they are less than a certain area.
For example, Nicollet Mall has its own zip code (55402), but since it is too small, it is automatically lumped with the densest adjacent zipcode (55401, which is North Loop and other bits of downtown).
Zip codes still have their problems. California in particular tends to put a bunch of dense city along with nearby empty hills into the same zip code. But overall I think that this works out well enough.
I wonder if the data would look different if census tracts, block groups, or blocks were used instead of zip codes? These are generally broken down by the number of people living in them rather than postal delivery routes. In small to medium cities, the zip code doesn’t correspond to neighborhoods as well as it does in larger metros. The more granular data might better capture trends in the non-megalopolis areas you mentioned.
Cedar-Riverside does have its own zip code (55454), and the Riverside Plaza complex together with the adjacent Cedars public housing complex contains perhaps 1/2 to 5/8 of Cedar-Riveride’s population. I’d have to check the last census and other sources for a more accurate estimate.
Prior to the creation of the 55454 zip code, 55404 included most of Cedar-Riverside.
What is the standard deviation for each data point? Is growth statistically different with density as the independent variable?
This. This please. Looking at the chart title “Population growth against population density on a log scale” the only sure thing that I can see is that as population density increases, the variability of growth also increases.
Could we please see the underlying data? Or have someone do some sort of statistical analysis, I’m skeptical that there is a significant trend in the data given how variable it becomes.
Hi there guys, I was on vacation, so sorry I didn’t respond.
So the concept of standard deviation should not really apply here. The 2010 census is a 100% count; there is (theoretically) no variation in it, because every person is counted. It is not a random sample, it is a full population.
Now the 2016 ACS is a population estimate derived from a random sample. However, I was using the ACS population figure as if it were another census; that is, assuming that it was a 100% count. This may not be particularly valid, but it would be if wrote this article in 4 years time using 2020 Census data.
To address the issue of variability in the density ranges between ~10,000 and ~20,000, I include the last graph, which uses wide bins to show that growth really is pretty high in the upper part of the graph. For another way to put it, here are some hard figures:
Between 1000 and 2000 ppl/km^2, growth is 3.71%
Between 8000 and 20,000, growth is 3.87%.
Using the assumption of 100% count, there is no margin of error or statistical significance, so growth _is_ higher at higher densities. I suppose we’ll see in four years whether this remains true.
Lastly, the data source is American Factfinder: https://factfinder.census.gov/faces/nav/jsf/pages/index.xhtml. I download datasets with appropriate information, and parse them out using Python.