Skip to content

org_committee_links

Commenter organizations matched to committees

One row per (commenter organization name, FEC committee) name match, derived by build_org_committee_links. Materializes the organization-name bridge between the regulations.gov corpus and fec_committees — the join the data model always described but left to each query author, so every consumer normalized names differently. organization is the raw string as filed, joining straight back to comments.organization; committee_id joins to fec_committees. Coverage is inherently small: comments.organization is stated on a small share of comments (count(organization) over comments is the measure) and on none at some agencies (FDA, EPA), and most commenting organizations do not run a federal PAC, so most organization names matching no committee is the expected outcome rather than a matcher to tune harder. Matching runs in three tiers (exact, core, prefix) and every row carries match_method, confidence, and committee_match_count so consumers pick their own precision bar instead of trusting an opaque score. A high committee_match_count can reflect multiple committees sharing a name prefix; inspect the source evidence before treating those matches as an affiliation network. The comment counts and dates on a row cover every agency and year the comments table holds and repeat on each committee row of the same organization string.

Coverage. Derived, and bounded by a small input. Name matches between commenter organizations and FEC committees, reachable only for the small share of comments that carry an organization value at all, so absence of a link is not evidence that a commenter has none. A candidate's committee or a leadership PAC is never linked. (measured 2026-10-03)

Data quality. These are heuristic name matches, not source-reported affiliations. confidence grades the matching rule alone, not a measured probability: it does not look at whether the committee still files or at the sponsor FEC states. Links to a candidate's committee (FEC committee type H, S or P) or a member's leadership PAC (designation D) are left out, because such a committee is never an organization's own (25 of 25 sampled were false, 2026-10-03). connected_organization_name and sponsor_name_match add FEC's own statement of each committee's sponsor beside the grade: in a seeded sample of 45 high links (2026-10-03, judged from FEC's committee records), 15 of 15 that agree, 13 of 15 that differ and 12 of 15 with no stated sponsor were the commenting organization's own committee or filing. Whether a committee has terminated is in fec_committees, one join away on committee_id: filing_frequency T (terminated) or A (administratively terminated), and last_file_date. A link to a terminated committee can still be right, for a comment filed while the committee was active.

  • Parquet file: org_committee_links.parquet
  • MCP query_sql support: Configured; requires an available artifact.
  • Publication status: Not established by this schema page or its measurement date.
  • Row count: Not stated here; the MCP describe_table reply gives the live count under publication.
Column Type Description
organization VARCHAR Commenter organization exactly as filed on the comment. Join key back to comments.organization.
organization_norm VARCHAR organization uppercased with parenthetical asides, apostrophes and punctuation removed and & expanded to AND.
organization_core VARCHAR organization_norm with trailing legal suffixes (INC, LLC, ...) and a leading THE removed. The form the core/prefix tiers compare.
name_source VARCHAR Where the organization name came from. Always organization_field today; text-derived names (comment title, letterhead, signature block) would be added as extra rows under their own source.
committee_id VARCHAR Matched OpenFEC committee identifier. Joins to fec_committees.committee_id, whose filing_frequency (T or A: terminated) and last_file_date say whether the committee still files.
committee_name VARCHAR Matched committee name as registered with the FEC.
committee_type_full VARCHAR Human-readable committee type of the matched committee (e.g. PAC - Qualified). Never a House, Senate or presidential candidate's committee: those links are left out.
designation_full VARCHAR Human-readable committee designation of the matched committee. Never Leadership PAC: those links are left out.
party_full VARCHAR Human-readable political party of the matched committee. Often null for non-party committees.
organization_type_full VARCHAR Sponsoring organization type of the matched committee (e.g. Trade Association, Labor Organization). Often null.
committee_state VARCHAR Two-letter state on the matched committee (fec_committees.state). Often null.
match_method VARCHAR How the pair matched: exact (full normalized names equal), core (decoration-stripped cores equal), or prefix (committee core starts with the whole organization core on a token boundary).
confidence VARCHAR high for exact/core; for prefix, medium when committee_match_count <= 5 and low above that. Grades the name match alone: it ignores whether the committee still files and the sponsor FEC states (sponsor_name_match). Filter on this to pick a precision bar.
committee_match_count BIGINT How many FEC committees this organization name matched in total, counting the candidate committees and leadership PACs whose links are left out, so it can exceed this string's rows here. A high count does not establish an affiliate network; inspect source evidence alongside the matching rule.
comment_count BIGINT Comments filed under this exact organization string in every agency and year the comments table holds (deduplicated on comment_id, newest modify_date wins — matching the MCP comments view). The same value repeats on each committee row of the string; do not sum it across rows.
docket_count BIGINT Distinct dockets this organization string commented on, across every agency and year. Repeats on each committee row of the string.
agency_codes_json VARCHAR JSON array of the distinct agency codes this organization commented to, across every year, sorted. Repeats on each committee row of the string.
first_comment_date VARCHAR Earliest posted_date across this organization's comments in every agency and year (ISO 8601 string).
last_comment_date VARCHAR Latest posted_date across this organization's comments in every agency and year (ISO 8601 string).
connected_organization_name VARCHAR The committee's connected organization (its sponsor) as FEC states it, verbatim from fec_committee_history.connected_organization_name in the latest filing year that names one. NULL when no year names one: FEC's placeholders (NONE, N/A, NA, BLANK, 0, punctuation alone), which that table keeps verbatim, are read as naming none. Filers sometimes write the PAC's own name, a former name or a parent company here.
sponsor_name_match VARCHAR Whether connected_organization_name names the commenting organization: agrees when it reduces to organization_core under the same normalization (read also with PAC words such as POLITICAL ACTION COMMITTEE removed, spaces ignored); differs otherwise, most often the same organization spelled another way (ASSN, inverted words, a typo), a former name or a parent company, sometimes a different sponsor; not_stated when FEC names no sponsor. A name comparison, not an identity.