NAICS Industry

NAICS 238220 Federal Contract Obligations (Last 10 Years)

Federal procurement for NAICS 238220 covers plumbing, heating, and air-conditioning contractors, with $8.98 billion obligated across 83,163 award actions over the last 10 years.

This NAICS page summarizes federal obligations to plumbing, heating, and air-conditioning contractors over the last 10 years, including agency, vendor, and annual trend data. The largest share of obligations comes from the Department of the Navy, Department of Veterans Affairs, and Department of the Army.

Generated at 03/21/2026

Analysis period: Last 10 years

Totals reflect readable and exact obligation values from FPDS reporting and may include multiple award actions across years and agencies.

NAICS Code
238220
Industry
PLUMBING, HEATING, AND AIR-CONDITIONING CONTRACTORS
Total Obligated
8.98 billion
8,976,859,065.84
Award Actions
83,163
Average Action Value
107,942.94

About NAICS 238220 federal contract activity

FPDS records show 83,163 obligations under NAICS 238220, Plumbing, Heating, and Air-Conditioning Contractors, totaling 8.98 billion over the last 10 years. The average award value was 107,942.94, indicating a mix of high-volume maintenance actions and larger project awards across the federal portfolio.

Agency demand and leading federal buyers

The Department of the Navy leads this NAICS with 2.14 billion across 9,365 awards, followed by the Department of Veterans Affairs at 1.72 billion across 13,936 awards and the Department of the Army at 1.61 billion across 11,070 awards. The Department of the Air Force and the Public Buildings Service also represent significant demand, together contributing nearly 1.35 billion.

Vendor concentration and leading contractors

Top vendor obligations are concentrated among a relatively small set of contractors, led by North State Mechanical, Incorporated at 126.53 million across 185 awards. Mechworks Mechanical Contractors, Inc., R & W Construction Company, Jett's Specialty Contracting, LLC, and QCM, Inc. each exceeded 64.75 million, reflecting repeated award activity rather than reliance on a single dominant transaction.

Annual contract trend over the analysis window

Annual obligations remained above 800 million in each reported year and rose above 1.0 billion in 2022 through 2025. The series peaked in 2024 at 1.12 billion, while award counts stayed high and ranged from 7,255 in 2025 to 8,322 in 2021, suggesting sustained procurement activity with moderate year-to-year variation.

How to interpret this page

This summary uses FPDS obligations classified under NAICS 238220 for the last 10 years and aggregates award dollars and counts across reported actions. Agency, vendor, and annual figures reflect totals from the provided analysis window and should be interpreted as obligation-based activity, not contract ceiling values or market size.

Top Agencies

SELECT
    agency_id,
    agency_name,
    total_obligated,
    award_count,
    formatReadableQuantity(total_obligated) AS total_obligated_readable
FROM
(
    SELECT
        content__award__purchaserInformation__contractingOfficeAgencyID AS agency_id,
        anyHeavy(content__award__purchaserInformation__contractingOfficeAgencyID__name) AS agency_name,
        sum(content__award__dollarValues__obligatedAmount) AS total_obligated,
        count() AS award_count
    FROM fpds.data
    WHERE
        contract_type = 1
        AND content__award__productOrServiceInformation__principalNAICSCode = '238220'
        AND content__award__purchaserInformation__contractingOfficeAgencyID IS NOT NULL
        AND content__award__purchaserInformation__contractingOfficeAgencyID != ''
        AND parseDateTimeBestEffortOrNull(content__award__relevantContractDates__signedDate) >= toStartOfYear(now()) - INTERVAL 10 YEAR
        AND parseDateTimeBestEffortOrNull(content__award__relevantContractDates__signedDate) < toStartOfYear(now())
    GROUP BY agency_id
)
ORDER BY total_obligated DESC
LIMIT 10
Agency ID Agency Name Total Obligated Readable Award Actions
1700 DEPT OF THE NAVY 2,141,085,247.42 2.14 billion 9,365
3600 VETERANS AFFAIRS, DEPARTMENT OF 1,721,711,451.92 1.72 billion 13,936
2100 DEPT OF THE ARMY 1,605,807,505.25 1.61 billion 11,070
5700 DEPT OF THE AIR FORCE 958,699,916.31 958.70 million 6,545
4740 PUBLIC BUILDINGS SERVICE 388,546,158.91 388.55 million 9,993
6920 FEDERAL AVIATION ADMINISTRATION 235,776,015.72 235.78 million 1,946
12H2 AGRICULTURAL RESEARCH SERVICE 206,271,928.12 206.27 million 2,131
1900 STATE, DEPARTMENT OF 205,843,587.08 205.84 million 3,599
1443 NATIONAL PARK SERVICE 157,774,586.41 157.77 million 2,665
1540 FEDERAL PRISON SYSTEM / BUREAU OF PRISONS 154,578,412.28 154.58 million 1,728

Insight

Over the last 10 years, NAICS 238220 obligations total $8.98 billion across 83,163 awards, with an average award value of about $107,943. Obligations are moderately concentrated among a few large civilian and defense agencies: the Department of the Navy leads at $2.14 billion, followed by Veterans Affairs at $1.72 billion and the Department of the Army at $1.61 billion; together these three account for roughly 61% of total obligated dollars. The remaining top agencies each represent a materially smaller share, with a long tail of activity dispersed across GSA Public Buildings Service, FAA, USDA ARS, State, National Park Service, and Bureau of Prisons.

Top Vendors

SELECT
    vendor_name,
    cage_code,
    total_obligated,
    award_count,
    formatReadableQuantity(total_obligated) AS total_obligated_readable
FROM
(
    SELECT
        content__award__vendor__vendorHeader__vendorName AS vendor_name,
        anyHeavy(content__award__vendor__vendorSiteDetails__entityIdentifiers__cageCode) AS cage_code,
        sum(content__award__dollarValues__obligatedAmount) AS total_obligated,
        count() AS award_count
    FROM fpds.data
    WHERE
        contract_type = 1
        AND content__award__productOrServiceInformation__principalNAICSCode = '238220'
        AND content__award__vendor__vendorHeader__vendorName IS NOT NULL
        AND content__award__vendor__vendorHeader__vendorName != ''
        AND parseDateTimeBestEffortOrNull(content__award__relevantContractDates__signedDate) >= toStartOfYear(now()) - INTERVAL 10 YEAR
        AND parseDateTimeBestEffortOrNull(content__award__relevantContractDates__signedDate) < toStartOfYear(now())
    GROUP BY vendor_name
)
ORDER BY total_obligated DESC
LIMIT 10
Vendor CAGE Code Total Obligated Readable Award Actions
NORTH STATE MECHANICAL, INCORPORATED 099D1 126,527,919.95 126.53 million 185
MECHWORKS MECHANICAL CONTRACTORS, INC. 1B1B0 96,036,925.13 96.04 million 229
R & W CONSTRUCTION COMPANY 0C0M6 82,762,703.00 82.76 million 233
JETT'S SPECIALTY CONTRACTING, LLC 6VQF8 80,293,168.27 80.29 million 145
QCM, INC. 7JCC3 64,747,727.95 64.75 million 136
RYAN & ASSOCIATES, INC. 3M793 60,849,130.81 60.85 million 207
FOUR TRIBES ENTERPRISES, LLC 7WA41 60,563,350.53 60.56 million 149
PUBLIC WORKS CONTRACTOR, INC. 0VL21 54,776,129.50 54.78 million 101
SOUTHWESTERN DAKOTAH, INC. 0WV72 54,393,172.10 54.39 million 79
AKTARIUS LLC 5UV89 53,090,640.63 53.09 million 206

Insight

Over the last 10 years, NAICS 238220 obligated $8.98 billion across 83,163 awards, with an average award value of $107,942.94. The top 10 vendors each received between $53.09 million and $126.53 million, and the largest single vendor share is about 1.4% of total obligations, indicating spending is dispersed rather than highly concentrated. Award counts among the leading vendors range from 79 to 233, suggesting sustained, repeated contracting activity across multiple firms rather than reliance on a small number of large awards.

Annual Trend

SELECT
    year,
    total_obligated,
    award_count,
    formatReadableQuantity(total_obligated) AS total_obligated_readable
FROM
(
    SELECT
        toYear(parseDateTimeBestEffortOrNull(content__award__relevantContractDates__signedDate)) AS year,
        sum(content__award__dollarValues__obligatedAmount) AS total_obligated,
        count() AS award_count
    FROM fpds.data
    WHERE
        contract_type = 1
        AND content__award__productOrServiceInformation__principalNAICSCode = '238220'
        AND parseDateTimeBestEffortOrNull(content__award__relevantContractDates__signedDate) >= toStartOfYear(now()) - INTERVAL 10 YEAR
        AND parseDateTimeBestEffortOrNull(content__award__relevantContractDates__signedDate) < toStartOfYear(now())
    GROUP BY year
)
ORDER BY year DESC
Year Total Obligated Readable Award Actions
2025 1,007,585,511.94 1.01 billion 7,255
2024 1,122,660,970.42 1.12 billion 7,674
2023 1,013,696,499.37 1.01 billion 7,677
2022 1,004,241,514.62 1.00 billion 7,849
2021 835,471,913.93 835.47 million 8,322
2020 846,309,828.03 846.31 million 8,460
2019 776,966,006.61 776.97 million 8,352
2018 915,030,574.16 915.03 million 8,963
2017 664,097,690.75 664.10 million 9,403
2016 790,798,556.01 790.80 million 9,208

Insight

Over the last 10 years, NAICS 238220 obligations totaled $8.98 billion across 83,163 awards, with an average award value of $107,942.94, indicating a high-volume, relatively fragmented obligation profile. Annual obligations generally remained within a $664.10 million to $1.12 billion range, with the lowest level in 2017 and the highest in 2024. Award counts were also fairly stable year to year, ranging from 7,255 in 2025 to 9,403 in 2017, suggesting broad and consistent contract activity rather than concentration in a small number of awards.

Use FPDS Query for deeper industry analysis

Explore federal procurement data with custom SQL, fast filtering, and deeper industry analysis across agencies, vendors, and annual trends.

Continue from this last 10 years view into full FPDS Query workflows with deeper filtering, custom SQL, saved queries, and broader market comparison.