Carruthers & Ulfarsson (2003), “Urban Sprawl and the Cost of Public Services,” published in the Journal of Planning Education and Research, analyzed how urban development patterns are associated with per capita public service costs across 283 metropolitan counties in 14 fast-growing US states.
The study used 1982–1992 data drawn primarily from the USDA National Resources Inventory (NRI) for land-use variables and the Census of Governments for fiscal data. The key independent variable was “density,” defined as the sum of population and employment divided by urbanized land area.
The authors estimated a semilog OLS model with state fixed effects (13 dummies for the 14 states, Texas omitted) and White’s HC1 heteroscedasticity-consistent standard errors. The dependent variable was the natural log of per capita expenditure in each of 12 service categories, and observations with zero expenditure were dropped prior to the log transformation.
Key finding: Higher density was associated with lower per capita costs for most public services. The density coefficient was negative and statistically significant in categories such as total direct expenditure, roadways, police protection, and education.
This project replicates the original analysis using updated data from the same 14 fast-growing states: Arizona, California, Colorado, Florida, Georgia, Idaho, Nevada, New Mexico, North Carolina, Oregon, Tennessee, Texas, Utah, and Washington.
Key differences from the original
- Time period: 2012, 2017, and 2022 (three Census of Governments waves), compared to the original’s 1982–1992 data.
- Data sources: Census Bureau data throughout — American Community Survey (ACS), County Business Patterns (CBP), Census of Governments finance and organization files, and CBSA delineation files — rather than the USDA NRI used in the original.
- Sample: 394 metropolitan counties (defined using 2023 CBSA delineations; 393 in 2012/2017, 362 in 2022), yielding 1,148 county-year observations across the 3-year panel.
- Inflation adjustment: All dollar amounts are deflated to real 2022 dollars using CPI-U annual averages, allowing valid comparison across the three panel years.
- Methodology upgrade: A 6-specification robustness ladder replaces the single original specification, adding county fixed effects, clustered standard errors, demographic controls, and endogeneity tests.
Regression equation
Where:
- ln(eit) — natural log of per capita expenditure in category for county i in year t
- α — intercept
- λj — fixed effects (state or county, depending on specification)
- τt — year fixed effects (2012 omitted as reference)
- Xit — vector of independent variables
- εit — error term
Independent variables
| Variable | Definition | Specs |
|---|---|---|
density |
(population + employment) / urban_land_acres | All (1–6) |
urban_land_acres |
Urbanized land area in acres (time-varying: 2010 or 2020 UA vintage) | All (1–6) |
property_value_per_acre |
Owner-occupied housing value / urban_land_acres (real 2022$). Omits commercial, industrial, and rental property values. | All (1–6) |
per_capita_municipal_govts |
Municipal governments per 1,000 residents | All (1–6) |
per_capita_special_districts |
Special districts per 1,000 residents | All (1–6) |
central_city |
1 if county contains a CBSA principal city, 0 otherwise | All (1–6) |
per_capita_local_tax_revenue |
Local tax revenue per capita (real 2022$) | 1–4, 6 |
per_capita_intergov_revenue |
Intergovernmental revenue per capita (real 2022$) | 1–4, 6 |
poverty_rate |
Share of population below the poverty line | 3–6 |
pct_under_18 |
Share of population under 18 years of age | 3–6 |
pct_65_plus |
Share of population aged 65 and over | 3–6 |
Interpreting the coefficients
Rather than reporting a single regression, we estimate six progressively different specifications for each of the 12 expenditure categories (72 regressions total). This “spec ladder” approach reveals how sensitive the density–spending relationship is to modeling choices and helps distinguish robust findings from specification-dependent artifacts.
Spec 1 — Baseline (Original Paper Match)
Fixed effects: State FE (13 dummies, TX omitted) + Year FE
Standard errors: White’s HC1 heteroscedasticity-consistent
Dependent variable: ln(per capita expenditure), dropping zeros
Controls: 6 base variables + 2 revenue variables
Purpose: Direct comparison with the original 2003 findings. This is the specification closest to what Carruthers & Ulfarsson estimated, applied to our updated data.
Spec 2 — County Fixed Effects
What changed: Replace state FE with county FE (up to 394 dummies); switch from HC1 to clustered standard errors (by county).
Fixed effects: County FE + Year FE
Standard errors: Clustered by county
Why it matters: County FE absorb all time-invariant county characteristics (geography, institutional history, political culture). Identification comes solely from within-county variation over time. If the density effect disappears under county FE, the original cross-sectional finding was likely driven by omitted county-level confounders rather than density itself.
How to interpret differences from Spec 1: A large change signals that persistent county traits were confounding the state-FE estimate. Clustered SEs also account for serial correlation within counties.
Spec 3 — Need/Demand Controls
What changed:
Add poverty_rate, pct_under_18, and
pct_65_plus as additional controls.
Fixed effects: County FE + Year FE
Standard errors: Clustered by county
Why it matters: Separates cost pressure from service demand. Counties with higher poverty rates or larger elderly/youth populations may spend more regardless of their density. Without these controls, the density coefficient may absorb demographic demand effects.
How to interpret differences from Spec 2: If the density coefficient changes substantially, it suggests that demographic composition was partially confounding the density–spending relationship.
Spec 4 — Zero-Inclusive (log1p)
What changed: Use ln(1 + y) instead of ln(y) as the dependent variable. All observations are retained, including those with zero expenditure.
Fixed effects: County FE + Year FE
Standard errors: Clustered by county
Why it matters: Avoids sample selection bias from dropping zero-expenditure observations. This is particularly important for categories like libraries, trash collection, and other transportation, where many counties report zero spending. Dropping these counties changes the composition of the estimation sample and may bias results.
How to interpret differences from Spec 3: Large differences indicate that the zero-expenditure counties are systematically different, and the ln(y) results may reflect sample selection rather than a true density–spending relationship.
Spec 5 — Revenue Exclusion
What changed:
Drop per_capita_local_tax_revenue and
per_capita_intergov_revenue from the model.
Fixed effects: County FE + Year FE
Standard errors: Clustered by county
Why it matters: Revenue and expenditure are jointly determined through the budget identity: a local government that collects more revenue will almost mechanically spend more. Including revenue as a right-hand-side control creates endogeneity bias and may absorb the very variation in spending we are trying to explain. This specification tests how much the density estimate depends on conditioning on revenue.
How to interpret differences from Spec 3: If the density coefficient changes substantially when revenue is excluded, it suggests the Spec 3 estimate is partly driven by the budget identity channel rather than a direct density–cost relationship.
Spec 6 — State FE with Modern Controls
What changed:
Revert to state FE (like Spec 1) but include the demographic
controls (poverty_rate, pct_under_18,
pct_65_plus) added in Spec 3. HC1 standard errors.
Fixed effects: State FE + Year FE
Standard errors: HC1
Why it matters: Shows what the original paper’s specification would look like with additional demographic controls. By comparing Spec 6 to Spec 1 and to Spec 3, we can distinguish whether differences between the baseline and the county-FE model come from the change in fixed effects or from the addition of demographic controls.
How to interpret: If Spec 6 ≈ Spec 1, the demographic controls do not matter much under state FE. If Spec 6 ≈ Spec 3, the FE level does not matter much once demographics are included. If Spec 6 differs from both, both channels matter.
Summary comparison
| Spec | FE | SE | DV | Revenue | Demographics |
|---|---|---|---|---|---|
| 1 | State | HC1 | ln(y) | Yes | No |
| 2 | County | Cluster | ln(y) | Yes | No |
| 3 | County | Cluster | ln(y) | Yes | Yes |
| 4 | County | Cluster | ln(1+y) | Yes | Yes |
| 5 | County | Cluster | ln(y) | No | Yes |
| 6 | State | HC1 | ln(y) | Yes | Yes |
Why deflation is necessary
Our panel spans three Census of Governments waves: 2012, 2017, and 2022. Over this period, the general price level rose substantially — CPI-U increased by approximately 29% from 2012 to 2022 and by 21% from 2017 to 2022 alone. Comparing nominal dollar amounts across these years would confound real changes in service costs with general inflation, biasing year fixed effects and any variable correlated with the price level.
Method
We use CPI-U annual averages from the Bureau of Labor Statistics (series CUUR0000SA0) to deflate all dollar-denominated variables to real 2022 dollars. The deflator for each year is:
| Year | CPI-U Annual Average | Deflator (2022 base) |
|---|---|---|
| 2012 | 229.594 | 296.171 / 229.594 = 1.2900 |
| 2017 | 245.120 | 296.171 / 245.120 = 1.2083 |
| 2022 | 296.171 | 1.0000 (base year) |
Variables deflated
All expenditure amounts (12 categories), local tax revenue, intergovernmental revenue, and aggregate property values are multiplied by the deflator before per-capita computation. This ensures that per-capita figures are in constant 2022 dollars and comparable across years.
The problem
An earlier implementation of this replication used 2020 Urban Area data for all panel years, making urban land area time-invariant. Under county fixed effects (Specs 2–5), a time-invariant variable is perfectly absorbed by the county dummy and contributes nothing to identification. This also meant that the density variable (population + employment divided by urban land area) varied over time only through changes in population and employment, not through changes in the built environment.
The original paper used USDA NRI data, which did vary over time (1982 vs. 1992 observations of developed land).
The solution
We assign each panel year to the nearest Census Urban Area vintage:
| Panel Year | UA Vintage Used | Source File |
|---|---|---|
| 2012 | 2010 | UA-County Relationship File (2010 Census) |
| 2017 | 2010 | UA-County Relationship File (2010 Census) |
| 2022 | 2020 | UA-County Relationship File (2020 Census) |
This gives meaningful within-county variation in urban land area for counties observed in both 2010 and 2020 UA vintages. In turn, the density variable varies over time through both numerator changes (population and employment) and denominator changes (urban land area), as in the original study.
| Variable | Source | API / File Details |
|---|---|---|
| Population | ACS 5-Year Estimates | API variable B01003_001E |
| Aggregate property value | ACS 5-Year Estimates | API variable B25082_001E |
| Poverty rate | ACS 5-Year Estimates | API variables B17001_001E, B17001_002E |
| Age composition (under 18) | ACS 5-Year Estimates | API variable B09001_001E |
| Age composition (65+) | ACS 5-Year Estimates | API variables B01001_020E–B01001_025E, B01001_044E–B01001_049E |
| Employment | County Business Patterns | API variable EMP |
| Expenditures (12 categories) | Census of Governments Finance | Bulk fixed-width Individual Unit files (2012, 2017, 2022) |
| Revenue (tax + intergovernmental) | Census of Governments Finance | Same Individual Unit files |
| Government counts (municipal, special districts) | Census of Governments Organization | Excel files (Govt_Units_YYYY_Final.xlsx) |
| Urban land area | Census Urban Area–County Relationship | 2010 + 2020 UA-County files |
| Total land area | Census Gazetteer | 2010 + 2020 national county files |
| Metropolitan classification | CBSA Delineation | OMB CBSA delineation Excel file |
All Census API calls use the Census Bureau’s public REST API for ACS 5-Year and CBP data. Census of Governments files are downloaded as bulk fixed-width or Excel archives directly from the Census Bureau website.
| Issue | Details |
|---|---|
| Property values | ACS reports self-reported market value of owner-occupied housing, whereas the original paper used assessed property values. These measures may differ systematically, especially in states with assessment caps or freezes. |
| Employment measure | County Business Patterns reports employment for a single reference week in March, whereas the original study likely used annual average employment. Seasonal variation may introduce noise. |
| Urban land definition | Census Urban Area boundaries are based on population density thresholds, while the original used USDA NRI satellite-based developed land classification. The two methods may classify land differently, especially at the urban fringe. |
| Short panel | T=3 is still a short panel. County fixed effects identification relies on limited within-county variation across just three time periods (2012, 2017, 2022). This constrains statistical power, especially for slow-moving variables like density. |
| Revenue endogeneity | Per capita local tax revenue and intergovernmental revenue are jointly determined with expenditure through the local government budget identity. Spec 5 addresses this by excluding revenue controls, but this is not a full solution (e.g., instrumental variables are not employed). |
| No causal identification | All results are conditional correlations, not causal estimates. There is no instrumental variable, regression discontinuity, or difference-in-differences design that would warrant causal interpretation. Language throughout uses “associated with” rather than “causes” or “reduces.” |
| Static metro definitions | Counties classified as metropolitan using 2023 CBSA delineations, applied uniformly to all panel years. Counties that gained or lost metropolitan status between 2012 and 2022 are not reclassified. Results are conditional on this static sample definition. |
| Sample differences | The county sample uses 2023 CBSA delineations and yields approximately 394 metropolitan counties, compared to the original study’s 283 counties under 1990s metropolitan area definitions. Direct coefficient comparisons should be interpreted with this sample difference in mind. |
To assess the sensitivity of our main findings, we re-estimate two key specifications (Spec 1: state FE + HC1, and Spec 3: county FE + clustered SEs + demographic controls) on four expenditure categories that are central to the sprawl–cost debate: Total Direct expenditure, Roadways, Sewerage, and Police Protection. Each check modifies the sample or a key variable to test whether the density coefficient is robust to the change.
The four checks
| Check | Description | Purpose |
|---|---|---|
| Balanced panel | Restrict the sample to counties present in all three panel years (2012, 2017, 2022). | Ensures that composition changes in the unbalanced panel do not drive results. |
| Minimum urban land threshold | Exclude counties with fewer than 640 urban acres (1 square mile). | Removes counties whose density measure may be noisy due to very small urban footprints. |
| Winsorized density | Winsorize the density variable at the 1st and 99th percentiles. | Tests whether extreme density outliers are driving the estimated relationship. |
| Static UA vintage | Use 2020 Urban Area boundaries for all panel years, making urban land area time-invariant. | Tests whether results depend on the time-varying land area assignment described in Section 6. |
Interpretation
Each check produces 8 regressions (4 categories × 2 specs). If the density coefficient retains a similar sign, magnitude, and significance level across checks, the finding is considered robust. If a check substantially alters the coefficient, it signals sensitivity to that particular modeling choice and warrants further investigation.
Full robustness results are available in the dashboard robustness section, which provides an interactive table with coefficient estimates, standard errors, and p-values for each check.