The very rich and corporations use political action committees (PACs) to obscure which candidates they fund through layers of contributions to intermediary PACs. is a tool that can help you untangle those relationship and show who's funding who. Try it out:

A sample of a complete render for 2018 below

I first got interested in trying to do this around 2013. I tried to do a version of this back then, but after a while messing around with pandas and d3, I gave up. FEC data isn't easy to work with. It's messy, riddled with errors, there are amendments, the dates are in a weird format, etc. I'd always wanted to come back to it, and then this summer I saw this tweet:

If you're a programmer and want to do something politically powerful, write a tool that takes FEC bulk data and dereferences the chains of PAC-to-PAC donations used to obfuscate giving, so we can see clearly which corporations donated to which candidate.

— Several people are typing (@Pinboard) July 19, 2018

I decided to give it another go. My skills as well as the tools had improved since 2013, which helped matters, but even with big browser advances, there's still far too much data to display without some filtering. The default view on the homepage is limited to the top 100 funding connections for 2018, by the net dollar amount. You can adjust the limit in advanced to get a broader view.

More importantly, you can search all the data using the from and to inputs on top. Search for your (least?) favorite candidates, multinational corporations, or super rich families. Most candidates only appear in the to field for obvious reasons.

While visualizing the entire dataset is too big for a user's browser, I was able to eke this out of chrome-headless on my macbook air:

Data Processing

Using the FEC data here, the code takes every transaction between a PAC and another PAC, and between a PAC and a candidate, and gets the sum total amount of money each entity sent to each other entity. It's a bit more complicated than that, but that's the gist of what's going on, for more detail see the data processing pipeline on github, mostly as jupyter notebooks. Suggestions and PRs are welcome, especially if you're knowledgeable about FEC report types and the like.