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 .fec format (converted to CSV for use in OpenRoundup).

Workflow Steps

Pre-processing

  1. Convert the 15 individual FEC filing files from .fec format to .csv format (one file per filing, named by filing ID, e.g. 1326465.csv).

OpenRoundup Steps

  1. Upload all 15 individual filings CSV files (e.g. 1326*.csv), filings.csv, and candidates.csv into OpenRoundup. alt text
  2. Create a stack operation with five individual filings tables and materialize. alt text
  3. Repeat step 2 until all the individual filings table have been stacked together. alt text
  4. Pack the filings table to the stack operation joining on the filing_id column in both tables and materialize the table. alt text
  5. Pack the candidates table to the previous pack operation, joining on the committee_id column in both tables and materialize the table. alt text
  6. Export the results as CSV (about 2,000 bytes) for downstream analysis. alt text