City Extensions

Building-level and administrative-record analysis across twelve U.S. cities with legacy or modern rent-regulation systems. Six Tier 1 cities have completed audits with active research questions.

New York City

What this analysis does

NYC has approximately 1 million rent-stabilized apartments. The Rent Guidelines Board (RGB) publishes an annual Rent Stabilized Building List (RSBL) identifying every building with at least one stabilized unit by borough, block, and lot number.

The NYC Department of Housing Preservation and Development (HPD) maintains a public database of housing code violations — records filed when inspectors find conditions like heat/hot-water failures, lead paint hazards, pest infestations, mold, or structural defects. Each violation is tied to a specific building.

This analysis joins the two datasets at the building level (borough + block + lot) to ask: do buildings on the stabilized list accumulate HPD violations at a different rate than non-stabilized buildings? The answer is explored through six distinct modeling approaches, each with different assumptions about what makes a valid comparison group.

Building Fixed-Effects Event Profile

Estimated additional HPD violations per building-year in stabilized vs. non-stabilized buildings, relative to the 2019 baseline. Building fixed effects absorb all time-invariant differences between buildings (location, age, size, ownership). Cluster-robust standard errors. All coefficients p<0.001.

89,100 buildings (32,793 stabilized, 56,307 non-stabilized), 623,700 building-year observations, 2019–2025.

Mean HPD Violations per Building

Average violation count per building per year. Both groups show increasing violations over time, but the gap between stabilized and non-stabilized buildings widens substantially after 2022.

Violation Gap by Borough

Difference in mean violations per building (stabilized minus non-stabilized) by borough and year. The Bronx shows the largest and fastest-growing gap; Manhattan and Brooklyn show intermediate patterns.

Six Modeling Approaches

Each approach uses a different comparison strategy. Simpler designs show larger effects; tighter matching reduces effect sizes, illustrating design sensitivity.

ApproachWhat it doesBuildings2025 gapFinding
Borough-year descriptiveCompares means within borough and year, no controls89,1004.76Largest gap, grows every year
Borough-year WLS modelWeighted regression on borough-year cells with treatment interaction89,1004.79 coefSignificant treatment × 2025 (p=0.009)
Stratified comparisonMatches within borough × community board × building age × size strata89,1004.762.9× treated/control ratio by 2025
Within-community-board matchNearest-neighbor matching within community boards (16,406 pairs)32,812variesPre-period imbalance; treated lower at baseline
Refined CB matchImproved matching with 28,746 pairs and better pre-period balance57,492−0.14Balance improves but effect near zero
Building fixed effectsBuilding FE + year FE + treatment × year interactions, cluster SEs89,100+4.20 coefConsistent upward trend, all p<0.001

Design sensitivity: The borough-year and building-FE models show a large, growing gap. But the refined within-community-board match (28,746 well-balanced pairs) shows effects near zero by 2025. This means the result depends heavily on what comparison group is used and how unobserved confounders are handled. These are not settled causal estimates.

Where the Difference Concentrates

The six approaches above establish that a gap exists in some designs and not others. The next question is narrower: among the designs that show a gap, where does it live? The follow-on artifacts decompose the 2025 result by geography, margin, enforcement timing, and resolution status. All findings remain descriptive and design-sensitive.

47,256 → 28,746
Treated-Stock Funnel
RSBL → HPD-observed → stratified → CB-matched
87% · 77% · 65% · 58%
Borough Coverage
Bronx · Manhattan · Queens · Brooklyn
−0.12 / +9.6
Extensive vs. Intensive
Any-violation rate gap / positive-only count gap
+5.1
Registration Recency
2025-plus bin gap (violations/building)

2025 Monthly Violation Gap

Treated-minus-control mean HPD violations per building by calendar month. The gap is positive in every month but compresses sharply in June and November (muted bars), when control-building violations spike—likely seasonal enforcement or inspection cycles that affect all buildings equally.

2025 Violation Gap by Enforcement Status

Mean violations per building in 2025, grouped by status family. The “open / reinspection” category dominates both groups but the treated-control gap is largest there (+4.2 violations/building). “Pending administrative” and “resolved / certified” carry smaller gaps. This suggests much of the aggregate gap sits in unresolved or still-cycling enforcement.

Why this narrows the interpretation: The 2025 gap is not evenly distributed. It concentrates in the Bronx (about +10.8 violations/building), in buildings with the most recent registration activity (+5.1 gap in the 2025-plus bin), and in unresolved enforcement cases. On the extensive margin, a slightly higher share of non-stabilized buildings have at least one violation; the positive signal comes from heavily burdened stabilized buildings accumulating far more violations per building. These patterns are consistent with a maintenance-burden story concentrated in a subset of the stabilized stock, but they do not rule out differential enforcement exposure, reporting behavior, or building-age confounding. The design sensitivity shown above—where tighter matching eliminates the gap—remains the binding constraint on causal interpretation.

San Francisco

What this analysis does

San Francisco’s Rent Board publishes a block-anonymized rental inventory dataset covering all registered units. This package documents 533,205 unit rows across five submission years (2022–2026), providing stock composition, geographic concentration, occupancy mix, and rent-band reporting across 41 neighborhoods and 11 supervisor districts.

533,205
Unit Rows
2022–26
Submission Years
4,277
Census Blocks
41
Neighborhoods
$2,375
Median Rent Midpoint
468,062
Non-Owner Rows

Reporting Rollout by Submission Year

Unit rows and census-block coverage across five submission years. The 2022 launch covers 1,226 blocks; later years stabilize above 3,750.

YearUnit RowsBlocksNeighborhoodsNon-Owner Share
202266,7441,2263788.8%
2023107,8863,7533886.7%
2024111,5123,8094085.9%
2025132,0883,8544188.0%
2026114,9753,7644189.8%

What this is: An inventory and compliance result documenting stock composition, geographic concentration, occupancy mix, and rent-band reporting. What it is not: A treatment-effects estimate. The source is block-anonymized and owner-reported. The 2022 submission year has narrower geographic coverage (1,226 blocks vs. 3,700+ later), reflecting the program’s rollout.

West Hollywood

What this analysis does

West Hollywood’s Rent Stabilization Ordinance (RSO) protects a defined stock of rental units. This package links the protected-stock registry (17,175 unit rows, 5,959 addresses, 2,108 parcels) to three public administrative surfaces: buyout tracking, seismic retrofit records, and commission appeal hearings. The result documents the overlap between protected rental stock and each administrative layer.

17,175
Protected-Stock Rows
5,959
Addresses
2,108
Parcels
14,763
Rows with Unit IDs
Administrative SurfaceMatchedTotalMatch RateStock Share
Buyout tracking7120634.5%0.6%
Seismic retrofit70585182.8%32.7%
Commission appeals143441.2%0.2%

What this is: A linked administrative result documenting protected-stock overlap with buyout agreements, seismic exemptions, and bounded appeal-board hearings. The seismic surface shows strong linkage (82.8%). Buyout and appeal surfaces are sparser but track real administrative activity. What it is not: A treatment-effects estimate. The hearings layer is bounded to the currently collected public archive. Match rates describe surface overlap, not causal relationships.

Los Angeles

What this analysis does

This pilot samples 150 properties across a fixed tranche of 8 street names in central Los Angeles, linking LAHD property-activity records (code-enforcement cases, complaints, SCEP inspections) to LA County Assessor parcel context. It compares properties with and without rent registration numbers on case volume, building age, and unit count.

8
Street Queries
150
Sampled Properties
84
With Rent Registration
2,367
Case Rows
StreetSampled RowsPropertiesRent Registered
Main221611
Broadway25199
Spring25193
Olympic252014
Figueroa25219
Vermont221411
Western252215
Alvarado251912
GroupPropertiesMean CasesMean UnitsMean Year Built
Registered8412.3110.321,931
Not registered6620.2065.231,960

Registered properties in this sample show fewer mean cases (12.3 vs. 20.2), fewer units (10.3 vs. 65.2), and older construction (1931 vs. 1960) compared to unregistered properties. The assessor layer provides citywide context: 806,127 parcels, of which 114,856 are pre-1979 multifamily proxies (RSO-eligible). Sample-level assessor matches remain sparse (2 of 150).

Scope: This is a deterministic bounded pilot across a fixed street sample, not a citywide estimate. The assessor layer is contextual because the sample-level match rate is sparse. Do not generalize these per-street patterns to the broader Los Angeles rental market.

Oakland, CA

What this analysis does

Oakland’s Rent Adjustment Program (RAP) administers tenant petitions for rent adjustments, decreased-services complaints, and code-related grievances. When a tenant believes their landlord has reduced services (broken appliances, pest problems, security failures) or violated building codes, they file a RAP petition. Each case is assigned a hearing officer, tracked through a formal workflow, and resolved by order, settlement, or dismissal.

This analysis extracted the complete public RAP search universe for three petition grounds and linked the resulting addresses to Oakland’s 311 code-enforcement request database (30,164 total requests) to add a second official enforcement signal. The result is a near-full local administrative panel — not a proof of concept, but a reproducible case-level dataset.

3,805
RAP Case Rows
3,678 unique case numbers
2,977
Linked Addresses
Normalized RAP addresses
387
311 Matches
Code-enforcement requests matched
206
Matched Addresses
RAP addresses with 311 activity

RAP Petitions by Year and Ground

Annual case counts for each petition ground. “Decrease in services” was the primary category through 2020, peaking at 350 cases in 2016. In 2021 the RAP relabeled this ground to “fewer housing services” — the underlying complaint type (broken appliances, pest issues, security lapses) is the same. “Code violation” cases are a separate, smaller category tracking formal building-code breaches.

311 Code-Enforcement Matches by Year

Number of Oakland 311 code-enforcement requests that matched to RAP petition addresses, by petition year. A spike in 2018–2019 suggests overlapping enforcement activity at the same properties where tenants filed decreased-services complaints.

Petition groundWhat it coversSearch rowsDetail rowsUnique cases311 matches
Code violationFormal building-code breaches reported by tenants69696514
Decrease in servicesLandlord reduced or failed to maintain services (pre-2021 label)2,9972,9962,988275
Fewer housing servicesSame complaint type, relabeled post-2021721734672151

Detail rows can slightly exceed search rows because one visible search entry can yield multiple structured detail rows in the RAP workflow system.

What this is: A near-full local administrative panel for tenant-service and code-related petitions, with a linked 311 enforcement signal. The public RAP workflow is machine-usable and reproducible. What it is not: A causal estimate of citywide rent control effects. The panel tracks petition volume and enforcement overlap, not treatment effects.

Saint Paul, MN

What this analysis does

Saint Paul voters approved a 3% annual rent stabilization cap by ballot initiative in November 2021, with the ordinance taking effect in May 2022. Subsequent amendments in January 2023 and June 2025 modified exemptions and enforcement. This provides the cleanest modern policy case study in the project — a specific city with a known adoption date.

The analysis uses a simple difference-in-differences design comparing Ramsey County (Saint Paul) to two neighboring counties (Hennepin County and Dakota County) on three federal outcome series: building permits (BPS), covered employment (QCEW), and average weekly wages (QCEW).

Saint Paul Difference-in-Differences

Change in each outcome from pre-period to post-period, comparing Ramsey County (treated) to the average of Hennepin and Dakota Counties (controls). Negative DiD means the treated county’s change was worse relative to controls.

OutcomeWhat it measuresTreated preTreated changeControl changeDiD
Building permitsNew housing units authorized in Ramsey County (annual)1,904−459−979+520
Covered employmentWorkers covered by unemployment insurance in Ramsey County (quarterly)318,378+7,084+13,390−6,306
Average weekly wageMean weekly wage across all covered employers (quarterly)$1,323+$144+$171−$27

Interpretation: Permits declined less in Saint Paul than in neighboring counties (positive DiD of +520 units). Employment grew more slowly (−6,306 DiD). Wage effects were negligible (−$27/week). With only one treated county and two controls, these are descriptive differences, not powered causal estimates. FHFA HPI for the Twin Cities MSA rose from 265.0 pre-ordinance to 342.6 post-ordinance.

San Jose, CA

What this analysis does

San Jose’s Apartment Rent Ordinance (ARO), adopted in 2017, caps annual rent increases at 5% for buildings with 3+ units built before 1979. This analysis uses the same DiD framework as Saint Paul, comparing Santa Clara County (treated) to neighboring San Mateo County and Contra Costa County (controls) on building permits, covered employment, and weekly wages. FHFA HPI for the San Jose MSA is also tracked.

San Jose Difference-in-Differences

Change in each outcome from pre-period to post-period, comparing Santa Clara County (treated) to the average of San Mateo and Contra Costa Counties (controls).

OutcomeWhat it measuresTreated preTreated changeControl changeDiD
Building permitsNew housing units authorized in Santa Clara County (annual)6,860−1,253−94−1,159
Covered employmentWorkers covered by unemployment insurance (quarterly)1,071,862+29,269+5,018+24,251
Average weekly wageMean weekly wage across all covered employers (quarterly)$2,432+$924+$665+$259

Interpretation: Permits declined substantially more in Santa Clara County than controls (−1,159 DiD). Employment and wages grew faster than controls (+24,251 and +$259 DiD respectively), likely reflecting Silicon Valley’s tech economy. FHFA HPI rose from 379.4 pre-ARO to 491.0 post-ARO. With one treated county and two controls, these are descriptive.

Other City Extensions

Washington, DC

Analyzed

What does the assessment record reveal about protected stock and tenure patterns?

What’s been done: Analyzed 130,934 residential parcels across 8 wards. Identified 66,367 rental-probable and 64,567 owner-occupied proxy parcels. Ward rental shares range from 35% to 64%. Enriched with 40,887 condo records. Assessment gap and neighborhood-level disparity analysis completed.
Status: Assessment and tenure analysis complete. DHCD RentRegistry query next.

Berkeley

Pilot

Did registered legal rent ceilings diverge from city-wide market trends?

What’s been done: Tested the Rent Board’s Unit Information Lookup interface. Initial pilot returned structured data for 1 address. Registry maintains unit-level ceilings that could be compared to ACS and FHFA market trends.
Status: Lookup feasibility confirmed. Needs scaled extraction.

DC has ward-level assessment analysis. Berkeley needs scaled extraction. None of these are causal estimates.

Full Audit Status

Every city below has a completed data-source audit documenting available public records, join keys, data quality, and feasibility assessment.

CityPolicy typeDecisionPrimary dataKey question
New York CityLegacy rent stabilizationProceedRGB RSBL + HPD violationsHPD violation trends in stabilized buildings
Los AngelesLegacy RSOProceedLAHD property activity + AssessorBounded 8-street comparative pilot (150 properties)
OaklandLegacy rent adjustmentProceedRAP cases + 311 enforcement3,805-row admin panel with 311 linkage
BerkeleyLegacy rent controlProceedRent Board registrationLegal ceiling vs. market divergence
Washington, DCLegacy rent controlProceedDHCD RentRegistryProtected stock and turnover
Saint PaulModern stabilization (2022)ProceedBPS + FHFA + QCEWOrdinance effects on permits/prices/wages
San FranciscoLegacy rent controlProceedRent Board inventory (533,205 rows)Stock composition, occupancy, rent-band reporting
San JoseModern ARO (2017)ProceedBPS + FHFA + QCEWARO effects on permits/prices/wages
West HollywoodLegacy RSOProceedRSO registry + buyouts + seismic + appealsProtected-stock overlap with admin surfaces
Santa MonicaLegacy rent controlLimitsMAR recordsCitywide MAR export feasibility
East Palo AltoLegacy stabilizationLimitsBoard agendas + MARAddress-level outcomes
Mountain ViewModern CSFRA (2016)ProceedCSFRA property searchCoverage and petition panel