Mostly no: the top direct-PAC-giving industries grew about the same as, not clearly better than, industries generally after the 2024 election
Direct PAC (24K) contributions to 2024-cycle winners, mapped to BEA industry value-added growth 2024→2025, vs. the 2023→2024 pre-election year
Summary
Using the last completed federal election cycle (2024) and the channel this corpus can actually measure — direct PAC-to-candidate contributions (FEC transaction type 24K) to the candidates who went on to win — the answer is mostly no. Weighting each industry's post-election (2024→2025) BEA value-added growth by how many direct-PAC dollars it gave to winning candidates produces a growth rate of +4.84%, essentially identical to the +4.99% economy-wide average across all 22 BEA industry groups — slightly below it, not above. The three largest corporate/trade givers — finance (+9.54%), healthcare (+7.31%) and tech/telecom/media (+6.42%) — comfortably outgrew the average, but the rest of the top-ten giving industries (manufacturing, real estate, defense/aerospace, agriculture, energy/utilities, transportation, retail) grew at or below the economy-wide rate, several by a wide margin. The single largest giving bloc by dollars, labor unions (18% of traceable industry-PAC money), is not an output sector and has no comparable growth figure at all.
Step 1 — Defining "winning candidates" and "gave the most"
"Last federal election cycle" is taken as the 2024 cycle (2023–2024 fundraising, November 2024 general election). "Winning candidates" was built by joining officials.members (119th Congress, i.e. those seated after the 2024 election) to fec.candidates by state, chamber, district and surname, plus the certified presidential winner (Donald Trump, FEC ID P80001571, from officials.presidential_election_results). This matched 457 of 535 possible House/Senate winners (~85%) plus the president — a real but incomplete population; the corpus carries no direct FEC-to-Congress.gov crosswalk or an explicit "election winner" flag, so this name/geography join is a best-effort proxy and a modest share of true winners (special-election replacements, name-format mismatches) will be missing.
"Gave the most" is scoped to direct PAC contributions (transaction_type=24K in fec.committee_contributions) from committees with a named corporate/trade/labor/membership connected organization (org_type in C/T/L/M/V/W), for the 2024 filing year, to those winners' principal committees. This is a real and defensible measure, but it is a minority channel of total election money: total 24K contributions to these winners came to about $512M, of which only ~$194M could be attributed to a named organization (the rest is leadership-PAC and joint-fundraising-committee transfers between candidates' own committees, which have no industry identity). Independent expenditures and Super PAC money — which is how crypto, oil & gas and several other heavy 2024 spenders moved most of their money — are excluded entirely; a prior run in this harness found that channel dominated by implausible/junk filer rows that would need separate bounding, and time did not allow reconciling both channels for this answer. The industry ranking reported here should be read as 'top direct-PAC givers to 2024 winners,' not 'top total election spenders.'
Step 2 — Which industries gave the most to winners
| Labor unions | $35.1M | 18.0% |
| Finance / banking / insurance | $29.2M | 15.0% |
| Healthcare / pharma | $19.8M | 10.2% |
| Manufacturing / industrial | $12.9M | 6.7% |
| Technology / telecom / media | $12.9M | 6.6% |
| Real estate / housing | $11.5M | 5.9% |
| Defense / aerospace | $10.7M | 5.5% |
| Agriculture | $10.3M | 5.3% |
| Energy / utilities | $8.8M | 4.5% |
| Transportation / logistics | $7.5M | 3.8% |
| Pro-Israel / foreign-policy advocacy (AIPAC, J Street, RJC) | $7.1M | 3.6% |
| Professional services / legal | $5.5M | 2.8% |
| Retail / restaurants | $5.4M | 2.8% |
| Agriculture | $10.3M | 5.3% |
| Defense / aerospace | $10.7M | 5.5% |
| Energy / utilities | $8.8M | 4.5% |
| Finance / banking / insurance | $29.2M | 15.0% |
| Healthcare / pharma | $19.8M | 10.2% |
| Labor unions | $35.1M | 18.0% |
| Manufacturing / industrial | $12.9M | 6.7% |
| Pro-Israel / foreign-policy advocacy (AIPAC, J Street, RJC) | $7.1M | 3.6% |
| Professional services / legal | $5.5M | 2.8% |
| Real estate / housing | $11.5M | 5.9% |
| Retail / restaurants | $5.4M | 2.8% |
| Technology / telecom / media | $12.9M | 6.6% |
| Transportation / logistics | $7.5M | 3.8% |
| Labor unions | $35.1M | 18.0% |
| Finance / banking / insurance | $29.2M | 15.0% |
| Healthcare / pharma | $19.8M | 10.2% |
| Manufacturing / industrial | $12.9M | 6.7% |
| Technology / telecom / media | $12.9M | 6.6% |
| Real estate / housing | $11.5M | 5.9% |
| Defense / aerospace | $10.7M | 5.5% |
| Agriculture | $10.3M | 5.3% |
| Energy / utilities | $8.8M | 4.5% |
| Transportation / logistics | $7.5M | 3.8% |
| Pro-Israel / foreign-policy advocacy (AIPAC, J Street, RJC) | $7.1M | 3.6% |
| Professional services / legal | $5.5M | 2.8% |
| Retail / restaurants | $5.4M | 2.8% |
| Labor unions | $35.1M | 18.0% |
| Finance / banking / insurance | $29.2M | 15.0% |
| Healthcare / pharma | $19.8M | 10.2% |
| Manufacturing / industrial | $12.9M | 6.7% |
| Technology / telecom / media | $12.9M | 6.6% |
| Real estate / housing | $11.5M | 5.9% |
| Defense / aerospace | $10.7M | 5.5% |
| Agriculture | $10.3M | 5.3% |
| Energy / utilities | $8.8M | 4.5% |
| Transportation / logistics | $7.5M | 3.8% |
| Pro-Israel / foreign-policy advocacy (AIPAC, J Street, RJC) | $7.1M | 3.6% |
| Professional services / legal | $5.5M | 2.8% |
| Retail / restaurants | $5.4M | 2.8% |
Labor unions are the largest single traceable bloc but represent workers, not a production sector with a comparable GDP line, so they are excluded from the growth comparison below. AIPAC/J Street/RJC are excluded as foreign-policy advocacy rather than an economic industry. Among genuine business sectors, finance and healthcare are the clear top two givers.
Step 3 — Did those industries do better afterwards?
"Did better" is operationalized as each sector's nominal BEA value-added growth (econ.industry_gdp, BEA GDP-by-Industry, table_id=1, national annual) from 2024 to 2025 — the full year following the election — compared against the 2023-to-2024 pre-election year and against the 22-industry economy-wide average, a straightforward proxy for sector economic performance. It is a proxy, not a causal test: 2025 growth reflects many forces (the AI investment boom lifting Information/tech, rate cuts lifting Finance, tariff and trade-policy shifts) that have nothing to do with any one company's PAC check, and BEA has no separate line for defense/aerospace (proxied here by aggregate Manufacturing, which likely understates the true defense-contractor picture given post-election defense-budget increases).
Results were mixed rather than uniform. Finance (+9.54%), healthcare (+7.31%) and tech/telecom/media (+6.42%) — which together are about 48% of the traceable industry-PAC dollars to winners — grew faster than the +4.99% economy-wide average. But manufacturing (+0.55%), real estate (+4.59%), the manufacturing-proxied defense/aerospace figure (+0.55%), agriculture (+0.85%), energy/utilities (net −0.61%, dragged down by a −4.92% mining contraction) and transportation (+3.71%) all grew at or below the average. Weighting all ten sectors by their share of PAC dollars gives a blended growth rate of +4.84%, marginally below the +4.99% economy-wide figure — so as a group, the top PAC-giving industries did not outperform industries generally in the year after the election on this measure.
Caveats
- Direct-PAC money is a minority, legally capped ($5,000/committee/election) channel; the larger and more targeted independent-expenditure/Super PAC channel (crypto, oil & gas, and others) is not included here.
- The winner-matching join covers ~85% of Congress by name/geography, not a verified 100% crosswalk.
- Nominal, not inflation-adjusted, value added; both years are nominal so the comparison is internally consistent but not a real (inflation-adjusted) growth comparison.
- One year of post-election data (2025) is a short window for any policy effect to show up in sector output, and 2025 growth is confounded by macro forces (AI capex, rate policy, tariffs) unrelated to campaign giving.
- Labor unions, the largest giving bloc, have no comparable sector-growth figure and are excluded from the growth comparison, which understates how much of "giving to winners" this analysis could not resolve into a growth verdict.
Every query behind this report
34 warehouse calls ran in this session, in order. Each is reproducible against the same snapshot.
critique_query — 117 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.party_name, m.district,
s.state_abbr,
CASE WHEN m.district IS NULL THEN 'S' ELSE 'H' END AS office
FROM officials.members m
JOIN geo.state_ref s ON s.state_name = m.state_name
WHERE m.congress = 119
)
SELECT * FROM winners LIMIT 5
query — 1 rows — 3853 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.party_name, m.district,
s.state_abbr,
CASE WHEN m.district IS NULL THEN 'S' ELSE 'H' END AS office
FROM officials.members m
JOIN geo.state_ref s ON s.state_name = m.state_name
WHERE m.congress = 119
)
SELECT count(*) AS n FROM winners
query — 1 rows — 48 ms
SELECT split_part('SMITH, JOHN', ',', 1) AS xquery — 20 rows — 4059 ms
SELECT DISTINCT district FROM fec.candidates WHERE election_year=2024 AND office='H' LIMIT 20query — 1 rows — 7112 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.party_name, m.district,
s.state_abbr,
(m.district IS NULL) AS is_senate
FROM officials.members m
JOIN geo.state_ref s ON s.state_name = m.state_name
WHERE m.congress = 119
),
cands AS (
SELECT candidate_id, candidate_name, party, office, state, district, principal_committee_id
FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
)
SELECT count(*) AS n
FROM winners w
JOIN cands c
ON c.state = w.state_abbr
AND upper(split_part(c.candidate_name, ',', 1)) = upper(split_part(w.name_last_first, ',', 1))
query — 2 rows — 14992 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.party_name, m.district,
s.state_abbr,
(m.district IS NULL) AS is_senate
FROM officials.members m
JOIN geo.state_ref s ON s.state_name = m.state_name
WHERE m.congress = 119
),
cands AS (
SELECT candidate_id, candidate_name, party, office, state, district, principal_committee_id
FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
),
sen_match AS (
SELECT w.bioguide_id, w.name_last_first, w.party_name, c.candidate_id, c.candidate_name, c.party, c.principal_committee_id, 'S' AS chamber
FROM winners w
JOIN cands c ON w.is_senate AND c.office='S' AND c.state = w.state_abbr
AND upper(split_part(c.candidate_name, ',', 1)) = upper(split_part(w.name_last_first, ',', 1))
),
house_match AS (
SELECT w.bioguide_id, w.name_last_first, w.party_name, c.candidate_id, c.candidate_name, c.party, c.principal_committee_id, 'H' AS chamber
FROM winners w
JOIN cands c ON NOT w.is_senate AND c.office='H' AND c.state = w.state_abbr
AND CAST(c.district AS INTEGER) = w.district
AND upper(split_part(c.candidate_name, ',', 1)) = upper(split_part(w.name_last_first, ',', 1))
)
SELECT chamber, count(*) FROM (SELECT * FROM sen_match UNION ALL SELECT * FROM house_match) t GROUP BY chamber
query — 1 rows — 17147 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.party_name, m.district,
s.state_abbr,
(m.district IS NULL) AS is_senate
FROM officials.members m
JOIN geo.state_ref s ON s.state_name = m.state_name
WHERE m.congress = 119
),
cands AS (
SELECT DISTINCT candidate_id, candidate_name, party, office, state, district, principal_committee_id
FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
),
sen_match AS (
SELECT DISTINCT c.candidate_id, c.principal_committee_id, c.party
FROM winners w
JOIN cands c ON w.is_senate AND c.office='S' AND c.state = w.state_abbr
AND upper(split_part(c.candidate_name, ',', 1)) = upper(split_part(w.name_last_first, ',', 1))
),
house_match AS (
SELECT DISTINCT c.candidate_id, c.principal_committee_id, c.party
FROM winners w
JOIN cands c ON NOT w.is_senate AND c.office='H' AND c.state = w.state_abbr
AND CAST(c.district AS INTEGER) = w.district
AND upper(split_part(c.candidate_name, ',', 1)) = upper(split_part(w.name_last_first, ',', 1))
)
SELECT count(DISTINCT candidate_id) AS n_winner_candidates FROM (SELECT * FROM sen_match UNION ALL SELECT * FROM house_match) t
query — 3 rows — 4141 ms
SELECT candidate_id, candidate_name FROM fec.candidates WHERE election_year=2024 AND office='P' AND candidate_name ILIKE '%TRUMP%'query — 5 rows — 3092 ms
SELECT other_id, contributor_name, amount, transaction_type, "year" FROM fec.committee_contributions WHERE transaction_type='24K' AND "year"='2024'query — 1 rows — 15830 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.district, s.state_abbr, (m.district IS NULL) AS is_senate
FROM officials.members m JOIN geo.state_ref s ON s.state_name = m.state_name WHERE m.congress = 119
),
cands AS (
SELECT DISTINCT candidate_id, candidate_name, office, state, district FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
),
sen_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON w.is_senate AND c.office='S' AND c.state=w.state_abbr
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
house_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON NOT w.is_senate AND c.office='H' AND c.state=w.state_abbr
AND CAST(c.district AS INTEGER)=w.district
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
winner_ids AS (
SELECT candidate_id FROM sen_match
UNION ALL SELECT candidate_id FROM house_match
UNION ALL SELECT 'P80001571' AS candidate_id
)
SELECT count(DISTINCT candidate_id) AS n FROM winner_ids
query — 40 rows — 29676 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.district, s.state_abbr, (m.district IS NULL) AS is_senate
FROM officials.members m JOIN geo.state_ref s ON s.state_name = m.state_name WHERE m.congress = 119
),
cands AS (
SELECT DISTINCT candidate_id, candidate_name, office, state, district FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
),
sen_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON w.is_senate AND c.office='S' AND c.state=w.state_abbr
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
house_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON NOT w.is_senate AND c.office='H' AND c.state=w.state_abbr
AND CAST(c.district AS INTEGER)=w.district
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
winner_ids AS (
SELECT DISTINCT candidate_id FROM (
SELECT candidate_id FROM sen_match
UNION ALL SELECT candidate_id FROM house_match
UNION ALL SELECT 'P80001571' AS candidate_id
) t
),
contribs AS (
SELECT cc.other_id, cc.amount
FROM fec.committee_contributions cc
JOIN winner_ids w ON w.candidate_id = cc.candidate_id
WHERE cc.transaction_type='24K' AND cc."year"='2024'
)
SELECT COALESCE(cm.connected_org_name,'NONE') AS org, SUM(ct.amount) AS total
FROM contribs ct
LEFT JOIN fec.committees cm ON cm.committee_id = ct.other_id
GROUP BY COALESCE(cm.connected_org_name,'NONE')
ORDER BY total DESC
query — 26142 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.district, s.state_abbr, (m.district IS NULL) AS is_senate
FROM officials.members m JOIN geo.state_ref s ON s.state_name = m.state_name WHERE m.congress = 119
),
cands AS (
SELECT DISTINCT candidate_id, candidate_name, office, state, district FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
),
sen_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON w.is_senate AND c.office='S' AND c.state=w.state_abbr
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
house_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON NOT w.is_senate AND c.office='H' AND c.state=w.state_abbr
AND CAST(c.district AS INTEGER)=w.district
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
winner_ids AS (
SELECT DISTINCT candidate_id FROM (
SELECT candidate_id FROM sen_match
UNION ALL SELECT candidate_id FROM house_match
UNION ALL SELECT 'P80001571' AS candidate_id
) t
),
contribs AS (
SELECT cc.other_id, cc.amount
FROM fec.committee_contributions cc
JOIN winner_ids w ON w.candidate_id = cc.candidate_id
WHERE cc.transaction_type='24K' AND cc."year"='2024'
)
SELECT cm.connected_org_name AS org, cm.org_type, SUM(ct.amount) AS total, COUNT(*) AS n
FROM contribs ct
JOIN fec.committees cm ON cm.committee_id = ct.other_id
WHERE cm.connected_org_name IS NOT NULL AND cm.org_type IN ('C','T','L','M','V','W')
GROUP BY cm.connected_org_name, cm.org_type
ORDER BY total DESC
query — 8 rows — 4238 ms
SELECT DISTINCT org_type FROM fec.committees WHERE connected_org_name IS NOT NULL LIMIT 20query — 40 rows — 22861 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.district, s.state_abbr, (m.district IS NULL) AS is_senate
FROM officials.members m JOIN geo.state_ref s ON s.state_name = m.state_name WHERE m.congress = 119
),
cands AS (
SELECT DISTINCT candidate_id, candidate_name, office, state, district FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
),
sen_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON w.is_senate AND c.office='S' AND c.state=w.state_abbr
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
house_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON NOT w.is_senate AND c.office='H' AND c.state=w.state_abbr
AND CAST(c.district AS INTEGER)=w.district
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
winner_ids AS (
SELECT DISTINCT candidate_id FROM (
SELECT candidate_id FROM sen_match
UNION ALL SELECT candidate_id FROM house_match
UNION ALL SELECT 'P80001571' AS candidate_id
) t
),
contribs AS (
SELECT cc.other_id, cc.amount
FROM fec.committee_contributions cc
JOIN winner_ids w ON w.candidate_id = cc.candidate_id
WHERE cc.transaction_type='24K' AND cc."year"='2024'
)
SELECT cm.connected_org_name AS org, cm.org_type, SUM(ct.amount) AS total, COUNT(*) AS n
FROM contribs ct
JOIN fec.committees cm ON cm.committee_id = ct.other_id AND cm."year"='2024'
WHERE cm.connected_org_name IS NOT NULL
GROUP BY cm.connected_org_name, cm.org_type
ORDER BY total DESC
query — 23416 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.district, s.state_abbr, (m.district IS NULL) AS is_senate
FROM officials.members m JOIN geo.state_ref s ON s.state_name = m.state_name WHERE m.congress = 119
),
cands AS (
SELECT DISTINCT candidate_id, candidate_name, office, state, district FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
),
sen_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON w.is_senate AND c.office='S' AND c.state=w.state_abbr
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
house_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON NOT w.is_senate AND c.office='H' AND c.state=w.state_abbr
AND CAST(c.district AS INTEGER)=w.district
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
winner_ids AS (
SELECT DISTINCT candidate_id FROM (
SELECT candidate_id FROM sen_match
UNION ALL SELECT candidate_id FROM house_match
UNION ALL SELECT 'P80001571' AS candidate_id
) t
),
contribs AS (
SELECT cc.other_id, cc.amount
FROM fec.committee_contributions cc
JOIN winner_ids w ON w.candidate_id = cc.candidate_id
WHERE cc.transaction_type='24K' AND cc."year"='2024'
)
SELECT cm.connected_org_name AS org, cm.org_type, SUM(ct.amount) AS total, COUNT(*) AS n
FROM contribs ct
JOIN fec.committees cm ON cm.committee_id = ct.other_id AND cm."year"='2024'
WHERE cm.org_type IN ('C','T','L','M','V','W')
GROUP BY cm.connected_org_name, cm.org_type
ORDER BY total DESC
query — 27057 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.district, s.state_abbr, (m.district IS NULL) AS is_senate
FROM officials.members m JOIN geo.state_ref s ON s.state_name = m.state_name WHERE m.congress = 119
),
cands AS (
SELECT DISTINCT candidate_id, candidate_name, office, state, district FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
),
sen_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON w.is_senate AND c.office='S' AND c.state=w.state_abbr
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
house_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON NOT w.is_senate AND c.office='H' AND c.state=w.state_abbr
AND CAST(c.district AS INTEGER)=w.district
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
winner_ids AS (
SELECT DISTINCT candidate_id FROM (
SELECT candidate_id FROM sen_match
UNION ALL SELECT candidate_id FROM house_match
UNION ALL SELECT 'P80001571' AS candidate_id
) t
),
contribs AS (
SELECT cc.other_id, cc.amount
FROM fec.committee_contributions cc
JOIN winner_ids w ON w.candidate_id = cc.candidate_id
WHERE cc.transaction_type='24K' AND cc."year"='2024'
),
org_lookup AS (
SELECT committee_id, MAX(connected_org_name) AS connected_org_name, MAX(org_type) AS org_type
FROM fec.committees
GROUP BY committee_id
)
SELECT ol.connected_org_name AS org, ol.org_type, SUM(ct.amount) AS total, COUNT(*) AS n
FROM contribs ct
JOIN org_lookup ol ON ol.committee_id = ct.other_id
WHERE ol.org_type IN ('C','T','L','M','V','W')
GROUP BY ol.connected_org_name, ol.org_type
ORDER BY total DESC
query — 9 rows — 4522 ms
SELECT connected_org_name, org_type, count(*) FROM fec.committees
WHERE connected_org_name ILIKE '%REALTOR%'
GROUP BY connected_org_name, org_type
query — 12 rows — 7039 ms
SELECT committee_id, connected_org_name, org_type, "year" FROM fec.committees
WHERE connected_org_name = 'NATIONAL ASSOCIATION OF REALTORS POLITICAL ACTION COMMITTEE'
query — 2285 ms
SELECT candidate_id, amount, "year", transaction_type FROM fec.committee_contributions
WHERE other_id='C00363986' AND transaction_type='24K' AND "year"='2024'
query — 9070 ms
SELECT other_id, count(*), sum(amount) FROM fec.committee_contributions
WHERE other_id IN ('C00363986','C00434696') AND transaction_type='24K'
GROUP BY other_id
query — 2354 ms
SELECT contributor_name, other_id, count(*), sum(amount) FROM fec.committee_contributions
WHERE contributor_name ILIKE '%REALTOR%' AND transaction_type='24K' AND "year"='2024'
GROUP BY contributor_name, other_id
query — 6 rows — 9212 ms
SELECT "year", count(*), sum(amount) FROM fec.committee_contributions
WHERE transaction_type='24K'
GROUP BY "year" ORDER BY "year"
query — 20 rows — 2473 ms
SELECT DISTINCT contributor_name FROM fec.committee_contributions WHERE transaction_type='24K' AND "year"='2024' AND contributor_name ILIKE '%PAC%'query — 11 rows — 9548 ms
SELECT DISTINCT contributor_name, transaction_type, "year" FROM fec.committee_contributions WHERE contributor_name ILIKE '%REALTOR%'query — 4680 ms
WITH org_lookup AS (
SELECT committee_id, MAX(connected_org_name) AS connected_org_name, MAX(org_type) AS org_type
FROM fec.committees WHERE "year"='2024'
GROUP BY committee_id
)
SELECT ol.connected_org_name AS org, ol.org_type, SUM(cc.amount) AS total, COUNT(*) AS n
FROM fec.committee_contributions cc
JOIN org_lookup ol ON ol.committee_id = cc.other_id
WHERE cc.transaction_type='24K' AND cc."year"='2024' AND ol.org_type IS NOT NULL
GROUP BY ol.connected_org_name, ol.org_type
ORDER BY total DESC
query — 10 rows — 4529 ms
SELECT cc.other_id, cc.contributor_name, cm.committee_id, cm.committee_name
FROM fec.committee_contributions cc
LEFT JOIN fec.committees cm ON cm.committee_id = cc.other_id AND cm."year"='2024'
WHERE cc.transaction_type='24K' AND cc."year"='2024'
query — 6 rows — 4447 ms
WITH org_lookup AS (
SELECT committee_id, MAX(connected_org_name) AS connected_org_name, MAX(org_type) AS org_type, MAX(committee_type) AS committee_type, MAX(designation) AS designation
FROM fec.committees WHERE "year"='2024'
GROUP BY committee_id
)
SELECT ol.committee_type, ol.designation, SUM(cc.amount) AS total, COUNT(*) AS n
FROM fec.committee_contributions cc
JOIN org_lookup ol ON ol.committee_id = cc.other_id
WHERE cc.transaction_type='24K' AND cc."year"='2024'
GROUP BY ol.committee_type, ol.designation
ORDER BY total DESC
query — 10 rows — 3807 ms
SELECT cc.committee_id AS filer_committee_id, cc.other_id, cc.contributor_name, cc.amount, cc.candidate_id
FROM fec.committee_contributions cc
WHERE cc.transaction_type='24K' AND cc."year"='2024'
query — 5 rows — 2301 ms
SELECT DISTINCT committee_id, committee_name, connected_org_name, org_type, committee_type FROM fec.committees WHERE committee_id IN ('C00777706','C00550392','C00333104','C00325324','C00382150') AND "year"='2024'query — 60 rows — 26210 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.district, s.state_abbr, (m.district IS NULL) AS is_senate
FROM officials.members m JOIN geo.state_ref s ON s.state_name = m.state_name WHERE m.congress = 119
),
cands AS (
SELECT DISTINCT candidate_id, candidate_name, office, state, district FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
),
sen_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON w.is_senate AND c.office='S' AND c.state=w.state_abbr
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
house_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON NOT w.is_senate AND c.office='H' AND c.state=w.state_abbr
AND CAST(c.district AS INTEGER)=w.district
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
winner_ids AS (
SELECT DISTINCT candidate_id FROM (
SELECT candidate_id FROM sen_match
UNION ALL SELECT candidate_id FROM house_match
UNION ALL SELECT 'P80001571' AS candidate_id
) t
),
org_lookup AS (
SELECT committee_id, MAX(connected_org_name) AS connected_org_name, MAX(org_type) AS org_type, MAX(committee_name) AS committee_name
FROM fec.committees WHERE "year"='2024'
GROUP BY committee_id
)
SELECT COALESCE(ol.connected_org_name, ol.committee_name) AS org, ol.org_type, SUM(cc.amount) AS total, COUNT(*) AS n
FROM fec.committee_contributions cc
JOIN winner_ids w ON w.candidate_id = cc.candidate_id
JOIN org_lookup ol ON ol.committee_id = cc.committee_id
WHERE cc.transaction_type='24K' AND cc."year"='2024' AND ol.org_type IN ('C','T','L','M','V','W')
GROUP BY COALESCE(ol.connected_org_name, ol.committee_name), ol.org_type
ORDER BY total DESC
query — 250 rows — 27490 ms
WITH winners AS (
SELECT m.bioguide_id, m.name_last_first, m.district, s.state_abbr, (m.district IS NULL) AS is_senate
FROM officials.members m JOIN geo.state_ref s ON s.state_name = m.state_name WHERE m.congress = 119
),
cands AS (
SELECT DISTINCT candidate_id, candidate_name, office, state, district FROM fec.candidates
WHERE election_year = 2024 AND office IN ('H','S')
),
sen_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON w.is_senate AND c.office='S' AND c.state=w.state_abbr
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
house_match AS (
SELECT DISTINCT c.candidate_id FROM winners w JOIN cands c
ON NOT w.is_senate AND c.office='H' AND c.state=w.state_abbr
AND CAST(c.district AS INTEGER)=w.district
AND upper(split_part(c.candidate_name,',',1))=upper(split_part(w.name_last_first,',',1))
),
winner_ids AS (
SELECT DISTINCT candidate_id FROM (
SELECT candidate_id FROM sen_match
UNION ALL SELECT candidate_id FROM house_match
UNION ALL SELECT 'P80001571' AS candidate_id
) t
),
org_lookup AS (
SELECT committee_id, MAX(connected_org_name) AS connected_org_name, MAX(org_type) AS org_type, MAX(committee_name) AS committee_name
FROM fec.committees WHERE "year"='2024'
GROUP BY committee_id
)
SELECT COALESCE(ol.connected_org_name, ol.committee_name) AS org, ol.org_type, SUM(cc.amount) AS total
FROM fec.committee_contributions cc
JOIN winner_ids w ON w.candidate_id = cc.candidate_id
JOIN org_lookup ol ON ol.committee_id = cc.committee_id
WHERE cc.transaction_type='24K' AND cc."year"='2024' AND ol.org_type IN ('C','T','L','M','V','W')
GROUP BY COALESCE(ol.connected_org_name, ol.committee_name), ol.org_type
ORDER BY total DESC
query — 196611 ms
SELECT industry_code, industry_description, "year", value FROM econ.industry_gdp WHERE table_id='1' AND "year" IN ('2023','2024','2025') AND (quarter IS NULL OR quarter = '')query — 5 rows — 72427 ms
SELECT DISTINCT frequency, quarter FROM econ.industry_gdp WHERE table_id='1' AND "year"='2024'query — 66 rows — 133706 ms
SELECT industry_code, industry_description, "year", "value" FROM econ.industry_gdp WHERE table_id='1' AND frequency='A' AND "year" IN ('2023','2024','2025') ORDER BY "year", industry_codeSources
- FEC direct PAC contributions (24K) to 2024-cycle winners, by connected organization
Show tool call
query(sql="WITH winners AS (...) SELECT COALESCE(connected_org_name, committee_name) AS org, org_type, SUM(amount) AS total FROM fec.committee_contributions JOIN winner_ids ... JOIN fec.committees ... WHERE transaction_type='24K' AND year='2024' GROUP BY org, org_type ORDER BY total DESC") - 119th Congress members (2024 election winners)
Show tool call
query(sql="SELECT bioguide_id, name_last_first, party_name, district FROM officials.members WHERE congress=119") - 2024 certified presidential winner
Show tool call
query(sql="SELECT candidate_name FROM fec.candidates WHERE election_year=2024 AND office='P' AND candidate_name ILIKE '%TRUMP%'") - BEA GDP by Industry, nominal value added, 2023-2025
Show tool call
query(sql="SELECT industry_code, industry_description, year, value FROM econ.industry_gdp WHERE table_id='1' AND frequency='A' AND year IN ('2023','2024','2025')") - AskAmerica recipe: campaign-money-name-the-channel-before-ranking-industries — Warned that direct 24K contributions and independent expenditures are separate, non-additive channels; independent_expenditures raw sums are dominated by implausible filer rows and were not usable within this session's time budget.