View 3 · Factors

Benchmarks

Every factor below is computed from the extracted corpus, and every factor that the corpus cannot support is shown as blocked rather than filled with a plausible number. Factors describe effort and duration only — price is a separate rate-card × role-mix × margin layer.

Derived factors

Derived Metric
FactorUnitStatusnp25p50p75Basis mix / note
person_months_per_$1M_tcvperson-months per $1M total contract valuesupported9519.5927.7141.56bid 86actuals 0mixed 7Not available in source data 2
tcv_per_user$ total contract value per named userblocked585,134.9925,959.1847,783.17user_count is not one quantity — it mixes internal seats, external portal users and citizen counts across records, so the denominator is incomparable and the 9.3x p25-p75 spread is definitional, not real variance
avg_team_sizeaverage concurrent FTE (person-months per contract month)supported7810.3414.2918.34bid 72actuals 0mixed 6Not available in source data 0
ddi_share_of_tcvDDI as % of total contract valuesupported10236.1552.6868.54bid 94actuals 1mixed 7Not available in source data 0
mo_share_of_tcvM&O as % of total contract valuesupported9129.246.0860.54bid 84actuals 1mixed 6Not available in source data 0
onsite_offshore_pm_ratioonsite person-months per offshore person-monthsupported270.170.280.94bid 27actuals 0mixed 0Not available in source data 0
qa_testing_share_of_pmQA/Testing as % of total person-monthssupported10010.1112.2214.22bid 90actuals 1mixed 7Not available in source data 2
pm_share_of_pmProgram/Project Management as % of total person-monthssupported1005.556.718.14bid 90actuals 1mixed 7Not available in source data 2
person_months_per_contract_month_by_domainaverage concurrent FTE, split by domainblocked78Not available in source dataNot available in source dataNot available in source dataonly 3 of 15 domain buckets reach n>=8; the rest are 1-6 opportunities, so per-domain percentiles would be noise dressed as a factor
bill_to_cost_ratiobill_rate / cost_rate (median per opportunity)supported421.431.431.43bid 35actuals 0mixed 6Not available in source data 1
interface_countcount of interfacesblocked0Not available in source dataNot available in source dataNot available in source datarecon.md established these are not structured fields in any workbook generation; a grep for "No of / # of / Count of" across the sampled tabs returns only "No of Users" and "No. of month". Inferable only from role titles (Interface Lead, Reports Developer) and prose, which is not a count
integration_countcount of integrationsblocked0Not available in source dataNot available in source dataNot available in source datarecon.md established these are not structured fields in any workbook generation; a grep for "No of / # of / Count of" across the sampled tabs returns only "No of Users" and "No. of month". Inferable only from role titles (Interface Lead, Reports Developer) and prose, which is not a count
report_countcount of reportsblocked0Not available in source dataNot available in source dataNot available in source datarecon.md established these are not structured fields in any workbook generation; a grep for "No of / # of / Count of" across the sampled tabs returns only "No of Users" and "No. of month". Inferable only from role titles (Interface Lead, Reports Developer) and prose, which is not a count
form_countcount of formsblocked0Not available in source dataNot available in source dataNot available in source datarecon.md established these are not structured fields in any workbook generation; a grep for "No of / # of / Count of" across the sampled tabs returns only "No of Users" and "No. of month". Inferable only from role titles (Interface Lead, Reports Developer) and prose, which is not a count
data_source_countcount of data sourcesblocked0Not available in source dataNot available in source dataNot available in source datarecon.md established these are not structured fields in any workbook generation; a grep for "No of / # of / Count of" across the sampled tabs returns only "No of Users" and "No. of month". Inferable only from role titles (Interface Lead, Reports Developer) and prose, which is not a count
site_countcount of sites/officesblocked0Not available in source dataNot available in source dataNot available in source datarecon.md established these are not structured fields in any workbook generation; a grep for "No of / # of / Count of" across the sampled tabs returns only "No of Users" and "No. of month". Inferable only from role titles (Interface Lead, Reports Developer) and prose, which is not a count
requirement_countcount of RFP requirementsblocked0Not available in source dataNot available in source dataNot available in source datano requirement-mapping artefact was extracted anywhere in the corpus; requirement coverage is the primary input the brief wants confidence computed from, and it does not exist yet
module_count_vs_effortmodules per opportunity vs person-monthsblocked0Not available in source dataNot available in source dataNot available in source datamodules is populated for only 14/156 records (73 entries, 69 of them distinct strings), so there is no repeated component vocabulary to count or to match on
estimation_errorbid person-months vs delivered person-monthsblocked0Not available in source dataNot available in source dataNot available in source dataneeds bid effort and delivered effort for the same engagement. Exactly 1 record (ga-dhs-ccwis-nov-2021) carries delivered role-level effort, and its own bid workbook is not in the archive, so error is unobservable — as brief.md already states

Nearly all inputs are bid effort worked back from price ceilings. These factors therefore describe Cardinality pricing behaviour, not observed delivery productivity.

Rate card

p50 bill / cost per hour
Role familyLocationBill p50Cost p50n
Business AnalysisUS/onsite12184188
Application DevelopmentUS/onsite12184160
Training/OCMUS/onsite12184131
QA/TestingUS/onsite12184116
Integration/InterfacesUS/onsite12184114
Solution ArchitectureUS/onsite1309199
Data MigrationUS/onsite1218498
Support/HypercareUS/onsite1108481
Program/Project ManagementUS/onsite14010579
DevOps/InfrastructureUS/onsite1218474
Executive/OversightUS/onsite16111362
Security/ComplianceUS/onsite16111359
Application DevelopmentIndia/offshore302547
Business AnalysisIndia/offshore302541
OtherUS/onsite1309131
QA/TestingIndia/offshore252527
Solution ArchitectureIndia/offshore352523
Program/Project ManagementIndia/offshore402516
Data MigrationUS/onsite1299015
Training/OCMUS/onsite1299013
DevOps/InfrastructureIndia/offshore302510
OtherUS/onsite123869
Reports/BIUS/onsite110849
Data MigrationIndia/offshore30257
Data MigrationUS/onsite130Not available in source data7
QA/TestingUS/onsite120Not available in source data7
QA/TestingUS/onsite110907
Support/HypercareIndia/offshore35257
Integration/InterfacesUS/onsite1591216
OtherIndia/offshore38Not available in source data6
OtherUS/onsite77546
Program/Project ManagementUS/onsite1441066
Security/ComplianceUS/onsite116816
Integration/InterfacesIndia/offshore35255
Program/Project ManagementUS/onsite135Not available in source data5
QA/TestingUS/onsite100Not available in source data5
Business AnalysisUS/onsite120874
Data MigrationUS/onsite115Not available in source data4
Data MigrationUS/onsite113Not available in source data4
Program/Project ManagementUS/onsite1401134
QA/TestingUS/onsite1501154
QA/TestingUS/onsite95Not available in source data4
Training/OCMIndia/offshore24134
Training/OCMUS/onsite110854
Training/OCMUS/onsite130Not available in source data4
Application DevelopmentIndia/offshore30Not available in source data3
Business AnalysisUS/onsite129903
Business AnalysisUS/onsite110Not available in source data3
Business AnalysisUS/onsite90Not available in source data3
Data MigrationUS/onsite214Not available in source data3
Data MigrationUS/onsite130Not available in source data3
DevOps/InfrastructureUS/onsite120Not available in source data3
Executive/OversightUS/onsite1801133
Executive/OversightUS/onsite1451103
Integration/InterfacesUS/onsite129903
Integration/InterfacesUS/onsite214Not available in source data3
OtherUS/onsite150Not available in source data3
OtherUS/onsite125Not available in source data3
QA/TestingUS/onsite125Not available in source data3
QA/TestingUS/onsite140Not available in source data3
QA/TestingUS/onsite150Not available in source data3
QA/TestingUS/onsite130Not available in source data3
Security/ComplianceUS/onsite160Not available in source data3
Security/ComplianceUS/onsite140903
Solution ArchitectureIndia/offshore40Not available in source data3
Training/OCMUS/onsite130913
Training/OCMUS/onsite130Not available in source data3
Training/OCMUS/onsite140Not available in source data3
Training/OCMUS/onsite214Not available in source data3
Training/OCMUS/onsite1061003
Training/OCMUS/onsite120Not available in source data3
Training/OCMUS/onsite156Not available in source data3
Training/OCMUS/onsite130Not available in source data3

Assumption Bill-to-cost ratios repeat across workbooks as a template constant; treat margin derived from them as an assumption, not an observation.

Role mix

scope "all" · n=100
Role familyShare of PMp25–p75
Program/Project Management5.75%5.5–8.1%
Business Analysis12.18%9.8–15.8%
Solution Architecture6.51%3.9–6.7%
Application Development29.72%19.9–35.1%
Integration/Interfaces6.2%0–10.1%
Data Migration6.81%0–10.5%
Reports/BI0.88%0–0%
QA/Testing12.64%10.1–14.2%
DevOps/Infrastructure3.55%1.8–5.6%
Security/Compliance1.72%0–2.2%
Training/OCM5.77%1.3–8.7%
Support/Hypercare4.04%0–4.1%
Executive/Oversight1.01%0–1.6%
Other3.22%0–2.9%

Comparable-matching specification

shipped with the corpus
FieldWeightMatch rule
domain_class0.3exact family, else 0
role_family_person_months0.2cosine similarity of the 14-family share vector
total_person_months0.15ratio score min/max, 0 below 0.33
duration_months_ddi0.1ratio score min/max on DDI months
jurisdiction_type0.1exact, 0.5 for state<->county/city
total_contract_value0.08ratio score min/max
bid_year0.051 - min(|dy|,5)/5
state0.02exact
modules0Jaccard over module strings
user_count0ratio score
counties_or_offices0ratio score

Similarity floor 0.45 · weights are renormalised over the fields the new RFP actually supplies. Below the floor the tool returns no comparables rather than padding the list. Fields too sparsely populated to match on: user_count, counties_or_offices, contract_term_months, duration_months_mo, work_plan_person_months, basis, modules.

Domain taxonomy

18 domains
DomainOpportunitiesMedian TCV
Child Welfare / CCWIS24Not available in source data
Licensing / Regulatory / Permitting19Not available in source data
Justice / Corrections / Probation17Not available in source data
Eligibility & Enrollment / Benefits14Not available in source data
Workforce / Labor Exchange11Not available in source data
Case Management (generic)10Not available in source data
Non-opportunity / internal9Not available in source data
Human Services - Case & Financial Mgmt8Not available in source data
Medicaid / Program Integrity8Not available in source data
Child Support Enforcement7Not available in source data
Child Care / Early Learning4Not available in source data
Education / K-12 & Higher Ed4Not available in source data
Public Health / Registries4Not available in source data
Grants Management3Not available in source data
Adult / Aging / Disability Services3Not available in source data
Environmental / Natural Resources3Not available in source data
AI / Data & Modernization3Not available in source data
Tax / Assessments1Not available in source data