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
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:
- Nevada Federal Contractors - FedComp Index (HuggingFace)
- Nevada Federal Contract Awards - Monthly (HuggingFace)
- Nevada Federal Contractors - FedComp Index (Kaggle)
- Nevada Federal Contract Awards - Monthly (Kaggle)
Also available on npm
npm install fedcomp-index-scoring
- fedcomp-index - meta-package
- fedcomp-index-scoring - classification engine
- fedcomp-index-data - pre-classified datasets
Links
- Website: https://fedcompindex.org/
- Nevada Rankings: https://fedcompindex.org/nv/
- Methodology: https://fedcompindex.org/methodology/
- Tabularium: https://fedcompindex.org/tabularium/
- FAQ: https://fedcompindex.org/faq/
- Source: https://github.com/fedcompindex/FedCompIndex
- PyPI: https://pypi.org/project/fedcomp-index/
- PyPI (Scoring): https://pypi.org/project/fedcomp-index-scoring/
- PyPI (Data): https://pypi.org/project/fedcomp-index-data/
- HuggingFace: https://huggingface.co/datasets/npetro6/nevada-federal-contractors
- Kaggle: https://www.kaggle.com/datasets/npetro6/nevada-federal-contractors-fedcomp-index
Citation
@software{fedcomp_index,
title = {FedComp Index},
author = {FedComp Index},
url = {https://fedcompindex.org/},
year = {2026}
}
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a42e1bf82d4db1e21158368191b188a6642165827552c7032100e530936f1c8
|
|
| MD5 |
6abc7b52593b7b7b49d83f92934871f9
|
|
| BLAKE2b-256 |
97ef010a64760f3ed9f21f0f449b096fc264ccf3505d47d0ef4c676dabfb2bac
|
File details
Details for the file fedcomp_index_scoring-2026.4.1-py3-none-any.whl.
File metadata
- Download URL: fedcomp_index_scoring-2026.4.1-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f76269efd081710abdeaf9749c03071ebddf9a292ff8a991d18a3ab6792989ec
|
|
| MD5 |
47a64c2176602f261b0c0dcfbc294234
|
|
| BLAKE2b-256 |
4b81510fa839ec4976ba12ca66575a75d97a17423a284b63d301e6d39367aa1d
|