city of chicago

causal impact analysis of short-term rental prohibitions on housing affordability

00

City of Chicago — hero

problem

Chicago's Shared Housing Ordinance allows buildings to opt out of short-term rentals, but the city had no empirical answer to a basic policy question: do those prohibitions actually affect long-term rental prices? The Department of Technology and Innovation knew where prohibitions existed and when they were adopted, but the staggered rollout across hundreds of census tracts — different neighborhoods, different years, different intensities — made simple before-and-after comparisons unreliable. Without a credible causal estimate, the policy debate around STR regulation was stuck on correlation and anecdote.

solution

A reproducible Python analysis pipeline that merges six public data sources at the census-tract level, builds a monthly panel of rental prices and prohibition status, and estimates the causal effect of STR prohibition adoption using the Callaway–Sant'Anna (2020) staggered difference-in-differences estimator. The pipeline produces event-study plots, robustness checks across comparison groups, treatment thresholds, and matching specifications, subgroup heterogeneity analyses, and tract-cluster bootstrap inference — all containerized in Docker and driven by a single make target.

The City of Chicago's Department of Technology and Innovation (DTI) is the city's central IT agency, responsible for core technology infrastructure, enterprise applications, data management and analytics, digital services, and information security. DTI's mission frames Chicago as a responsive city where technology fuels inclusion, engagement, and opportunity — and understanding whether a signature housing regulation actually moves the needle on affordability is exactly the kind of question that data infrastructure should be able to answer.

Project visual
Photo: Fineas Anton

The core engineering challenge was assembling a tract-level monthly panel from sources that don't share a common geography. Zillow's Observed Rent Index (ZORI) is published at the ZIP code level; STR prohibitions are point-level building records; Census demographics are tract-level; and boundary files come from TIGER/Line shapefiles and the Chicago Data Portal. The pipeline handles the spatial crosswalk — area-weighted interpolation from ZIPs to tracts, point-in-polygon assignment of prohibition records, and density calculations per square kilometer — producing a balanced panel of roughly 110,000 tract-month observations with consistent treatment timing, rental prices, and covariates.

The identification strategy exploits the staggered adoption of prohibitions across tracts between 2015 and 2024. A standard two-way fixed effects (TWFE) estimator can produce biased estimates when treatment effects vary across cohorts and time. The pipeline implements both TWFE and the Callaway–Sant'Anna (2020) estimator, which avoids using already-treated units as controls and aggregates group-time ATTs with known weights. Pre-treatment trend matching via k-nearest neighbors restricts the comparison set to tracts with similar rental price trajectories, and a configurable treatment threshold enables dose-response analysis across prohibition intensities.

The main finding: STR prohibitions increase long-term rental prices by approximately $4–6 per month in affected tracts — modest, but positive and statistically significant across every specification and subgroup tested. The estimate is stable across comparison groups, matching strictness, and treatment thresholds ($3.65–$6.53 full range), with the strongest effects in high-dose tracts and late adopters. The positive sign is interpretable: the policy signals residential protection in desirable neighborhoods, attracting long-term demand that outweighs the small supply gain from returning units to the conventional market.

Client: City of Chicago — Department of Technology and Innovation.

01

Figure 01

Event-study and robustness outputs — staggered DiD and specification checks.

.say hello

always glad to talk research software, data tooling, or ai. drop me a line and let's find something to build together.