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 USASpending.gov award data.

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

  • Class 1 - high volume + high frequency (systematic winners, $5M+ total across 3+ base contracts)
  • Class 2 - high volume + low frequency (concentrated risk, $5M+ total but fewer than 3 base contracts)
  • Class 3 - low volume + high frequency (growth pipeline, under $5M total but 3+ base contracts)
  • Class 4 - low volume + low frequency (entry level, under $5M total 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(total_dollars=12_000_000, base_contract_count=5)
print(cls)   # PostureClass.CLASS_1

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

# Concentrated risk: high dollars, few contracts
result = classify_contractor(total_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
Total contract dollars (5yr) $5M Volume of all obligated dollars (base + delivery orders)
Base contract count (5yr) 3 Frequency of distinct base contract wins

Volume includes all contract types: definitive contracts, purchase orders, BPA calls, delivery orders, and task orders. Frequency counts definitive contracts and purchase orders only (BPA calls, delivery orders, and task orders are excluded from frequency because they do not represent independent competitions). Obligation Density (OD) = total dollars / base contracts.

Posture Class Volume Frequency Profile
Class 1 $5M+ total 3+ base contracts Systematic winner, repeatable pipeline
Class 2 $5M+ total <3 base contracts Concentrated risk, few large awards
Class 3 <$5M total 3+ base contracts Growth pipeline, building track record
Class 4 <$5M total <3 base 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.1.tar.gz (8.4 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.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fedcomp_index_scoring-2026.4.1.tar.gz
  • Upload date:
  • Size: 8.4 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.1.tar.gz
Algorithm Hash digest
SHA256 1a42e1bf82d4db1e21158368191b188a6642165827552c7032100e530936f1c8
MD5 6abc7b52593b7b7b49d83f92934871f9
BLAKE2b-256 97ef010a64760f3ed9f21f0f449b096fc264ccf3505d47d0ef4c676dabfb2bac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fedcomp_index_scoring-2026.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f76269efd081710abdeaf9749c03071ebddf9a292ff8a991d18a3ab6792989ec
MD5 47a64c2176602f261b0c0dcfbc294234
BLAKE2b-256 4b81510fa839ec4976ba12ca66575a75d97a17423a284b63d301e6d39367aa1d

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