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:
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:
| Category | Includes |
|---|---|
| Building | Types containing Building, Accessory, Addition, Remodel, Renovation, Alteration, Residential, Commercial (excluding signs) |
| Mechanical | Types containing Mechanical or Equipment Changeout |
| Electrical | Types containing Electrical |
| Plumbing | Types containing Plumbing |
| Demolition | Types 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 Status | Classification |
|---|---|
| Complete | Counted as closed |
| Certificate of Occupancy (CO) Issued | Counted as closed |
| Certificate of Compliance (CC) Issued | Counted as closed |
| Issued | Counted 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:).