Federal Procurement Forecasts: What the Data Actually Is
Updated
A procurement forecast is an agency saying, in advance, what it plans to buy, often months to years before a solicitation posts to SAM.gov. It is the only forward-looking layer in federal contracting data: everything else records what already happened or what is open now. We ingest three of these forecast feeds and normalize them into one shape. As of July 22, 2026 that is 12,048 forecasts across ten civilian agencies. This is the honest write-up of what that data is, what it covers, where it is thin, and the specific things about the public feeds that cost us time.
Read this first: a forecast is a plan, not a commitment.
Every record is an agency projection, subject to revision, delay, or cancellation. Dollar figures are ranges, dates are estimates, and a planned FY2027 award may slip a year or never solicit at all. Treat a forecast as a lead worth positioning against, not as a guaranteed opportunity. The value is the lead time, not the certainty.
Where this data comes from
Under the Small Business Act (15 U.S.C. 637) and FAR Part 19, each agency's Office of Small and Disadvantaged Business Utilization must publish an annual projection of upcoming requirements. So the source of every forecast is an agency small-business office, not a central procurement system. That is why the data is fragmented by design: each office publishes its own way, on its own schedule, in its own shape. There is no single federal forecast feed. There are dozens of agency ones, plus two aggregators.
The three sources
| Source | What it is | Records |
|---|---|---|
| GSA FCO | The Forecast of Contracting Opportunities, a government-wide aggregator. Not one agency: multiple civilian agencies publish through it. | 7,622 |
| DHS APFS | The Department of Homeland Security's own Acquisition Planning Forecast System. The cleanest single feed: named contacts, dollar ranges, specific set-asides. | 754 |
| HHS | The Department of Health and Human Services small-business forecast. Good dollar coverage, but coarser on some fields (see below). | 3,672 |
What it covers, and what it does not
This is the part people get wrong. It is not "all federal procurement forecasts." It is a specific slice, and the shape matters if you are deciding whether it is useful to you.
- 10 agencies, all civilian. Zero DoD.
- 87% of records are under $10M (59% under $1M)
- 71% carry a small-business set-aside flavor
- 1,537 name an incumbent contract (the recompetes)
The biggest buyer is absent. Every agency in the data is civilian: HHS (3,672), Interior (3,145), Agriculture (2,519), DHS (754), VA (697), Transportation (675), GSA (320), Labor (145), the Nuclear Regulatory Commission (89), and the National Science Foundation (32). The Department of Defense, roughly half of all federal contract dollars, does not appear. DoD components do not feed these forecast systems; they run separate industry-day and "APBI" processes that publish as unstructured slide decks, not a feed. If your work is defense-heavy, this dataset is thin for you, and that is worth knowing up front.
It is small-business oriented, by statute. 6,631 records (55%) name a specific set-aside program (8(a), WOSB, HUBZone, SDVOSB); another 1,902 carry a general small-business flag. Only 310 (2.6%) are explicitly full-and-open. That follows from the source: these come from small-business offices, whose job is to surface work small firms can win.
The work is services and construction. By NAICS, the largest domains are professional, scientific and technical services (2,892 records), construction (1,932), manufacturing (2,718 across two sectors), and administrative and facilities support (1,078). This is the work that is accessible to small and mid-size firms, not major systems programs.
Coverage varies by source, and it is uneven
The three feeds do not carry the same fields at the same fidelity. In practice:
- Set-aside granularity is specific (8(a), WOSB, HUBZone, SDVOSB) on the GSA and DHS feeds, but HHS publishes only a coarse small-business / full-and-open flag. A search for a specific program will not match HHS records, because HHS never states the program.
- Estimated quarter is present on the GSA and DHS feeds and absent on HHS.
- Source data defects pass through. The feeds contain impossible values we do not silently correct: an HHS estimated award year of 20247, a GSA year stored as "24". Cleaning upstream values would quietly diverge from the system of record, so we surface them as-is and document the gotcha instead.
There is no official API for this
The forecasts are public, but there is no single, documented way to consume them. The government-wide GSA Forecast of Contracting Opportunities is a web tool, with no sanctioned public API. DHS and HHS each run their own separate system, in their own shape. The data is fragmented by design, and assembling a clean, complete, normalized version is the actual work. A few of the realities:
- Dollar values are stored as internal codes, not readable ranges like "$2M to $4.9M". Read them naively and every value is blank, so no amount filter works until they are decoded. We decode them: the GSA value fill goes from 0% raw to 99.7% usable.
- The published count is inflated. The GSA forecast reports a total above 9,600, but only about 7,631 of those are distinct, real records. The number it publishes disagrees with the data behind it, so anyone who trusts the headline count spends days chasing roughly 2,000 records that do not exist. We reconcile to the real set.
- The shapes are inconsistent, even within one source, so a reader that assumes a single format silently drops records.
What we do: assemble the three feeds into one normalized shape, decode the coded values, and refresh daily, so a single search covers all three at once.
The useful part: who holds it now
The strongest signal in this data is the recompete. When a forecast replaces an existing contract, it names the current contract number. 1,537 records (13%) do. On its own that is just a number; joined to federal award data (FPDS), it becomes the displacement view: who holds the work today, what it is worth, and when their period of performance ends. That is the question a capture team is actually asking, "which incumbents in my market are up, and when," and it is the piece you cannot reconstruct from the forecast feed alone, because it requires the award history on the same contract number.
The forecasts, normalized, with the incumbent join.
The three feeds in one API, values decoded, recompetes joined to the current award and its expiration. Free for search and points of contact by name; the direct contact lines and the incumbent block are on Pro. Forecasts API reference.
Official sources
- GSA Forecast of Contracting Opportunities, the government-wide aggregator
- DHS Acquisition Planning Forecast System (APFS)
- HHS Office of Small and Disadvantaged Business Utilization
- acquisition.gov procurement forecasts directory, the list of agency OSDBU pages