This analysis asks a bounded question: what do three complete fiscal years of official award data reveal about the federal work classified under NAICS 238220: Plumbing, Heating, and Air-Conditioning Contractors?
The decision-oriented questions are:
- How much historical obligation activity appears inside this filter?
- Which agencies buy this work?
- Which offices inside those agencies matter?
- How dispersed are the visible recipient rows?
- What language and classification codes does the government use?
This article is an exploratory market map, not a FedFathom product validation, market forecast, or formal competition study. The observations below are limited to the stated USAspending filter and the data grain shown in each table.
Observed obligations stayed near $1 billion, with an FY2025 decline
Using the USAspending API, I filtered contract awards to NAICS 238220 for FY2023 through FY2025.
| Fiscal year | Contract obligations |
|---|---|
| FY2023 | $1.016 billion |
| FY2024 | $1.131 billion |
| FY2025 | $1.018 billion |
| Three-year total | $3.165 billion |
The same filter returned 12,667 contract awards.
Obligations rose 11.3% in FY2024 and fell 10.0% in FY2025. FY2025 finished only 0.2% above FY2023, so this window describes a relatively narrow observed range rather than a sustained growth path.
This three-year window does not establish durability or forecast FY2026. The analysis did not test whether the FY2025 decline came from timing, negative modifications, classification changes, acquisition-cycle effects, or a broader change in demand. That question requires additional years and transaction- or award-level investigation.
Two departments account for almost three-quarters of filtered obligations
The awarding-agency distribution is concentrated:
| Awarding agency | Three-year obligations | Share |
|---|---|---|
| Department of Defense | $1.598 billion | 50.5% |
| Department of Veterans Affairs | $737.4 million | 23.3% |
| Department of Agriculture | $144.8 million | 4.6% |
| Department of Transportation | $106.2 million | 3.4% |
| General Services Administration | $102.3 million | 3.2% |
DoD and VA together account for 73.8% of obligations. The five largest agencies account for 84.9%.
For a small contractor, “the federal government” is therefore too broad to be a useful target customer. A more practical first-pass account list is:
- Department of Veterans Affairs
- Department of the Navy
- Department of the Army
- Department of the Air Force
- Agricultural Research Service
- Federal Aviation Administration
- GSA Public Buildings Service
That list immediately suggests different operating environments: hospitals, bases, research facilities, airports, and federal office buildings. Each has different buyers, incumbent relationships, facility requirements, and acquisition patterns.
The market becomes more understandable when you stop treating the federal government as one customer.
Recipient rows are dispersed; company concentration remains unknown
The ten largest recipient rows in the same USAspending result accounted for 13.5% of total obligations. The largest individual recipient row accounted for only about 1.7%.
These are recipient rows, not parent companies. The analysis did not consolidate UEIs, subsidiaries, acquisitions, or joint ventures under economic parents. The 13.5% figure therefore describes the returned row distribution; it does not establish supplier fragmentation or market competitiveness.
The defensible next step is a documented parent-level rollup followed by comparison of both raw recipient-row and normalized-company concentration. Until then, the useful observation is simply that obligations are concentrated among awarding agencies while the visible recipient rows are more dispersed.
One NAICS code does not equal one purchasing vocabulary
NAICS 238220 is a useful market boundary. It is not a complete search strategy.
The largest Product and Service Code categories inside the filtered market were:
| PSC | What it describes | Obligations |
|---|---|---|
| J041 | HVAC and air-circulating equipment maintenance/repair | $426.6 million |
| Z2JZ | Repair or alteration of miscellaneous buildings | $390.6 million |
| J045 | Plumbing and heating equipment maintenance/repair | $257.0 million |
| Z1DA | Maintenance of hospitals and infirmaries | $205.0 million |
| Z2AA | Repair or alteration of office buildings | $161.5 million |
Those five categories account for only 45.5% of the three-year total. The rest is distributed across hospital alterations, administrative facilities, office maintenance, equipment installation, heating and cooling plants, and other facility categories.
If a contractor watches only J041, it may find relevant work—but it will not see the whole market captured by the NAICS category.
This is the vocabulary problem in federal contracting. A business may describe itself as:
Commercial HVAC preventive maintenance, chiller repair, building controls, and emergency service.
The government may buy related work as equipment maintenance, hospital maintenance, office-building alteration, mechanical-system repair, plant maintenance, or installation. The contractor and the buyer can be talking about the same capability with very different words.
What an HVAC contractor should do with this information
1. Pick two buyer environments
Do not begin with all of DoD and all of VA. Choose two environments where your past performance is credible—for example, medical facilities and office buildings, or Navy installations and heating plants.
2. Study the subagencies and incumbents
Identify who buys, who performs the work now, and which award descriptions resemble your actual capability.
3. Build a vocabulary set
Track capability phrases and relevant NAICS and PSC codes together. Codes are clues, not a substitute for reading the underlying award evidence.
4. Investigate historical periods of performance
An ending period of performance is a research signal, not a promise of a recompete. Verify the award, modifications, current acquisition strategy, and any active notice in official systems.
5. Use SAM.gov for current opportunities
SAM.gov is the free, official source for federal contract opportunities. Historical market research should make your SAM.gov monitoring narrower and more intentional—not replace it.
Product boundary: what this article did not test
The quantitative findings above came from USAspending API aggregations. This article did not compare FedFathom with a USAspending keyword baseline, score result relevance, estimate precision, or inspect false positives and baseline-only findings.
FedFathom is intended to help organize historical award evidence around capability language, buyers, vendors, codes, representative awards, and period ends. That intended use is a product description, not a conclusion demonstrated by this HVAC analysis.
It is designed for the step before opportunity pursuit: deciding where your capabilities fit and where deeper research is worth the time. You can create an account and run five free searches. A useful first prompt for this market is:
I maintain and repair commercial HVAC systems for hospitals and large facilities, including chillers, air handlers, preventive maintenance, emergency service, and building controls.
FedFathom is a research aid, not an official government source or a guarantee of future awards. Verify material information through the linked official records.
Methodology and limitations
This analysis was performed on July 24, 2026 using official USAspending API endpoints. Filters covered October 1, 2022 through September 30, 2025; contract award type codes A, B, C, and D; and required NAICS code 238220. Dollar figures are transaction obligations. The award count is returned at the award level, so it is not the same grain as transaction-level dollar totals.
Obligations can include positive and negative modifications. They are not contract ceilings, revenue, profit, or a forecast. USAspending data may be revised. NAICS 238220 includes plumbing and heating work in addition to air conditioning and does not represent every award an HVAC contractor might consider relevant.
Agency and PSC shares use the $3.165 billion transaction-obligation total as their denominator. The 12,667 count is award-level and must not be divided into that dollar total. Recipient rows were not normalized to parent companies, and this analysis did not measure blank-field coverage for recipient or PSC categories. Historical awards do not prove that a future solicitation or recompete will occur.