This reference documents an analysis of sprinkler system prevalence in new residential construction permits issued in Chicago between January 1, 2020, and December 31, 2025. Permits are grouped by building type (single-family, small multi-family, large multi-family) and by whether their work_description references a sprinkler system.
Analysis Date: 2026-02-24
- Permit type:
PERMIT - NEW CONSTRUCTION - Issue date:
2020-01-01through2025-12-31 - Units filter:
units > 0 OR units_sfh > 0(at least one residential unit) - Sprinkler detection: keyword search on
work_description(see below)
Priority order (first match wins):
| Building Type | Condition |
|---|---|
| Single-family | units_sfh = 1 |
| Multi-family 2–6 units | units BETWEEN 2 AND 6 |
| Multi-family 7+ units | units >= 7 |
| Other | Everything else (2 permits: units = 1, no units_sfh) |
Sprinkler presence is inferred from the work_description text field. Two LIKE patterns cover all variants found in the data:
| Pattern | Variants Matched |
|---|---|
%sprinkl% |
sprinkler, sprinklered, sprinkled (typo), sprinkleed (typo), sprinklred (typo) |
%nfpa% |
NFPA 13, NFPA 13R, NFPA-13, NFPA-13R (National Fire Protection Association standards) |
Variant counts found across all matching permits in the universe:
| Variant | Count |
|---|---|
| sprinklered | 245 |
| sprinkler | 110 |
| nfpa | 50 |
| sprinkled | 17 |
| sprinkleed | 1 |
| sprinklred | 1 |
SELECT
CASE
WHEN units_sfh = 1 THEN '1. Single-family'
WHEN units BETWEEN 2 AND 6 THEN '2. Multi-family 2–6 units'
WHEN units >= 7 THEN '3. Multi-family 7+ units'
ELSE '4. Other'
END AS building_type,
CASE
WHEN lower(work_description) LIKE '%sprinkl%'
OR lower(work_description) LIKE '%nfpa%'
THEN 'With sprinklers'
ELSE 'Sprinklers not mentioned'
END AS sprinkler_status,
COUNT(*) AS permit_count,
ROUND(100.0 * COUNT(*) / SUM(COUNT(*)) OVER (
PARTITION BY CASE
WHEN units_sfh = 1 THEN '1. Single-family'
WHEN units BETWEEN 2 AND 6 THEN '2. Multi-family 2–6 units'
WHEN units >= 7 THEN '3. Multi-family 7+ units'
ELSE '4. Other'
END
), 1) AS pct_of_type
FROM permits
WHERE _permit_type = 'PERMIT - NEW CONSTRUCTION'
AND issue_date BETWEEN '2020-01-01' AND '2025-12-31'
AND (units > 0 OR units_sfh > 0)
GROUP BY building_type, sprinkler_status
ORDER BY building_type, sprinkler_status;Used to identify the actual sprinkler-related word variants present in the data:
SELECT DISTINCT
regexp_matches(lower(work_description), 'sp[a-z]{0,3}r[a-z]{0,2}nkl[a-z]{0,4}|nfpa', 'g') AS match,
COUNT(*) OVER (PARTITION BY regexp_matches(lower(work_description), 'sp[a-z]{0,3}r[a-z]{0,2}nkl[a-z]{0,4}|nfpa', 'g')) AS occurrences
FROM permits
WHERE _permit_type = 'PERMIT - NEW CONSTRUCTION'
AND issue_date BETWEEN '2020-01-01' AND '2025-12-31'
AND (units > 0 OR units_sfh > 0)
AND (
lower(work_description) ~ 'sp[a-z]{0,3}r[a-z]{0,2}nkl[a-z]{0,4}'
OR lower(work_description) LIKE '%nfpa%'
)
ORDER BY occurrences DESC;| Building Type | With Sprinklers | Sprinklers Not Mentioned | Total | % With Sprinklers |
|---|---|---|---|---|
| Single-family | 119 | 1,972 | 2,091 | 5.7% |
| Multi-family 2–6 units | 128 | 1,263 | 1,391 | 9.2% |
| Multi-family 7+ units | 125 | 323 | 448 | 27.9% |
| Other | 0 | 2 | 2 | 0% |
| Total | 372 | 3,560 | 3,932 | 9.5% |
-
Sprinkler rates rise sharply with building size. Single-family homes mention sprinklers in 5.7% of permits; 2–6 unit buildings in 9.2%; and 7+ unit buildings in 27.9%. This gradient is consistent with Chicago's fire code imposing more stringent requirements as building size increases.
-
Even the 7+ unit rate (27.9%) is surprisingly low. Larger residential buildings generally require sprinklers under the Chicago Building Code. The gap likely reflects that many permit descriptions reference sprinkler compliance indirectly (e.g., by code section number rather than the word "sprinkler"), and that separate sprinkler sub-permits — not captured here — are sometimes filed independently of the main building permit.
-
Mixed-use buildings drive NFPA compliance language. Among the 2–6 unit sprinklered permits, several buildings with ground-floor retail cite both NFPA 13 (commercial standard) for retail floors and NFPA 13R (residential standard) for dwelling floors above, reflecting the mixed occupancy classification.
-
6-unit buildings are overrepresented in the sprinklered 2–6 unit group. Buildings maxed out at 6 units appear more frequently with sprinkler language, suggesting the threshold at or near 6 units triggers additional fire suppression requirements.
-
Coordinated lot developments appear. The permits at 1616 W Hastings St and 1626 W Hastings St were both issued on 2024-08-16, both for 6-unit fully sprinklered masonry buildings — consistent with a single developer building on adjacent lots simultaneously.
| Permit | Address | Issue Date | Units | Sprinkler Reference |
|---|---|---|---|---|
| 101051469 | 1616 W Hastings St | 2024-08-16 | 6 | FULLY SPRINKLERED |
| 101045238 | 1345 W Grand Ave | 2025-05-06 | 6 | ENTIRE BUILDING SPRINKLERED |
| 101050292 | 1626 W Hastings St | 2024-08-16 | 6 | FULLY SPRINKLERED |
| 101054676 | 1838 W Addison St | 2024-11-21 | 4 | FULLY SPRINKLERED NFPA-13R |
| 101049019 | 1628 N Damen Ave | 2024-06-27 | 6 | NFPA 13 (retail) + NFPA 13R (residential) |
| 101051526 | 1621 W 13th St | 2024-08-20 | 6 | FULLY SPRINKLERED |
| 101021281 | 1414 E 65th Pl | 2023-09-12 | 5 | NFPA-13 SPRINKLER SYSTEM THROUGHOUT |
| 100998598 | 3019 N Lincoln Ave | 2023-03-23 | 3 | FULLY SPRINKLERED, MIXED USE |
| 101012788 | 2923 N Southport Ave | 2024-01-17 | 3 | FULLY SPRINKLERED, MIXED USE |
| 101001614 | 4333 N Western Ave | 2023-08-07 | 4 | AUTOMATIC FIRE SUPPRESSION SPRINKLER SYSTEM |
- Text-based detection only. Sprinkler presence is inferred solely from
work_description. Buildings with sprinkler systems that are described by code section reference, or that file a separate sprinkler sub-permit, will be counted as "sprinklers not mentioned" in this analysis. units_sfhtakes classification priority. Two permits have bothunits_sfh = 1andunits = 2; they are classified as single-family.- "Other" category is negligible. The 2 permits in this group have
units = 1with nounits_sfhvalue, likely data entry gaps in the source data.