Relationship between campaign finance and election results
The skills the authors demonstrated here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
Every two years in the United States, we enter a national election cycle. Every four years on the leap year, there's an election for both the President as well as one third of the Senate, and every House Representative. Since it is the year 2022, this is the midterm election for the 2020-2024 presidential term, which is expected to be hotly contested, as Republicans will be looking to regain control of Congress, while Democratic candidates will be looking to retain both houses. Of course, political campaigns - in battleground districts and states - can become very expensive based on the data collected.
Put simply, the objective of this study was to determine if there's a correlation between campaign fundraising and spending and the success of a political campaign for a seat in a national election. Using data from Kaggle's 2016 campaign finance dataset, I wanted to do an analysis of the data using Python and also see if there were floors or ceilings that you had to hit fundraising and spending wise in order to win an election for a House, Senate, or Presidential race.
In addition, I was looking to see if in close races (within 5 percentage points of each other), there was a dollar value that could be put on percentage points or even on an individual vote.
Process and Visualizations
First, I imported my data from Kaggle's 2016 campaign finance dataset. The columns that I was concerned with initially were total disbursement, total contributions, election result, individual contributions, contributions from PACs, and the total number of votes received, I then had to clean these up by assigning all missing values in a way that would make it easy to move into data visualizations.
Next, I created a histogram to examine the distribution of total contributions across campaigns. I found that the median spend was $334153. I decided on using median instead of mean to analyze this bit of data as the national presidential elections were very large outliers, but I did want to keep them in the dataset. The middle 50% was between $3890 and $1,050,000.
Next, I wanted to compare the log of total contributions to the percentage of contributions from individuals. This was because I wanted to see if the source of the money had anything to do with a candidates success. To do this, and to help identify if it's worth targeting certain populations for soliciting campaign donations, I wanted to analyze the contributions of individuals who won their elections.
What I found was that while there was no guarantee of a given candidate winning a race based on how much money was spent, I did identify a minimum spend that was required in order to win an election. The bare minimum contributions needed to win an election was $162,754.79. As a caveat, almost all candidates spent at a 1:1 ratio of money contributed to their campaigns, so I count this as spending as well.
Next, I analyzed the proportion of contributions from PACs compared to the log of total contributions.
The graph on the left represents only the losers, while the graph on the right is a stacked plot of winners and losers. While the winners of their elections fill in a significant gap in the plot, the vast majority being between 20% and 80% contribution from committees makes it hard to tell if there is a correlation. Therefore, it appears there is not a correlation between winning and losing and the amount of contribution from PACs, as the majority of candidates still got 90% or more of their funding from individuals, including the winner of the presidential election.
The conclusions I reached were that individual contributors are still an important part of the campaign fundraising process, and it would behoove any campaign to try and solicit as many individual contributions as possible. This is because there is a floor on fundraising that if you can't hit, you have no shot at winning your chosen election. In addition, I also found that running a campaign for Congress is significantly cheaper than running a presidential campaign, with the 75th percentile being at just over a million dollars.
When compared against the national fundraising needed for a presidential campaign, it's clear why most politicians get started at the state level elections. Also, there is no clear relationship as of yet between the amount of money fundraised and spent against the number of votes. This is partially due to population differences between states, but also because in the dataset there are only vote counts for the winners, and even then it is incomplete.
I'd like to eventually bring in another dataset where I can correlate the votes to a candidate's campaign, but I've been so far unsuccessful at finding a source that I trust and contains all the voting data. In addition, I'd like to use my web development background or Shiny to create a web app that can find and load a candidate's campaign finance data. Lastly, I want to eventually do this for the 2020 election, and hopefully be able to apply it in a machine learning model in the future that can try and predict where and how a candidate should spend their campaign funds in order to have the best possible chance at winning their election.