Oregon Campaign Finance Contributions
Taking a closer look at contributions from the 2020 Primary Election
Introduction
Campaign finance law has made numerous headlines during the ongoing investigation of Postmaster General Louis DeJoy. This investigation examines allegations that DeJoy financially rewarded employees of his company (prior to being appointed as Postmaster General) for making campaign contributions to Republican candidates. If convicted, DeJoy will serve as a blatant example of foul play against campaign finance law, which is largely a system of rules and regulations under the Bipartisan Campaign Reform Act (BCRA) . This act was passed in 2002, adding provisions to reduce the presence of “soft money” in campaign politics, and amending the foundational Federal Election Campaign Act 1971 that originally put in place a foundational system for disclosing receipts and spending on Federal elections.
In Oregon, the system that tracks all campaign finance contributions and expenditures is called Oregon Elections System for Tracking and Reporting (ORESTAR), developed by the Secretary of State. Using ORESTAR, anyone can search for transactions using filters, but the complete dataset kept inaccessible, perhaps in order to make it more difficult to extract information about major contributors or interpret meaningful patterns.
For this project, I partnered with data scientist Daniel Morris to examine a large ORESTAR dataset of all the contributions made for Oregon House and Senate candidates during the 2020 Primary Election cycle. In Oregon, there are 30 Senate districts, and 60 nested House districts, and it is important to note that the number of candidates varies depending on vacant seats, and Oregon has a democratic majority, so there are less Republican candidates overall. Morris was interested in examining these data to determine:
How much monetary support comes from inside and outside a candidate’s district (House, Senate, Democrat, Republican)?
Data
Datasets
- Cash and In-Kind Contributions for 2020 Primary Election (Excel Spreadsheet, ORESTAR)
- Oregon Zip Code Polygons (Shapefile, Oregon Spatial Data Library)
- Oregon House District Polygons (Shapefile, TIGERLINE, Census.gov)
- Oregon Senate District Polygons (Shapefile, TIGERLINE, Census.gov)
- USA Grid Cartogram (Shapefile, ESRI)
- Ballotpedia.com for candidate information
Projections used: NAD 1983 (2011) Oregon Statewide Lambert (Intl Feet), NAD 1983
Data Clean-Up Methodology
A major part of this project was cleaning up the dataset that ORESTAR sent us. The raw dataset we started with had 7,645,151 points. We cleaned up the dataset to focus on cash and in-kind contributions and had to focus specifically on cleaning up the columns filer, contributor payee, book type, zip code, and state to fix clerical errors, spelling mistakes, and missing information. It was important to have an accurate spatial component to the data down to the zip code for the Oregon analysis, have an accurate state attribute for the analysis of all US contributions, and the contributor payee for the analysis of major contributors. After cleaning up the filer column, we added columns with the office (House or Senate), party (Democrat, Republican, or Third-party), and district number to the file using pivot tables and 'vlookups'. These columns were based on the candidate, who I had to extract from the filer name (ie. Friends of Vikki to Vikki Breese Iverson).
Data clean up work flow
Methodology
Getting Started
After the data was cleaned, performed the first analysis in ArcGIS for the data.
- OR Zip Codes → Polygon to point tool → OR Zip Code Centroids
- OR House Districts → Spatial join to OR Zip Code Centroids (One to many, Intersect) → House District Zip Codes Table
- OR Senate Districts → Spatial join to OR Zip Code Centroids (One to many, Intersect) → Senate District Zip Codes Table
- Exported tables to Excel, and used vlookups to designate a House or Senate district to each contributor.
Try, and Try Again...
I tried two methodologies that didn't work before I settled on the final analysis. I wanted to utilize social network analysis with Gephi to reveal major contributors and groups in the election, and the XY to line ArcGIS tool to show the patterns of money movement across the state. After a lot of trial and error I found that this was not going to be possible with my time frame for the project, and the amount of data. With Gephi, I had to individually reformat the tables Gephi which did not allow for any dynamic changes that may occur in the original data source. The XY to line tool did not work either, because the range of values was so large that weighing the lines by total value ended up hiding a lot of important information.
Attempt at showing contributions using the XY to Point tool in ArcPro
The images above show my first attempt at using XY to point for this analysis. The points in the ocean were from PO Boxes that have unique zip codes that were not part of the zip code file I was using. Morris and I decided together to leave out
Part 1: Oregon District Analysis
Moving forward, Morris and I calculated a new attribute for each contribution using a vlookup wrapped in a conditional command. For each contribution, this column returned a ‘0’ if the contribution came from inside the candidate’s district, and 1 if it was from outside the candidate’s district. I repeated this process for each of the 8 data subsets I was producing figures, and then re-added the miscellaneous contributions back into the datasets, because the miscellaneous data did not have spatial attributes.
In ArcPro I had joined the Oregon House and Senate Districts to tables that included all of the candidates that were running for the 2020 primary, and exported 8 layers for each combination of Senate, House, Republican and Democrat for contributions from within Oregon and outside Oregon but in the United States.
Next, I joined these tables individually to the layers to create a cloropleth map of all contributions by district, for each subset. The first time I tried this, a few of the joins were incorrect, and Morris helped review the data and identify which pieces indicated errors. Originally we wanted to be able to map the contributions with pie charts for each district that showed the percentage of contributions inside, outside, miscellaneous, and NA (ones that did not have spatial attributes we were able to match), and size the pie charts according to the total contribution amount per district, but the limitations of ArcPro made it difficult to create a layout that included all data in a readable way. ArcPro also does not treat symbology as labels, so there was no way to convert to graphics or annotation.
Instead of creating (essentially a cartogram) for the four subsets of Oregon contributions (Oregon House Democrats, Oregon House Republicans, Oregon Senate Democrats, Oregon Senate Republicans), I took to Excel to manually create a cartogram. I started doing this by hand as a proof of concept, but realizing that I didn’t want to have to create and format between 100 and 180 individual pie charts, I found a sample Python script for Excel and reformatted it to generate the pie charts as batches. I edited it so it worked for the datasets I had, and also changed it so it would produce donut pie charts instead of full pie charts.
Sample of the Python script used to create the pie charts seen in cartogram figures
After the pie charts were generated, I moved them into Adobe Illustrator to format them. The charts for each of the 4 maps were resized into 4 categories, based on the total contributions per district, that I calculated in ArcPro and Excel (to double check). They were individually placed to be as close to their relative position as possible, but due to the fact that (especially for Democratic candidates) the metropolitan districts received the most contributions, although they are physically smaller areas, there is distortion in the figures (as there is in most cartograms).
Part 2: Domestic Contribution Analysis
For the second part of the analysis, I examined all of the contributions from outside the United States. I joined the two subsets to the USA grid cartogram from ESRI. To get this to be a workable layer in ArcPro there was a lot of converting using the Table to Table tool and calculating new fields. I also had to change all of the null values (where there weren’t any contributions from some states) to 0s, so that the symbology would display.
Part 3: Major Contributor Analysis
Finally, I went back to the full list of contributions and performed analysis on contributors with pivot tables only. The book type field needed less cleaning up than the rest of the fields, and I generated tables for each of the 4 Oregon subsets that looked at the makeup of contributors by type: Business Entity, Candidate and Immediate Family, Individual, Labor Organization, Political Committee, Political Party Committee, Unregistered Committee, Miscellaneous Contributions, and Other. I examined each of the Democratic subsets for: top 10 overall contributors, top 10 business entity contributors, top 10 political committees, and top 10 labor organizations. For Republican subsets I looked at top 10 contributors overall, top 10 business entities, and top 10 political committees.
Results
PART 1A: How are House contributions distributed by district?
Out of the contributions to House Candidates that came from within Oregon, 88% came from within the candidate’s district for Democrats, compared to the 84% of Republican candidates.
Use slider to toggle. Click here for full size images
The district(s) that received the most contributions overall ($1.7 million - $2.9 million):
- Democrats: 32
- Republicans: 32, 39
Districts that received the second most contributions over all ($586,000 - $1.7 million):
- Democrats: 20, 33, 37, and 44 (all within or near the Portland Metro area)
- Republican: 9, 11, 15, 19, 20, 26, and 37.
PART 1B: Where are House contributions coming from?
Use slider to toggle. Click here for full size images
House districts that received over 50% of contributions from outside district:
- Democrat: 1, 58, 55, 59
- Republican: 13, 31, 3
PART 1C: How are Senate contributions distributed by district?
Out of the contributions to Senate Candidates that came from within Oregon, 91% came from within the candidate’s district for Democrats compared to the 88% that came from within the candidate’s district for Republicans.
Use slider to toggle. Click here for full size images
The senate districts that received the most contributions overall ($1.3 million - $2.9 million):
- Democrats: 5, 10, 14
- Republicans: 5, 9, 10, 13, 27
PART 1D: Where are Senate contributions coming from?
Use slider to toggle. Click here for full size images
The senate districts that received the largest percentage of contributions from outside district:
- Democrat: 1 (10%), 19 (10%)
- Republican: 1 (27%), 12 (2%), 26 (7%)
PART 2: How are domestic contributions distributed by state?
Out of the 11% of contributions for Democratic House candidates that came from outside Oregon, the states that contributed the most were:
- Most: Washington
- Runners Up: California, Washington DC
Out of the 11% of contributions for Republican House candidates that came from outside Oregon, the states that contributed the most were:
- Most: Washington, California, Texas, Virginia, Washington DC
- Runners Up: Kansas, Missouri, Illinois
Out of the 10% of contributions for Senate Democratic candidates that came from outside Oregon, the states that contributed the most were:
- Most: Washington
- Runners Up: California, Washington DC
Out of the 11% of contributions for Senate Republican candidates that came from outside Oregon, the states that contributed the most were:
- Most: Washington, California, DC
- Runners Up: Texas, Kansas, Illinois, Washington DC
There wasn’t much variation between House and Senate subsets at this scale, but it is important to note that a lot of the out of state contributions came from organizations that have headquarters located in a state outside of Oregon, or multiple states of Oregon. While reviewing the data I found many contributors that had many transactions from multiple locations in different states.
PART 3: Who are the major contributors for each party?
By far the largest type of contributor for all subsets (House, Senate, Republican, Democrat) is political committees, making up between 60-62% of all contributions. Individuals make up the second largest contributor type consistently at 10-11% for each subset.
For Democratic House and Senate candidates, business entities make up around 10% of contributions compared to Republican counterparts that receive 19-20% of their contributions from business entities.
Democratic candidates (House and Senate) receive 6% and 4%, respectively, from labor organizations, where Republican counterparts receive less than 0.01% from labor organizations.
Nike is the top business entity contributor to both the Democratic House and Senate candidates, and it is also in the top 10 business contributors for Republican House and Senate candidates, 5th and 9th, respectively. JUUL Inc. is a notable mention as well, coming in 11th for Business Entities supporting the Republican House candidates.
Top contributors for Democratic candidates include:
- Pacific NW Regional Council of Carpenters
- Oregon State Firefighter Council
- International Association of Firefighters
Top contributors for Republican candidates include:
- Oregon Forest Industries Council PAC
- Orloggers PAC
- Seneca Jones Timber Company
- Freres Lumber Company
- Roseburg Forest Product Company
- Murphy Company
- Pape Group Inc.
Conclusion
Moving forward, if I was to continue this project, I would go back and rework the datasets again to ensure that any errors that were a result of my novelty to Excel are mitigated. Additionally, I would take some steps to increase the resolution and accuracy of the data. First, I would clean up the addresses so that the contributions could be geocoded as addresses, as opposed to using the zip code intersection methodology I used. I would pay close attention to the PO Box entries, and make sure that these were recorded as accurately as possible as well. Second, many of the individuals that contributed have employee information as well (ie. Kaiser). This is something I would want to look into further as well in lieu of the Dejoy case. Lastly, I would want to look further into which major contributors from outside Oregon are based in which states, because this is an important part of the Part 2 analysis. For example, Texas is a state that makes up a large majority of the outside of Oregon category, and the headquarters for AT & T, and 7-11 are located in Texas.
This dataset provided such a wealth of information, and we only focused on a tiny sliver (9.9% to be exact) of the original raw dataset that Morris obtained from ORESTAR. When discussing the project’s premise we discussed looking at other kinds of transactions, like expenditures and the nuances of campaign finance that have a temporal component. I hope this project can serve as an example for the value of data visualization and analysis of campaign finance overall for interest groups, community organizations, and eligible voters in Oregon.