permittimelines

Package documentation · Data page + downloads · Interactive explorer

permittimelines provides R access to prepared public building-permit records measuring how long residential garage-to-ADU and garage-to-habitable-room conversion permits waited between application and issuance in Los Angeles, San Diego, San Francisco, and Seattle.

The package contains:

Every bundled number is reproducible from the committed, dependency-free build script in data-raw/, which fetches directly from each city's official open-data portal. No number is typed by hand.

Installation

Install the development release from GitHub:

install.packages("pak")
pak::pak("asafichaki/permittimelines")

Usage

library(permittimelines)

records <- permit_records()
cohorts <- permit_cohorts("los-angeles")
timelines <- permit_timelines("los-angeles")

# Median wait per review track. Never pool the tracks.
subset(timelines, dimension == "review_track" & !suppressed,
       select = c(group, n, median, within_60))

Method

The preparation follows five rules, each validated against the live data:

  1. Cohorts are formed on the application year, never the issue year. A large share of permits issued in any given year were filed earlier, so issue-year grouping oversamples slow permits.
  2. Records are deduplicated on the permit number first. Duplicate rows moved a comparable San Francisco headline by 30%.
  3. Review tracks are never pooled into one median. In San Francisco both tracks got faster while the pooled median nearly doubled, purely from a mix shift.
  4. Any aggregate cell under 30 records is suppressed.
  5. Only cohorts with roughly 75% of applications resolved enter the aggregates. Recent years are censored toward fast permits; their row-level records are still included, flagged in_mature_cohort = FALSE.

Percentile columns are lower-tail order statistics of the sorted waits (quantile type 1, no interpolation), matching the published interactive explorer; for even-sized groups the median is the upper of the two central observations. The cohort table covers city-years from 2015 onward with at least 30 cleaned applications; earlier or thinner city-years appear only in the record-level file.

Interpretation caveats

San Jose is excluded because its published dataset records no application date. Sacramento and Oakland publish no building-permit dataset (checked 2026-08-16).

Record coverage follows each city's published history: San Francisco from 1980, Seattle from 2000, San Diego from 2001. Los Angeles begins in 2020 by design, because its application dataset starts there and earlier applications would appear only if eventually issued, a censored sample.

Privacy

The prepared files contain no names, addresses, coordinates, or free-text work descriptions. Only public permit identifiers, dates, and categorical fields are retained.

Sources and citation

Original sources, all public record and updated by the cities:

The same version 2026.1 files are served with visible tables on the Renology permit timeline data page, with a browser-friendly interactive explorer. No city endorses this preparation.

The package code is MIT licensed. The prepared data are available under CC BY 4.0; cite the city agencies as the original sources and Renology as the prepared version. See citation("permittimelines").