Data Analysis of Presidential Fundraising in 2019

Posted on Feb 24, 2020
The skills the author demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.

What is this all about?

Modern elections are won or lost because of data. Campaigns that are data-savvy are able to define a strategy rooted in empirical evidence, allocate limited resources efficiently, and connect with voters by tailoring talking points and ads to specific audiences. In short, data can be harnessed to acquire political power. As a data science fellow who closely follows local and national politics, I am incredibly interested in the data that campaigns have access to and how they leverage it to win elections.

While I originally wanted to try my hand in creating a basic regression model to predict voter behavior, I decided against this idea because I don’t have access to enough voter data to create a meaningful model. Instead, I decided to dig into fundraising records of the candidates currently running for president. Because most of the data-focused reporting about the current election are focused on opinion polls, I was interested in learning more about candidates’ support through a different lens.

What data did was used for the analysis?

I downloaded a dataset from the FEC that contains over 4.5 million unique donations that have been made to candidates running in the 2020 presidential cycle. In addition to the names of the candidate and donor, the amount donated, and the date of the donation, the dataset also contained self-reported information about the donor including their state, city, and zip code and their employer and occupation.

I chose to limit the data I used in my analysis to donations made in 2019, so any recent headlines about candidates’ fundraising will not be captured below. While I had hoped that the employment data could be used to find insights about candidates’ support among different industries, it proved too dirty to use.

What data insights were gleaned?

I first wanted to examine the big picture. I was interested in seeing which candidates raised the most money and which candidates had the most unique donors. The total amount raised is important because campaigns need significant resources to be competitive.

Though the total amount a campaign raises is not necessarily an indicator of a candidates’ appeal among voters, it is an indicator of whether or not their campaign is sustainable. The measure of total unique donors is important because this serves as a better proxy for a candidates’ support among voters than does the total amount raised. By seeing how many people have voted with their wallets before they can vote with ballots, you can get a rough gauge of candidate’s support.  

The graph below shows the ten candidates that raised the most money through individual contributions in 2019. What jumps off the screen is how much more money Donald Trump raised than any of the candidates vying for the Democratic nomination. You would expect Donald Trump to out raise the rest of the field because he’s running a (mostly) uncontested primary campaign while the Democratic field is vast and competitive.

However, when you consider that Donald Trump has been fundraising for 2020 since the day he took office, coupled with the lack of money he has to spend fending off any serious competition from potential Republican rivals, it’s clear that Donal Trump have significantly more resources at his campaign’s disposal than will whichever opponent he faces in the general election.

Data Analysis of Presidential Fundraising in 2019

Unique Donors

The big picture looks largely the same when you look at the total number of unique donors that have contributed to each candidate’s campaign. Donald Trump has almost twice as many unique donors as Bernie Sanders, the candidate with the second most unique donors. However, the differences between the total amount raised by democratic candidates and the unique donors are interesting.

Data Analysis of Presidential Fundraising in 2019

Average Amount Per Donor

While Pete Buttigieg and Joe Biden raised the most and second most, respectively, among Democrats through individual contributions in 2019, they ranked third and fourth in terms of unique donors. Conversely, Bernie Sanders and Elizabeth Warren came in third and fourth in terms of total amount raised among Democrats, but they were first and second when it came to unique donors. 

If the total amount of money raised speaks to a campaign’s sustainability, the number of unique donors shows the breadth of a candidate’s support. The graph above shows that Bernie Sanders has the widest support of democratic candidates. The margin separating him and Elizabeth Warren is more than 40,000 unique donors.

Data Analysis of Presidential Fundraising in 2019

The differences between Democrats candidates’ total fundraising and unique donors show a sharp contrast in the average amount given by individual donors.

On average, Bernie Sanders’ donors have each given a little over $320, the lowest amount per donor than any other serious candidate’s campaign. Donors to Elizabeth Warren and Donald Trump have given around $430, on average, which is $300 less than what Pete Buttigieg has raised per donor and almost $500 less than Joe Biden. This data tends to support the idea that Sanders and Warren are running more populist campaigns and that Buttigieg and Biden are tapping ‘elites’ for funding.

Donors' Location

Another way to visualize candidates’ support is to map their donors’ location. Polls consistently show that Democrats prioritize a candidates’ ability to beat Donald Trump, and to win in November, the democratic candidate will have to win back some, if not all, of the six ‘Obama-Trump states’ (states that Barack Obama won in 2012 and Donald Trump in 2016). I created maps of these states that compare Bernie Sanders’ and Pete Buttigieg’s fundraising.

The maps above show the number of unique donors that Bernie Sanders (left) and Pete Buttigieg (right) have, by zip code, in Michigan and Ohio. It’s clear that, based on unique donors, Sanders has a much wider base than Buttigieg.

While it is no guarantee that someone who donated to a candidate in a primary election will actually vote for that candidate in a general election, it’s reasonable to assume that someone who as ‘invested’ in a candidate by donating any sum of money will be much more likely to turn up to vote for them on election day. If you agree with this assumption, then Bernie Sanders appears to be in the best position to take on Donald Trump during the general election, should he win the Democratic nomination.

What conclusions can be drawn?

The analysis above was limited to candidates’ fundraising from individual donors in 2019, and any conclusions that can be drawn must be narrow because elections are measured by votes, not dollars. However, a candidate’s ability to raise money does tell us something about the sustainability of their campaign and the breadth of their support. Upon writing this post, Bernie Sanders has won the New Hampshire primary and Nevada caucuses, and Pete Buttigieg has won the Iowa caucuses (Donald Trump has won all three of the Republican contests thus far).

When viewed through the lens of fundraising, these election results are not surprising. Pundits are currently bullish on Sanders’ chances at securing the nomination because his support among Democratic voters – as measured by polling and, now, actual votes – is both deeper and more widespread than his rivals. I don’t often agree with pundits, but in this case, their conclusions align with my own analysis.

For anyone as interested in this election cycle and data as I am, check out this Shiny App I created that serves as a tool to visualize candidate support.

To learn more info about this project, including source code, check out the GitHub repo

For more info about the author, go to LinkedIn.


About Author

Jordan Runge

Jordan is a former educator and veteran of multiple, venture-backed startups. He is interested in data science, entrepreneurship, education, and public policy. He lives in NYC with his wife and dog. Connect with Jordan on LinkedIn,
View all posts by Jordan Runge >

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI