NAICS Codes Explained: Your Complete Guide to Government Contracting
Master NAICS codes for government contracting success. Learn how to find, select, and leverage the right codes to win more bids and maximize opportunities.
Why a Six-Digit Number Controls Your Federal Pipeline
A small IT firm in Virginia once lost a $2.3 million set-aside award because the contracting officer determined the solicitation NAICS code (541512, Computer Systems Design Services) did not match the firm's primary SAM.gov registration code (541511, Custom Computer Programming Services). The protest was denied. The firm was technically registered, technically capable, and technically small under both codes. But the mismatch created enough ambiguity that the CO moved on. That is what happens when contractors treat NAICS codes as administrative overhead instead of competitive infrastructure.
North American Industry Classification System (NAICS) codes are six-digit numbers that classify businesses by primary economic activity, created jointly by the United States, Canada, and Mexico to standardize industry categorization across the continent. For federal contractors, they do three concrete things: determine which solicitations you can compete on, establish the size standard that governs your small business status, and signal to contracting officers what your firm actually does. Get them wrong and you lose opportunities before the RFP even hits your inbox.
How the Six-Digit Hierarchy Works
Each digit position narrows the classification from broad economic sector down to a specific national industry. The structure matters because agencies sometimes set aside work at the four- or five-digit level in market research, even if the final solicitation carries a six-digit code.
- First two digits: Economic sector (54 covers Professional, Scientific, and Technical Services)
- Third digit: Subsector (541 is Professional, Scientific, and Technical Services)
- Fourth digit: Industry group (5415 is Computer Systems Design and Related Services)
- Fifth digit: Industry (54151 is Computer Systems Design Services)
- Sixth digit: National industry (541511 is Custom Computer Programming; 541512 is Computer Systems Design Services)
That one-digit difference between 541511 and 541512 carries different size standards and attracts different agency buyers. Knowing where your work actually falls in this hierarchy prevents the kind of mismatch described above.
Selecting Your Primary NAICS Code: The Revenue Test
Your primary NAICS code must represent the business activity generating the largest share of your revenue. This is not aspirational. It is not what you want to grow into. It is where the money came from over the past three fiscal years.
The Three-Year Revenue Analysis
Pull your financial records and categorize revenue by activity type. If 60 percent of your income came from managed IT services and 40 percent from cybersecurity assessments, your primary code is likely 541513 (Computer Facilities Management Services) or 541512, not a security-specific code. Document this analysis. If SBA ever audits your size status, that documentation is your first line of defense.
New businesses without three years of history should base their primary code on their business plan's projected primary revenue source, supported by signed contracts, letters of intent, or teaming agreements. "We plan to do everything" is not a defensible answer to an SBA size protest.
Secondary Codes in SAM.gov
SAM.gov allows you to list multiple NAICS codes in your entity registration. Use this. A construction firm doing both 236220 (Commercial Building Construction) and 237310 (Highway, Street, and Bridge Construction) should list both. Contracting officers run vendor searches by NAICS code during market research, and if you are not listed under a relevant code, you will not appear in those searches, even if you are fully capable of performing the work.
There is no penalty for listing secondary codes, but your primary code drives your size standard determination for any given solicitation. When a CO assigns a NAICS code to a solicitation, your size is measured against that code's standard, using your revenues or employee count as applicable.
Size Standards: Where the Numbers Get Consequential
Every NAICS code carries an SBA-assigned size standard. These are not uniform. They vary by industry and use either average annual receipts (most service industries) or number of employees (most manufacturing and some construction codes). Assuming all professional services codes share the same threshold is one of the most common and costly mistakes in federal contracting.
A few concrete examples from the current SBA table:
- 541330 (Engineering Services): $25.5 million in average annual receipts (except for military and aerospace engineering, which uses an employee-based standard)
- 541611 (Management Consulting Services): $24.5 million
- 236220 (Commercial and Institutional Building Construction): $45 million
- 334111 (Electronic Computer Manufacturing): 1,250 employees
- 561320 (Temporary Staffing Services): $34 million
Note that size standards were updated in 2024. Always verify against the current SBA size standards table at sba.gov rather than relying on figures from older proposal templates or blog posts (including this one, if you are reading it more than a year after publication).
Affiliate Relationships and the Size Calculation
SBA affiliation rules require you to aggregate revenues or employees across affiliated entities when calculating size. If your firm shares common ownership, common management, or has an economically dependent relationship with another company, those entities' revenues count toward your total. Contractors who ignore affiliation and self-certify as small on a solicitation where they are actually other-than-small face False Claims Act exposure. If your ownership structure is complex, get a size determination from SBA before self-certifying on a high-value contract.
NAICS Codes and Set-Aside Eligibility
Small business set-asides, 8(a) Business Development program contracts, WOSB set-asides, SDVOSB set-asides, and VOSB set-asides all hinge on your size status under the solicitation's assigned NAICS code. A firm that is small under 541512 ($34 million, verify current figure at sba.gov) may be other-than-small under a manufacturing code with a 500-employee cap. Your eligibility for a specific set-aside is always code-specific, not a blanket status.
When an agency assigns what you believe is the wrong NAICS code to a solicitation, you can challenge it. FAR 19.102 and the SBA's regulations at 13 CFR Part 121 provide the mechanism. You file the challenge with SBA's Office of Hearings and Appeals (OHA) before the offer due date. Winning a NAICS code challenge can shift the size standard and change who is eligible to compete, which is why capture managers should review the assigned code on every solicitation, not just the scope of work.
Using NAICS Codes for Market Intelligence
Your NAICS codes are also research tools. USAspending.gov lets you filter award data by NAICS code, fiscal year, agency, and place of performance. Before you pursue a new code, run this analysis:
- Search USAspending.gov for your target NAICS code filtered to the past three fiscal years.
- Identify the top five buying agencies by total obligated dollars.
- Note the average contract value and predominant contract vehicle type (IDIQ, BPA, standalone).
- Check whether awards were set aside or full-and-open competition.
- Look at the incumbent awardees to assess concentration. If one firm holds 70 percent of awards, that is a different competitive environment than a fragmented market.
This takes about 30 minutes per code and tells you whether a market is worth pursuing before you invest in capability development, certifications, or GSA MAS schedule additions.
SAM.gov Vendor Searches
Contracting officers conducting market research under FAR 10.001 frequently run SAM.gov searches by NAICS code to identify potential sources. If your registration does not include the relevant code, you are invisible to that research. This is how firms miss RFIs that would have put them on the competitive radar months before the formal solicitation.
NAICS Code Updates and the 2022 Revision
NAICS codes are revised every five years. The 2022 revision added and modified several codes, particularly in information technology and professional services. The next revision cycle is 2027. When a new version releases, review your entire NAICS portfolio in SAM.gov. Codes can be renumbered, merged, or split, and a code that existed in your registration under the 2017 system may map to a different six-digit number under the current system. SBA publishes a crosswalk table with each revision. Use it.
Tracking Performance by Code
Once you have won contracts under multiple NAICS codes, track your win rate, average contract value, and CPARS ratings by code. Some firms discover they win consistently under one code but rarely under another, despite similar technical capabilities. That pattern usually points to past performance gaps, pricing misalignment, or a competitive set that is simply too dense. Redirecting business development resources toward codes with stronger win rates is a data-driven decision, not a retreat.
Practical Takeaway
Audit your SAM.gov NAICS code list this week. Confirm your primary code reflects your actual revenue mix, verify the current size standard at sba.gov, add any secondary codes relevant to your pipeline, and run a USAspending.gov pull on each code you plan to pursue in the next fiscal year. That 90-minute exercise will surface mismatches, market intelligence, and competitive gaps that most small business contractors never find until they are already losing bids.
If you want a faster way to match your capabilities to open solicitations by NAICS code and analyze the competitive landscape before you commit to a pursuit, Winrove (a product of IT Custom Solution LLC, plans from $49/mo) does that analysis in minutes rather than hours.
Find your next federal contract before everyone else does.
Winrove watches SAM.gov, scores each opportunity against your profile, and drafts a first-pass response in minutes.
Start your free trial →