What federal contracts actually pay, by NAICS, contract type, and set-aside, and where your own number ranks against them.
Pricing a federal bid starts with one question: what does a contract like this go for? The honest answer is not a single number. It is a distribution, read at the right scope, and this page gives it to you from the record itself: 9.8 million federal prime contract awards turned into percentile benchmarks by industry, contract type, and set-aside, plus a way to drop in your own value and see exactly where it ranks against real comparable contracts. Every figure below is computed from awarded contracts, not estimated.
It depends far more on the contract's pricing type and scope than on the industry. Within a single NAICS code, the median award can run from tens of thousands of dollars for firm-fixed-price work to hundreds of millions for cost-reimbursement work. So the useful answer is a distribution, read for the right contract type at the right scope, not an industry-wide average.
As a concrete anchor: in computer systems design (NAICS 541512), the median firm-fixed-price contract is about $66,000, while the median time-and-materials contract is about $7.1 million and the median cost-plus-award-fee contract is about $207 million. Same industry code. The rest of this page shows how to read that correctly, and how to place your own number in it.
Three things move a contract's value by one to three orders of magnitude before you even reach who won it. Miss any one and your benchmark is off by 5x to 100x.
Every award carries three different dollar figures, and they are routinely confused:
On a competed 8(a) IT award, those three figures can read $1.5M, $4.6M, and $8.6M for the same contract. Benchmark off the wrong one and you misprice by 3x. A benchmark that means anything has to say which figure it is using; the ones here use current total value, the full deal, unless you ask for another.
Firm-fixed-price work is mostly defined, smaller buys. The staffed engagements, the ones with real labor content, live in the time-and-materials, labor-hour, and cost-reimbursement lines. Blend them into one "average" and you get a bimodal number that describes no real contract. This is the single biggest reason free averages mislead, and why every benchmark on this page is broken out by contract type.
A NAICS code is an industry, not a work-size. Inside 541512 firm-fixed-price, the product/service code splits the field into genuinely different sub-markets: IT business-application buys run a median near $25,000, while engineering-support engagements run near $2.25 million, roughly 90x apart, under the same NAICS. Set-aside is a value signal too, for the same reason: agencies route larger, deliberately scoped work through set-aside vehicles (see the set-aside table below).
Median award value for the professional-services, engineering, and R&D codes most contractors compete in, split by pricing structure. The "fixed-price" column is firm-fixed-price work; the "services" column is the staffed time-and-materials and cost-reimbursement lines. Read the gap between the two: it is why a single blended number is meaningless.
| NAICS | Industry | Fixed-price median | Services median |
|---|---|---|---|
| 541512 | Computer systems design services | $66,000 | $5.3M |
| 541511 | Custom computer programming | $490,000 | $3.3M |
| 541519 | Other computer-related services | $69,000 | $2.6M |
| 541330 | Engineering services | $441,000 | $2.5M |
| 541715 | R&D, physical / engineering / life sciences | $250,000 | $2.0M |
| 541611 | Administrative management consulting | $436,000 | $765,000 |
| 541990 | Other professional, scientific & technical | $211,000 | $483,000 |
| 541620 | Environmental consulting | $150,000 | $313,000 |
| 541380 | Testing laboratories | $34,000 | $879,000 |
| 562910 | Remediation services | $220,000 | $588,000 |
| 561210 | Facilities support services | $35,000 | $543,000 |
| 561320 | Temporary help services | $105,000 | $265,000 |
| 561612 | Security guards and patrol | $730,000 | $20,000 |
| 238210 | Electrical contractors | $81,000 | $63,000 |
| 541930 | Translation and interpretation | $3,600 | $33,000 |
Median current total value, recent fiscal years. Security guards (561612) inverts the usual pattern: large fixed-price base contracts drawn down through small hourly task orders. That kind of sector nuance is exactly what a generic average erases, and why the benchmark reads each contract type separately.
The same NAICS, computer systems design (541512), by contract pricing type. This is the spread a blended average hides, and the reason a comparable is only honest when it is read for one pricing type at a time.
| Contract pricing type | Median value |
|---|---|
| Firm fixed price | $66,000 |
| Cost plus incentive fee | $216,000 |
| Labor hours | $3.5M |
| Cost plus fixed fee | $6.1M |
| Time and materials | $7.1M |
| Cost plus award fee | $207M |
From firm-fixed-price to cost-plus-award-fee, the median moves more than 3,000x, inside one industry code. Firm-fixed-price dominates by count (the small, defined buys); the cost and labor-based types carry the large staffed programs.
The same NAICS (541512), by set-aside, using current total value. Set-aside work runs far larger at the median than the open field, mostly a selection effect: agencies route substantial, deliberately scoped services work through these vehicles. The lesson for a bidder is to benchmark against your own lane, not the open-market number.
| Set-aside | Median value |
|---|---|
| No set-aside | $76,000 |
| 8(a) sole source | $2.4M |
| Small business (total) | $2.5M |
| 8(a) competed | $4.6M |
| Service-disabled veteran-owned (SDVOSB) | $5.9M |
The NAICS codes with the most federal contracts are not the lucrative ones. They are commodity supply codes bought in enormous volumes of tiny purchase orders. The highest-count industries and their median firm-fixed-price value:
| NAICS | Industry | Contracts | Median |
|---|---|---|---|
| 423450 | Medical, dental & hospital equipment | 1,100,000+ | $283 |
| 311991 | Perishable prepared food manufacturing | 894,000 | $474 |
| 424210 | Drugs and druggists' sundries | 637,000 | $1,247 |
| 444110 | Home centers | 327,000 | $28 |
Over a million medical-equipment "contracts" at a $283 median: these are commissary and depot micro-purchases, the long tail of routine federal buying. Anyone benchmarking on raw counts drowns in sub-$1,000 supply transactions. The services work contractors compete for lives in a smaller, higher-value slice, which is exactly why it needs its own scoped view.
You do not need us to do this. The award data is public, and the method is not a secret. Here is the actual workflow, step by step, so you can run it yourself, and so you can see exactly what one API call is standing in for. Every one of these steps is a place the naive version goes wrong.
That is days of work, per bid, that goes out of date. Two API calls return the same result, kept current: the benchmark endpoint for the distribution, the position endpoint for your rank plus the real comparables. If maintaining that pipeline is worth your time, the data is public and the steps above are the whole method, genuinely, go build it. If not, that is exactly what this is for.
The benchmark endpoint returns the value distribution for a NAICS, segmented by contract pricing type and scopable by set-aside and product/service code. You get percentiles, never a single average, so one billion-dollar mega-vehicle cannot distort the picture.
Read the range, not a point. In this segment the middle half of contracts spans roughly $1.9M to $12M; the median alone hides that. Full benchmark API reference.
This is the endpoint that replaces the whole workflow. Pass your own contract or bid value and the same scope, and it returns your percentile rank, plus the actual comparable contracts nearest your number, so an 80th-percentile you can see is justified once you look at the deals around it.
That is the difference between a number and a decision. The rank tells you where you stand; the contracts tell you whether standing there is justified. The judgment stays yours. Full position API reference.
Contractors and contracting officers reach for historical award values under several names. They are the same market read, put to different uses:
In every case the value is the historical distribution read at the right scope. That is what these endpoints return, and the reason to use the pricing-type and PSC filters rather than a raw NAICS average.
The pricing endpoints are on every paid plan; both share one daily call quota, counted across the benchmark and position endpoints together.
It depends far more on the contract's pricing type and scope than on the industry code. In one NAICS, the firm-fixed-price median can be tens of thousands of dollars while cost-reimbursement work runs into the hundreds of millions. The honest answer is a distribution read at the right scope, which is what the benchmark returns.
There is no single meaningful average per NAICS, because a NAICS mixes contract types and work-sizes that differ by orders of magnitude. The useful figure is a median (and the interquartile range) read separately for each contract pricing type and scope. The tables above show those medians for the most-competed services codes.
Price-to-win is the competitive pricing judgment a capture team makes about the number most likely to win a specific bid, factoring in the market range, competitor behavior, the evaluation method, and the team's own cost structure. Historical comparable-award values are a core input to it, but not the entire analysis.
Traditionally you pull historical awards from the public federal award data (now consolidating into SAM.gov, with USAspending as the other source), filter to your NAICS, agency, and contract vehicle, extract the awarded values, and normalize for scope and duration. The position endpoint does this in one call: it returns the comparable set for your scope and the specific contracts nearest your value.
It maps to it. Comparing a proposed price to the prices at which the same or similar items have previously sold is a codified price-analysis method, and it is also how a contractor sanity-checks a bid or builds an independent government cost estimate. The benchmark is that comparison, computed for you.
A small number of billion-dollar mega-vehicles will drag any average into fantasy. The median and the interquartile range are robust to those outliers, so they describe the contract you are actually pricing rather than the tail.
Yes. Within computer systems design (NAICS 541512), the median moves from about $66,000 for firm-fixed-price to about $207 million for cost-plus-award-fee. Firm-fixed-price carries the small, defined buys; the cost and labor-based types carry the large staffed programs. Comparing across types is the most common pricing mistake.
Obligated value is the money placed on the contract to date, which undercounts a multi-year award still funding. Current total value is the full deal, base plus exercised options. Potential value adds every unexercised option, the ceiling. For "what a contract like this is worth," current total value is the right anchor.
You can; the underlying award data is public. It is a multi-day pull-filter-normalize exercise per bid, made harder by an active transition: FPDS.gov was decommissioned in February 2026 and its data feeds are being retired during 2026 as contract-award access consolidates into SAM.gov, so the DIY pipeline is now a moving target. These endpoints collapse the work into one call and keep it current. If building and maintaining that pipeline is worth your time, do it; if you want the answer defensibly in one request, use the API.
No, by design. It reports where your number sits in the historical field and shows the real comparable contracts behind that. It does not score win probability or make the bid decision. That judgment depends on the specific competition and your own strategy, and it stays with your team.
Awarded federal prime contracts, 9.8 million of them, refreshed daily from the federal award record. Values are surfaced as the system of record reports them.