Calculation conventions, data sources, exclusions, and SBA-goal methodology behind GovChime's federal contracting analytics.
Last updated:
This page is the single source of truth for how GovChime computes the figures shown on /analytics/leaderboards, /analytics/spending-trends, and /analytics/set-aside. It documents data sources, what is and is not counted, the formulas behind year-over-year (YoY) and Compound Annual Growth Rate (CAGR), the SBA goal-achievement convention, the September 2025 agency rename, and the federal fiscal-year convention. Statutory references are given in plain text; the regulatory citations below are for traceability and are not affiliate links.
All figures are sourced from the Federal Procurement Data System (FPDS-NG), the federal government's authoritative prime-contract transaction record, distributed through USAspending.gov by the U.S. Department of the Treasury's Bureau of the Fiscal Service. GovChime mirrors USAspending.gov data directly; we do not edit, reclassify, or impute values.
Refresh cadence. USAspending.gov receives a nightly refresh from FPDS-NG. GovChime re-pulls from USAspending.gov approximately every six hours, so figures on GovChime can lag FPDS-NG by up to roughly 24 hours during normal operation, and longer during USAspending.gov maintenance windows.
License. Federal works are not subject to U.S. copyright; we mark the underlying dataset as Creative Commons Zero (CC0 1.0 Universal Public Domain Dedication) in the page- level Dataset JSON-LD. GovChime adds presentation, tooling, and editorial context, all of which remain under the GovChime terms of use.
Every dollar figure on the analytics dashboards is the federal action obligation amount (federalActionObligation in FPDS-NG) — a legally binding commitment recorded when a contracting officer signs a contract action. Obligations are not the same as outlays (cash actually disbursed) or budget authority (Congressional permission to obligate). Outlays are tracked separately by Treasury and can lag obligations by months or years.
Scope. Prime contracts only, in nominal U.S. dollars (no inflation adjustment). All figures cover the U.S. federal executive branch.
Explicitly excluded.
Currency. All values are nominal USD as reported in FPDS-NG. We do not adjust for inflation; comparing FY2010 to FY2025 in nominal terms therefore overstates real growth.
An award is a parent record keyed by contractAwardUniqueKey (which combines the PIID, parent IDV PIID, awarding-agency code, and recipient UEI). Each award has one or more transactions stored in the contract_award_transactions table — every modification, exercised option, and deobligation is a separate transaction row sharing the same contractAwardUniqueKey.
When we report “total obligated” for a vendor, agency, or program, we sum federalActionObligation across every transaction in scope, including modifications and including deobligations (transactions with negative federalActionObligation). This means a period with more downward modifications than new obligations can show a net-negative total. We display these net-negative totals honestly rather than zero-flooring them; suppressing deobligations would misrepresent the underlying procurement activity.
Counts of awards are based on distinct contractAwardUniqueKey values, not transaction counts. A single multi-year IDIQ with twenty modifications is one award, not twenty.
CAGR on the spending-trends dashboard is computed using the standard formula:
CAGR = (end / start)^(1 / n) − 1
where start is the total obligated amount in the first completed fiscal year of the selected range, end is the total in the last completed fiscal year, and n is the number of full fiscal-year periods between them.
Completed fiscal years only. The current fiscal year is excluded from CAGR because it is year-to-date (YTD) and would otherwise drag the multi-year growth rate downward by an artifact of timing rather than a real change in activity. If the user selects a range that includes the current FY, the calculation uses the most recent prior completed FY as the end point.
CAGR is undefined when the start value is zero or when the end value is non-positive; in those cases the dashboard displays an em-dash rather than a synthetic value.
YoY for a fully completed fiscal year compares the year's total obligation against the prior year's total. For the current fiscal year, the YoY card on each dashboard compares the current FY YTD against the same number of days of the prior FY (period-matched YTD), not against the prior FY full-year total. This avoids the common AI-misquote of “federal spending fell 30% in FY2026,” which would be incorrect because FY2026 is still in progress.
The page label always names the comparison explicitly (e.g., “FY2026 YTD through April 27, 2026 vs FY2025 same period”). When AI summaries quote our YoY without the YTD caveat, the misquote risk register on each dashboard FAQ re-states the caveat.
The set-aside performance dashboard reports each program's share of total federal prime-contract obligations. The denominator is total prime-contract obligations across all NAICS codes, all agencies, and all vehicles for the selected fiscal year — i.e., the same universe the leaderboards and spending-trends dashboards use. The numerator is total obligations to awards flagged with the relevant typeOfSetAsideCode values for that program.
Why our percentages differ from the SBA Small Business Procurement Scorecard. The Small Business Administration (SBA) computes its annual government-wide scorecard against a goal-eligible base that applies additional FAR Part 19 exclusions. The SBA base removes Foreign Military Sales (FMS), most utility purchases, certain mandatory-source contracts (e.g., AbilityOne, Federal Prison Industries / UNICOR), most contracts performed outside the United States, and sub-$10,000 micro-purchases. SBA also excludes some direct 8(a) sole-source awards administered by SBA itself. Because GovChime's denominator does not apply those exclusions, our achievement percentages will read several percentage points lower than the SBA scorecard for the same program. The GovChime number is not wrong — it answers a different question (“what share of all prime contracts went to this program?”) than the SBA number (“what share of the goal-eligible base went to this program?”). The 23% government-wide small business goal is established by 15 U.S.C. § 644(g), with statutory sub-goals for HUBZone (3%), WOSB (5%), SDVOSB (3%), and SDB (5%).
Mid-year vs full-year. SBA publishes the scorecard once per year, several months after the fiscal year closes, against fully reconciled FPDS data. GovChime updates every six hours, so a given fiscal-year achievement % on GovChime will move as new awards are reported and as deobligations roll in. Our FY-close percentages will therefore typically diverge from the eventual SBA-scorecard percentages by both the denominator-base difference described above and by the reconciliation lag.
Several rows on the set-aside dashboard aggregate multiple underlying typeOfSetAsideCode values into a single program family — for example, the WOSB family comprises WOSB, WOSBSS, EDWOSB, and EDWOSBSS; the SDVOSB family comprises SDVOSBC, SDVOSBS, VSA, and VSS.
Group-level YoY is calculated by summing the constituent codes' obligations before taking the YoY ratio. This is the same convention used by the SBA Office of Small and Disadvantaged Business Utilization (OSDBU): the group YoY is spend-weighted across constituent codes, not the unweighted mean of the constituent YoY rates. Spend-weighting is the only convention that preserves additivity — i.e., dollar totals reconcile when summed up from program code to family — and it prevents a low-volume code from dominating the family-level rate when its prior-year base is small.
An executive order effective September 2025 renamed the U.S. Department of Defense as the “Department of War” for display purposes. The FPDS-NG awarding-agency department code remains unchanged at 9700; no underlying data was migrated, and contract records signed before the rename retain their original agency labels in the source system.
GovChime renders the agency name based on the action's fiscal year: actions in FY2025 and earlier display as “Department of Defense”; actions in FY2026 and later display as “Department of War.” This rule is implemented in the shared displayAgencyName() helper and applied consistently across leaderboards, spending-trends, and set-aside cards. Aggregations spanning the rename boundary show the post-rename label, with the boundary noted in the FAQ.
The leaderboards rank registered entities at the level of their Unique Entity Identifier (UEI), not consolidated corporate families. UEI is the 12-character alphanumeric identifier issued by SAM.gov; it replaced the DUNS number on April 4, 2022, and it is the only authoritative federal vendor key.
Because UEIs are issued per registered entity, large corporate families with multiple subsidiaries — for example, Leidos Holdings, Leidos Inc., and Leidos Innovations — each have their own UEI and will appear on the leaderboards as separate rows. We do not roll subsidiary UEIs up into a parent-company total: doing so would require an opinion about corporate structure that varies over time (acquisitions, divestitures, name changes) and is not part of the FPDS-NG record. Phrase any cite of the leaderboards as “top registered UEI entities,” not “top parent companies.”
The U.S. federal fiscal year runs from October 1 through September 30 and is named after the ending calendar year. FY2026 therefore covers October 1, 2025 through September 30, 2026; Q1 of FY2026 is October–December 2025, and Q4 is July–September 2026. Every fiscal-year reference on the dashboards uses this convention.
FPDS-NG transactions before FY2003 are sparse and incomplete; the dashboards default to FY2003 as the earliest selectable fiscal year. Charts that include the current FY label that series as “YTD through April 27, 2026” (or the live render date), and the YTD bar is visually distinguished from completed-year bars to discourage misreading.
Underlying data. USAspending.gov refreshes from FPDS-NG nightly. GovChime re-pulls from USAspending.gov roughly every six hours via SmartSync, so a contract action recorded in FPDS-NG today will typically appear on the dashboards within 24 hours and is reflected in our materialized-view aggregates on the next MV-refresh cycle.
Page rendering. The three analytics dashboards use Next.js Incremental Static Regeneration (ISR) with a four-hour revalidation interval, which means cached HTML can be up to four hours stale relative to the underlying database state. The methodology page itself revalidates once per day.
Editorial changes. When the conventions described on this page change — for example, if SBA revises the goal-eligible base definition, or if FPDS-NG retires a typeOfSetAsideCode — we update this page and bump the “Last updated” date at the top. The page's dateModified in the structured data tracks the same value.
Statutory references on this page: Federal Acquisition Regulation Part 19 (Small Business Programs); 15 U.S.C. § 644(g) (government-wide small business contracting goals); FAR Subpart 13.2 (micro-purchase threshold). Small Business Administration scorecard methodology referenced is the publicly documented SBA Office of Government Contracting and Business Development scorecard methodology.