Methodology

How we calculate closure rates and which permits we count for Raleigh.

What is a closure rate?

When a contractor pulls a building permit in Raleigh, an inspector needs to verify the work was completed correctly before the permit can be closed. A closure rate measures the percentage of an applicant’s permits that have been properly closed:

closure rate = closed / (open + closed)

The 365-day eligibility rule

A contractor who pulled a permit last month hasn’t had time to complete the work yet. To avoid penalizing recent activity, we only count permits issued more than 365 days ago when calculating closure rates.

Permits issued within the last year still appear in the data but are dimmed in the table and not factored into the rate.

Included permits

Raleigh’s Development Services department publishes permits via an ArcGIS Feature Service. We include two permit types (the permittypemapped field) representing physical construction work:

Permit TypeDescription
BuildingBuilding construction permits (~177K)
DemolitionDemolition permits (~5K)

Trade permits (plumbing, electrical, mechanical) are excluded at source — the city’s ArcGIS view does not include them in this dataset.

Excluded permits

The following records are excluded from closure rate calculations:

Excluded TypeReason
NON-CONSTRUCTION INSPECTIONInspection-only records without construction work (~5.2K rows, identified by workclass field)

Applicant identification

Raleigh’s dataset includes a contractorcompanyname field identifying the contractor on the permit. This field is populated on approximately 92% of all permits. The dataset also includes contractorlicnum (contractor license number) for cross-referencing.

Status mapping

Raleigh permits use a statuscurrentmapped field that normalizes statuses from both the legacy and current permit systems. We map these values to our open/closed system:

StatusClassification
Permit FinaledCounted as closed — work verified complete
OccupancyCounted as closed — certificate of occupancy issued
Permit IssuedCounted as open — permit issued, work not yet completed
In ReviewExcluded — pre-issuance, not yet a live permit
Application AcceptedExcluded — pre-issuance
Fees/PaymentExcluded — pre-issuance
n/aExcluded — expired or invalid status

Cancelled permits are pre-filtered server-side by the ArcGIS view definition and do not appear in the dataset.

Deduplication

Each permit has a unique permitnum. The standard deduplication process runs during each nightly refresh to handle any edge cases.

Leaderboard criteria

The leaderboard applies two additional filters:

  • Minimum 20 rated permits — avoids surfacing statistically insignificant data.
  • Active in the last 3 years — prevents the list from being populated by defunct companies.

The leaderboard can be filtered by permit type (e.g., Building, Demolition). When filtered, both thresholds apply only to permits of the selected type.

Median comparison

On applicant detail pages, each closure rate is compared to the median closure rate across all leaderboard-eligible applicants in the same category. This gives context — a 50% closure rate means something different in a category where the median is 40% versus one where it’s 80%.

Medians are calculated from the same pool of applicants who meet the 20-permit minimum threshold.

Data source

Data comes from the Building Permits feature service published by Development Services. The dataset covers ~181K permits and is refreshed nightly.

Limitations

This site shows permit closure data. It does not evaluate the quality of anyone’s work. There are legitimate reasons a permit may remain open:

  • Client non-cooperation — the property owner may fail to schedule the final inspection or grant access.
  • Administrative backlog — work may be inspected and approved but not yet updated in the system.
  • Project delays — financing, design changes, supply chain issues, or other factors outside the applicant’s control.
  • Multi-phase projects — large commercial projects may legitimately take years to complete.
  • Permit holder vs. contractor — the applicant may be a GC, architect, or owner — not necessarily the person scheduling the inspection.

If you believe there are inaccuracies in the underlying permit data, contact the Development Services at .