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_sqlsupport: 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_tablereply gives the live count underpublication.
| 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. |