Skip to main content

FedComp Index classification engine. Assigns contractors to four Posture Classes using two-axis classification (volume x frequency) from USASpending award data.

Project description

FedComp Index Scoring

FedComp Index

Federal contractor posture classification. Assigns every federal contractor to one of four Posture Classes using two-axis thresholds on base contract data from USASpending.gov.

No composite score. No weighted sum. Classification is structural: base contract dollars ($5M threshold) crossed with base contract count (3 threshold).

  • Class 1 - high volume + high frequency (systematic winners, $5M+ across 3+ base contracts)
  • Class 2 - high volume + low frequency (concentrated risk, $5M+ but fewer than 3 base contracts)
  • Class 3 - low volume + high frequency (growth pipeline, under $5M but 3+ base contracts)
  • Class 4 - low volume + low frequency (entry level, under $5M and fewer than 3 base contracts)

Install

pip install fedcomp-index

Usage

from fedcomp_index_scoring import classify, classify_contractor, PostureClass

# Classify from two axes
cls = classify(base_dollars=12_000_000, base_contract_count=5)
print(cls)   # PostureClass.CLASS_1

# Get a full result object
result = classify_contractor(base_dollars=12_000_000, base_contract_count=5)
print(result.posture_class)         # PostureClass.CLASS_1
print(result.base_dollars)          # 12000000
print(result.base_contract_count)   # 5

# Concentrated risk: high dollars, few contracts
result = classify_contractor(base_dollars=8_000_000, base_contract_count=1)
print(result.posture_class)   # PostureClass.CLASS_2

Classification methodology (v1.1)

Two axes, no normalization, no composite score:

Axis Threshold What it measures
Base contract dollars (5yr) $5M Volume of competitively won work
Base contract count (5yr) 3 Frequency of distinct wins

"Base contracts" means definitive contracts, purchase orders, and BPA calls. Delivery orders and task orders are excluded from classification (they inflate frequency without representing separate competitions).

Posture Class Volume Frequency Profile
Class 1 $5M+ 3+ contracts Systematic winner, repeatable pipeline
Class 2 $5M+ <3 contracts Concentrated risk, few large awards
Class 3 <$5M 3+ contracts Growth pipeline, building track record
Class 4 <$5M <3 contracts Entry level or dormant

Additional metrics

Beyond classification, this package provides:

Velocity - cadence-based per contractor. Compares early-half vs late-half award gaps to detect accelerating, on pace, slowing, declining, or inactive patterns. Requires 2+ base contracts.

from fedcomp_index_scoring import compute_velocity

v = compute_velocity(["2023-01-15", "2024-06-01", "2025-02-10"])
print(v["cadence"])   # "accelerating" / "on pace" / "slowing" / etc.

Proximity Map - inverse-frequency-squared weighting on shared NAICS/PSC codes, with scale filter (ratio^2 penalty for volume mismatches). Returns top 6 neighbors.

from fedcomp_index_scoring import build_proximity_map

neighbors = build_proximity_map(
    target_codes={"541511": 12, "R425": 3},
    target_volume=8_000_000,
    candidates=[
        {"id": "ABC", "codes": {"541511", "R425"}, "volume": 6_000_000},
        {"id": "DEF", "codes": {"541511"}, "volume": 50_000_000},
    ],
)
# ABC ranks higher: shared rare code + similar scale

Neighborhood Density - fraction of a contractor's neighbors that are also neighbors of each other. Higher density = tighter competitive cluster.

from fedcomp_index_scoring import neighborhood_density

d = neighborhood_density(
    neighbor_sets={"A": {"B", "C"}, "B": {"A", "C"}, "C": {"A"}},
    target_neighbors={"A", "B", "C"},
)

Full methodology: fedcompindex.org/methodology

Data sources

All data is sourced from public federal records:

  • USASpending.gov - award history, dollar amounts, agencies, NAICS codes, PSC codes
  • SAM.gov - entity registration, certifications
  • SBA.gov - small business certification verification

Live rankings

Classified contractor rankings with dossier pages, proximity maps, and velocity tracking:

  • Nevada - 348 contractors classified

Datasets

Pre-classified datasets available for download:

Also available on npm

npm install fedcomp-index-scoring

Links

Citation

@software{fedcomp_index,
  title = {FedComp Index},
  author = {FedComp Index},
  url = {https://fedcompindex.org/},
  year = {2026}
}

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fedcomp_index_scoring-2026.4.0.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fedcomp_index_scoring-2026.4.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file fedcomp_index_scoring-2026.4.0.tar.gz.

File metadata

  • Download URL: fedcomp_index_scoring-2026.4.0.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for fedcomp_index_scoring-2026.4.0.tar.gz
Algorithm Hash digest
SHA256 4ad9984fb3074a34137804031e46233264271ed606d7d10c56109bdcf6260384
MD5 f95813974d9b3dfd2586bc0293359b74
BLAKE2b-256 8c9ac75cfeddf3b54a86008d531daa7e0972ba871e5ee1f2a898e3a5211a0ce0

See more details on using hashes here.

File details

Details for the file fedcomp_index_scoring-2026.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fedcomp_index_scoring-2026.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd38eb287ca60fdb8d553a743dea38f42e47917f6027c0e24bfaa86a09ecc75a
MD5 45ebd4b6ef6e11996d8f84eb0b051df5
BLAKE2b-256 59aca4623eb10a7b101eab4f7987ea7163e901aa55de0df56f221bf6498cec11

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page