Spending Trends

Federal Contract Spending Distribution Trends

Federal Contract Spending Distribution Trends shows how federal contract spending changes across the visible time series in FPDS-derived procurement data.

The latest visible point is 2025 at 0. Across the visible range, the series changed by -100.00%.

Federal Contract Spending Spending Trends Spending Series Series

Updated 03/20/2026

Latest Period
2025
Visible Change
-100.00%
-5.7M
Peak Period
1962
5.7M
Trend Direction
Down
Very Strong

Analysis

The latest visible point is 2025 at 0. Across the visible range, the series changed by -100.00%.

Why it matters: Use this page to evaluate how federal contract spending levels shift over time and identify inflection points.

Methodology: The query returns a structured time series, detects a period column and a primary numeric metric, and computes visible-series statistics such as latest value, peak, low, and overall change.

Commentary

Federal Contract Spending Distribution Trends tracks federal contract spending over time in FPDS-derived data.

Key takeaway: The latest visible point is 2025 at 0. Overall visible change is -100.00%.

Analyst note: This page is best used for directional review, turning points, and quick comparison against related time windows or scopes.

Trend Chart

This chart plots Federal Contract Spending over the visible time series returned by the query.

Query Used

-- Federal Contract Spending Distribution Trends (percentile distribution by year)
SELECT
    fiscal_year,
    round(quantileExact(0.1)(obligated_amount), 0) AS p10,
    round(quantileExact(0.25)(obligated_amount), 0) AS p25,
    round(quantileExact(0.5)(obligated_amount), 0) AS median,
    round(quantileExact(0.75)(obligated_amount), 0) AS p75,
    round(quantileExact(0.9)(obligated_amount), 0) AS p90,
    round(avg(obligated_amount), 0) AS avg_award_size,
    count() AS award_count
FROM
(
    SELECT
        if(
            toUInt8(substring(content__award__relevantContractDates__signedDate, 6, 2)) >= 10,
            toUInt16(substring(content__award__relevantContractDates__signedDate, 1, 4)) + 1,
            toUInt16(substring(content__award__relevantContractDates__signedDate, 1, 4))
        ) AS fiscal_year,
        content__award__dollarValues__obligatedAmount AS obligated_amount
    FROM fpds.data
    WHERE
        contract_type = 1
        AND content__award__relevantContractDates__signedDate != ''
)
WHERE fiscal_year < toYear(today())
GROUP BY fiscal_year
ORDER BY fiscal_year ASC

Trend Table

This table shows the structured time series returned by the query.

Fiscal Year P10 P25 Median P75 P90 Avg Award Size Award Count
1962 5,696,246.00 5696246 5696246 5696246 5696246 5696246 1
1965 77,000.00 77000 77000 77000 77000 77000 1
1967 15,397.00 15397 57565 57565 57565 36481 2
1970 12,164.00 12164 12164 12164 12164 12164 1
1972 333,682.00 333682 333682 333682 333682 333682 1
1973 91,809.00 91809 91809 91809 91809 91809 1
1974 2,037,300.00 2037300 45520000 45520000 45520000 23778650 2
1975 88,000.00 88000 88000 88000 88000 88000 1
1976 0.00 0 1600 553193 10616140 49300619 46
1977 0.00 80000 500000 6545620 323038581 41477462 8
1978 0.00 98950 1666544 27848141 255748917 281801810 44
1979 11,000.00 15000 28000 70000 205000 233262 371375
1980 0.00 11000 21000 57000 176000 203755 506876
1981 11,000.00 14000 27000 70000 211000 259691 474463
1982 10,000.00 14000 25000 67000 209000 259800 534244
1983 6,000.00 22000 45000 110000 346000 365401 383153
1984 5,000.00 20000 45000 116000 359000 398154 392100
1985 4,000.00 20000 46000 119000 383000 436681 408866
1986 4,000.00 23000 48000 121000 396000 430083 401230
1987 4,000.00 23000 49000 125000 399000 420143 407831
1988 4,000.00 25000 50000 135000 430000 455774 387489
1989 3,000.00 28000 53000 141000 435000 458094 321544
1990 2,000.00 23000 49000 130000 405000 417276 365470
1991 2,000.00 16000 48000 130000 417000 411761 415026
1992 1,000.00 6000 36000 100000 332000 325240 483617
1993 1,000.00 9000 42000 113000 364000 348005 413876
1994 1,000.00 10000 43000 118000 375000 392064 437871
1995 0.00 5000 41000 114000 370000 338276 522464
1996 0.00 3000 37000 100000 335000 330215 586723
1997 0.00 18000 47234 123000 396996 356285 495758
1998 1,000.00 25440 50000 135000 427000 371037 500401
1999 1,000.00 26000 51046 141971 446000 365636 517585
2000 1,000.00 18500 48479 132302 423332 364102 568780
2001 589.00 15000 46000 125000 407199 362552 615910
2002 0.00 6000 37746 103500 370000 332355 795283
2003 0.00 3100 25770 80577 296000 286061 1135037
2004 0.00 52 4095 36000 147126 175547 1914145
2005 0.00 148 4596 20000 91200 136297 2851773
2006 6.00 70 2160 12476 64854 114771 3726190
2007 0.00 118 1785 11738 62769 116256 4011360
2008 0.00 113 1575 11008 61088 122347 4397524
2009 0.00 65 4030 19642 96993 160030 3351269
2010 0.00 75 4555 21574 100395 158645 3376050
2011 0.00 58 4683 21732 104800 165419 3231526
2012 0.00 40 4435 21026 106202 174727 2952307
2013 -5.00 0 6380 27135 137000 198082 2319396
2014 0.00 114 6900 28304 140248 189076 2333961
2015 0.00 71 897 9000 51025 103324 4182322
2016 0.00 78 753 7725 45000 100454 4624608
2017 0.00 65 747 7764 46618 106573 4716249
2018 0.00 102 591 6086 39200 101104 5407966
2019 3.00 72 372 2930 26503 92069 6297351
2020 0.00 63 352 2783 28804 108897 6050113
2021 0.00 75 376 2416 26462 102572 6187323
2022 0.00 67 384 2345 26367 106112 6426392
2023 0.00 78 413 2590 28000 115805 6459068
2024 0.00 80 421 2835 29700 115223 6440077
2025 0.00 83 425 2794 28937 123178 6333564

How This Trend Is Built

Measure how a selected procurement metric changes across time.

Query structure

  • The query selects a time dimension used as the x-axis for the trend.
  • It calculates or returns a numeric metric for each visible period.
  • The result is interpreted as a chronological series for trend analysis.
  • The metric focuses on obligated dollars or a directly related spending aggregate.

Included fields

  • fiscal_year — Defines the chronological unit used for the trend series.
  • p10 — Defines the main value plotted and analyzed over time.
  • p25 — Provides additional numeric context that can support interpretation.
  • median — Provides additional numeric context that can support interpretation.
  • p75 — Provides additional numeric context that can support interpretation.
  • p90 — Provides additional numeric context that can support interpretation.
  • avg_award_size — Provides additional numeric context that can support interpretation.
  • award_count — Provides additional numeric context that can support interpretation.

How to use this trend

  • trend direction analysis
  • time-series review
  • federal procurement timing analysis
  • spending trajectory review
  • budget pattern review

Computed Metrics

Series Points
58
First Visible Point
1962
5.7M
Mean
145,244.67
Median
1.50
Max
5,696,246.00
1962
Min
-5.00
2013
Volatility
782,442.70
782.44K
Rows Returned
58

Series Extremes

Largest Increase
1.95M
1973 → 1974 · 2,119.06%
Largest Decrease
-5.62M
1962 → 1965 · -98.65%

Related Pages

Method Notes

  • Trend interpretation is based on the returned query result set ordered by the detected period column.
  • Change metrics compare the first visible point and the latest visible point in the series.
  • Volatility is based on the standard deviation of the visible numeric series.

Use FPDS Query for deeper trend analysis

Go beyond the published time series with custom SQL, broader filters, saved queries, and deeper procurement analysis across agencies, vendors, industries, states, contract structures, and competitive segments.

Continue from this trend page into full FPDS Query workflows with deeper filtering, custom SQL, saved queries, and broader market comparison.