Campaign Co-Donors
Early 2020 Democratic Campaign Co-Donors
Overview
In this tutorial, we will stack 15 FEC campaign filing tables together, then pack the result twice — first with filing metadata and then with candidate metadata — to produce a consolidated table of donors who gave to multiple Democratic presidential candidates.
This workflow is based on a BuzzFeed News analysis for the article “These Are The Donors Giving Money To Multiple 2020 Democratic Candidates”.
Data Sources
All data comes from campaigns’ committee filings to the Federal Election Commission (FEC), with assistance from ProPublica’s Campaign Finance API.
inputs/candidates.csv— a list of high- and medium-profile Democratic presidential candidates (and primary campaign committees) for whom an “April Quarterly” filing was available on the FEC’s website by 6:30am Eastern on April 16, 2019.inputs/filings.csv— basic metadata for the aforementioned filings.inputs/filings/— raw filing data for each filing in the FEC’s.fecformat (converted to CSV for use in OpenRoundup).
Workflow Steps
Pre-processing
- Convert the 15 individual FEC filing files from
.fecformat to.csvformat (one file per filing, named by filing ID, e.g.1326465.csv).
OpenRoundup Steps
- Upload all 15 individual filings CSV files (e.g.
1326*.csv),filings.csv, andcandidates.csvinto OpenRoundup.
- Create a stack operation with five individual filings tables and materialize.

- Repeat step 2 until all the individual filings table have been stacked together.

- Pack the
filingstable to the stack operation joining on thefiling_idcolumn in both tables and materialize the table.
- Pack the
candidatestable to the previous pack operation, joining on thecommittee_idcolumn in both tables and materialize the table.
- Export the results as CSV (about 2,000 bytes) for downstream analysis.
