How the Conflict Score works

ConflictScore reads a congressional stock trade, looks up the member's committee assignments and the traded company's industry, and measures whether the two overlap. The result is a 0–100 score with a plain-language explanation that links back to the original filing.

One rule, always: every score links back to the original disclosure filing. The scoring method below is public, documented, and applied the same way regardless of party.

What the number means

A Conflict Score is 0–100. Higher means a stronger overlap between what the member's committees oversee and the industry of the traded company. Two top-level outcomes:

The five tiers

Tiers are ranked by how directly a committee's jurisdiction covers the issuer's industry. The engine picks the single strongest tier that applies. Counts are from the current corpus (10,904 trades):

65
Direct committee-domain
Member sits on a full committee whose specific jurisdiction covers the issuer’s mapped industry domain. Strongest base signal.
707 trades
50
Subcommittee-domain
Overlap runs through a subcommittee the member sits on. The parent committee’s domain applies, but the path is the sub.
0 trades
30
Sector-only
Issuer’s broad sector (e.g. finance, utilities) overlaps a committee, but its specific SIC has no mapped industry domain.
0 trades
18
Cross-cutting
Overlap through a broad committee (Appropriations, Oversight, Rules). Touches every sector, so intentionally the weakest positive tier.
57 trades
0
Clean — no overlap
Enough data existed and no committee jurisdiction maps to the issuer. A genuine zero, not a missing input.
5,303 trades

How the match is made

  1. Issuer domains. The traded ticker is matched to an SEC EDGAR filing, which gives an SIC industry code. That SIC maps to oversight domains (e.g. SIC 2836 → health, pharma) via a public lookup table.
  2. Committee domains. The member's committee and subcommittee assignments are resolved to oversight domains (subcommittees inherit the parent committee's domains).
  3. Overlap. If any issuer domain appears in any of the member's committee domains, that's a match. The strongest tier among all matches sets the score.

What we need

A trade is marked insufficient_data if any of these is missing. We never guess — the gap is named.

GapWhy it happensShare
missing_tickerNo ticker (common for Treasuries, bonds, real estate, private funds).NaN%
ticker_not_matchedTicker present but not found in SEC EDGAR (delisted, acquired, OTC).NaN%
missing_sicIssuer matched in EDGAR but has no SIC industry code.NaN%
sic_unclassifiedSIC exists but is not yet mapped in our domain table.NaN%
missing_memberFiler could not be matched to a current member (former member or name variant).NaN%
missing_committee_dataMember matched but has no committee assignments on file.NaN%

Shares are computed live from the current corpus and shift as coverage improves.

Live examples (from the current corpus)

Direct — 65

Atmos Energy (ATO)direct · 65

Rep. Rick Allen (R-GA) sits on the House Energy and Commerce Committee, whose jurisdiction covers: energy.

Atmos Energy Corp (SIC 4924: Natural Gas Distribution) maps to the energy domain, placing it under that committee's direct oversight.

Cross-cutting — 18

Adobe (ADBE)cross-cutting · 18

Rep. Dan Newhouse (R-WA) sits on the House Select Committee on Strategic Competition with the Chinese Communist Party, a cross-cutting committee with broad jurisdiction spanning technology.

Adobe Inc. (SIC 7372: Prepackaged Software) maps to technology; cross-cutting jurisdiction is the weakest positive signal because it touches every sector.

Clean — 0

GSK plc (GSK)clean · 0

No oversight overlap was identified between Rep. Robert Aderholt (R-AL) and GSK plc American Depositary Shares (GSK).

The member's committee jurisdictions do not map to the traded issuer's sector or specific oversight domains.

Insufficient data

US Treasury Note 4.375% due 12/15/26insufficient_data

The disclosure line for this bond does not include a ticker symbol, so the issuer could not be identified. (Common for Treasuries, real-estate, private-fund, and similar non-listed assets.)

Two dormant tiers

The subcommittee (50) and sector-only (30) tiers are built into the method but produced zero hits in the current run:

How scores are produced

  1. Disclosure scraping. Periodic Transaction Reports are scraped from the House Clerk system (PDF), parsed, and each trade archived with a SHA-256 checksum. Senate eFD support is manual-only pending a legal review.
  2. Company mapping. Tickers are matched to SEC EDGAR central index keys and SIC industry codes.
  3. Committee mapping. Members' committee and subcommittee assignments are resolved to oversight domains from official jurisdiction statements.
  4. Scoring. The engine produces a tier, a 0–100 score, and plain-language reasoning, linked to the original filing URL.

What this version does not yet include

This release is the base score only. Designed and layered on after the base is validated:

Non-partisan by construction. A member's party is stored for display only. The scoring engine never reads it, and no scoring rule branches on it.
ConflictScore · Methodology v1.0 (base score) · Not affiliated with any political party or campaign.
Full reasoning is a Plus-tier feature; this page documents the same rules the engine applies.