Methodology

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

What is a closure rate?

When a contractor pulls a building permit in Wilmington, 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.

Data source

Permits come from the New Hanover County Building Safety department, published as an ArcGIS FeatureServer layer on the county's GIS portal. The dataset covers building permits from the county (including Wilmington, Kure Beach, Carolina Beach, and Wrightsville Beach) and is refreshed daily. As of early 2026 the dataset contains approximately 471K permit records.

Included permit types

New Hanover County publishes 100+ raw permit types in the PERMIT_TYPE field. We map these to five simplified categories via keyword matching:

CategoryIncludes
BuildingTypes containing Building, Accessory, Addition, Remodel, Renovation, Alteration, Residential, Commercial (excluding signs)
MechanicalTypes containing Mechanical or Equipment Changeout
ElectricalTypes containing Electrical
PlumbingTypes containing Plumbing
DemolitionTypes containing Demolition

Signs, encroachment permits, cell towers, and other non-construction records are excluded. Only Building and Demolition have dedicated sub-filter pages; Mechanical, Electrical, and Plumbing are included in the aggregate \"All Types\" view but have thin contractor data (~15% fill) so do not have dedicated pages.

Status mapping

Status classification uses the STATUS field:

Raw StatusClassification
CompleteCounted as closed
Certificate of Occupancy (CO) IssuedCounted as closed
Certificate of Compliance (CC) IssuedCounted as closed
IssuedCounted as open

Expired, Void, Withdrawn, Denied, and other processing statuses are excluded as non-actionable records.

Applicant identification

The primary contractor field is GENERAL_CONTRACTOR, with PROJECT_CONTACT as a fallback when the general contractor field is empty. License number suffixes (e.g., \"(LIC# 38799)\") are stripped from contractor names. Records listing \"Owner\" variants as the contractor are treated as owner-performed work and excluded from contractor rankings. Building permits have approximately 42% contractor fill rate.

Address and geographic data

Addresses are constructed from split fields: NUMBER, DIR, STREET, and TYPE (e.g., \"123 N Main St\"). City abbreviations in the CITY field are expanded (WM → Wilmington, KB → Kure Beach, CB → Carolina Beach, WB → Wrightsville Beach). Point geometry provides latitude and longitude coordinates.

Valuation data

New Hanover County publishes a VALUATION field representing the declared job valuation in dollars. Approximately 33% of records have valuation data. This data is included in the permit table where available.

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 FeatureServer published by New Hanover County Building Safety. The dataset covers ~471K permit records from New Hanover County (including Wilmington, Kure Beach, Carolina Beach, and Wrightsville Beach) and is refreshed daily.

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 New Hanover County Building Safety at [](mailto:).