How the numbers are produced, before any are published
Periodic analysis of procurement activity — volumes, categories, timelines and competition — with the data source and the method stated so the figures can be checked.
Procurement is one of the most comprehensively published datasets in government and one of the easiest to count wrongly. This page sets out what our analysis will cover and — more usefully today — the specific ways public procurement data misleads anybody who adds it up without reading the footnotes.
The standard every figure has to meet
The source is named, and it is a public one
Every figure traces to a dataset a reader can download — federal award and solicitation data, state and local portals, or our own record of what those portals published. A number sourced to "our data" without a way to check it is a number asking to be taken on trust.
The population is stated before the finding
Which buyers, which instruments, which window, and what was excluded. Most disagreements about procurement statistics are disagreements about the denominator, and stating it first ends them.
The method is reproducible from the description
If a reader with the same source cannot get the same answer from what is written, the description is incomplete. That includes the deduplication rule, which changes the count more than any other choice.
Coverage gaps are stated as gaps
No corpus of public procurement is complete. Portals behind registration walls, buyers who publish only as PDF, and postings with no machine-readable form are all absent, and an analysis that does not say so is claiming a completeness nobody has.
Counts are not predictions
What was published is a measurement. What will be published is a forecast, and the two are labelled differently no matter how confident the trend looks.
Nothing is published here yet
What the analysis will cover
Volume and seasonality
Published solicitations by tier of government and by month, against the fiscal calendars that actually drive them — which are not the same calendar in any two tiers.
Response windows
How much time buyers give, measured from publication to closing and from publication to the question deadline. The second is the one that decides whether a bid is workable.
Competition
How many offers solicitations attract, where that is published, and how it varies by instrument, category and buyer size.
Set-asides
The share of published opportunity restricted by designation, and how that differs between what is set aside and what is ultimately awarded.
Recompete pressure
Contracts approaching the end of their term, with option years accounted for — the pipeline that exists before anything is solicited.
Publication practice
How buyers actually publish: formats, notice periods, amendment frequency, and how much of it is machine-readable at all.
How procurement data misleads people who count it
These are properties of the public datasets rather than of any product, and they are the reason two competent analysts produce different totals from the same download. Anybody doing their own analysis will meet all of them.
| The trap | What goes wrong | What to do instead |
|---|---|---|
| Obligations read as spending | Federal award data records what was obligated, not what was paid. Totals built from obligations describe commitments, and outlays follow on a different schedule. | Say which one you are counting, in the sentence that carries the number. |
| Modifications counted as awards | Award data carries one row per action, and a contract amended twelve times contributes thirteen rows. Counting rows inflates both the count and the value. | Aggregate to the base award, then decide separately whether modifications belong in the total. |
| Ceilings read as revenue | A multiple-award vehicle publishes a ceiling covering every holder. Reading it as the winner’s revenue overstates by the number of holders, and the work is competed again as task orders. | Treat vehicle awards and task orders as different populations. Never add them. |
| Industry codes taken as fixed | The code assigned to a solicitation is the buyer’s judgement, it varies between buyers for identical work, and it changes across classification revisions. | Group by code for browsing; do not build a time series on one without accounting for revisions. |
| Aggregator copies counted twice | The same solicitation appears on a buyer’s portal, a state system and one or more aggregators, with different titles and sometimes different dates. | Deduplicate on buyer, solicitation number and closing date before counting anything, and say which copy won. |
| Missing dates filled in | A closing date published without a time is not a midnight deadline, and inferring one produces a spurious cluster at the end of every day. | Keep absence as absence, and exclude records missing the field you are measuring. |
| Fiscal years assumed to agree | The federal year ends 30 September; most states end 30 June; local buyers vary. A calendar-year chart hides the seasonality that actually drives publication. | Segment by tier before looking for a seasonal pattern, or the two cancel each other out. |
Award data and solicitation data are also different populations with different coverage. A great deal of published opportunity never produces a published award, and a great deal of published award was never a published opportunity.
Where the underlying data comes from
Federal solicitation and award data is published centrally and is the most complete tier by a wide margin. State procurement is published per state, in formats ranging from a structured feed to a page of links. Local procurement — cities, counties, districts and authorities — is the largest tier by number of buyers and the least consistently published, and it is where a corpus is built rather than downloaded.
That asymmetry is itself a finding worth stating whenever a chart is broken down by tier: an apparent difference in volume between federal and local is partly a difference in how comprehensively each tier publishes.
What is in the corpus
What a record holds, how duplicate postings across portals are matched into one, and what it is safe to conclude from an absence.
The dates that drive the cycle
Fiscal years, question deadlines and option years — the calendar behind the seasonality any volume analysis will find.
Common questions
- When does the first report publish?
There is no date on this page, deliberately. The corpus is still growing, and an analysis run too early measures our collection schedule rather than procurement activity.
- Why publish the method before any findings?
Because the method is the part that can be checked, and committing to it before there is a result to defend is the only time that commitment costs anything. It is also the more useful half for anybody doing their own analysis.
- Can I cite figures from RFP.co?
When there are figures to cite, each will carry its source, its population and its method, and citation is welcome on those terms. Until then there is nothing here to quote, which is the point of saying so.
- Why is federal data so much more complete than local?
Because federal publication is centralized and mandated, while local publication is thousands of buyers each choosing their own portal, format and notice period. The difference in the data is largely a difference in publishing practice rather than in activity.
- What is the single most common error in procurement analysis?
Counting rows in award data. A contract modified a dozen times contributes a dozen extra rows, so both the count and the total value inflate — and the inflation is invisible unless you aggregate to the base award first.
Related
Search open solicitations by agency, category and due date.
Closing dates, pre-bid meetings and question deadlines.
Pipeline, win rate and where responses actually lose.
Procurement terms, defined plainly.
See what you are not bidding on.
Connect a source, describe what your company does, and look at the opportunities that come back before deciding whether any of this is worth your time.