House Data file

About

The House Data project contains detailed intra-cycle financial summaries for candidates for US House of Representatives since 2003. Last generated on 20100707. The most up to date house data file will always be downloadable from here. A new revision will be released immediately after every campaign filing period.

Latest version of housedata: 20100709
Download housedata-latest.zip

The project was inspired by the FEC Candidate Summary, but has several important differences:

  • The House Data project only provides summaries for US House candidates, while the Candidate Summary has information on both House and Senate.
  • The House Data project provides summaries for every filing period - 4 times yearly + before and after an election-, where the Candidate Summary provides per-cycle totals.
  • The House Data project provides summaries dating back to the beginning of the 2004 election cycle, where the Candidate Summary only provides data on the 2010 campaign cycle.
The project is a natural augmentation to the FEC Candidate Summary where intra-cycle totals or more historical data is required. The project may also be useful for researchers collecting data a large number of candidates or across a long time period, making manual retreival of summary information too time consuming.

Methodology

The House Data file was created from electronic copies of Form3 reports filed by US House campaiagns. Every electronic report is available on the FEC FTP site in a daily zip file. All reports are archived locally and then processed with Ruby and FECHell. Form3 filings for all candidates are then extracted to the House Data file.

Campaigns will occasionally file amendments to previous reports, and the House Data file automatically reflects these updated filings.

Format

The House Data file is a simple CSV file containing 41 fields. All of these fields were taken from the FEC Form 3 (Summary of Receipts and Disbursements). Details on individual Form3 fields can be found in the FEC Vendor tools pacakage. The fields should be mostly self explainatory, but please feel free to contact me with any questions or comments. This documentation will be improving as time permits.

Fields

  • fileid - The FEC filing electronic number associated with this FEC report.
  • filed_on - The date this FEC report was filed on.
  • committee_fecid - The 9 digit FEC ID of the campaign committee that filed this report.
  • committee_name - The name of the committee that filed this reprot.
  • state - The state this campaign committee is running in
  • district - The district number this campaign committee is running in
  • cycle - The election year this report was filed for
  • coverage_from - The starting date for this report
  • coverage_through - The ending date for this report
  • total_contributions_minus_loans - Total contributions minus loans this period
  • total_contribtion_refunds - Total contribution refunds this period
  • net_contributions - Net contributions this period
  • total_operating_expenditures - Total operating expenditures this period
  • total_offset_to_operating_expenditures - Total offets to operating expenditures this period
  • net_operating_expenditures - Difference between total and offset operating expenditures
  • cash_on_hand_at_open - Cash on hand at the opening of this period
  • cash_on_hand_at_close - Cash on hand at the close of this period
  • total_debts_to - Total debts owed to this committee
  • total_debts_by - Total debts owed by this committee
  • total_contributions_individuals_itemized - Total contributions from individuals under $200
  • total_contributions_individuals_unitemized - Total contributions from individuals over $200
  • total_contributions_individuals - Total contributions from all individuals
  • total_contributions_party_committees - Total contributions from party committees
  • total_contributions_other_committees - Total contributions from other political committees
  • total_contributions_from_candidate - Total contributions from the candidate
  • total_contributions - Total contributions from all sources
  • total_transfers_from_auth_committees - Total transfers from authorized fundraising committees
  • total_loans_from_candidate - Total loans from the candidate
  • total_loans_from_other - Total loans from others
  • total_loans - Total loans
  • total_other_receipts - Total non-loan, non-contribution, non-offset receipts
  • total_receipts - Total receipts from all sources
  • total_transfers_to_auth_committees - Total transfers to authorized committees
  • total_loan_repayments_to_candidate - Total loan repayments to the candidate
  • total_loan_repayments_to_other - Total loan repayments to other debitors
  • total_loan_repayments - Total loan repayments to all
  • total_refunds_individual - Total refunds to individuals
  • total_refunds_party_committees - Total refunds to party committees
  • total_refunds_other_committees - Total refunds to other political committees
  • total_refunds - Total refunds to all types
  • total_other_disbursements - Total other disbursements
  • total_disbursements - Total disbursements overall

Example

The House Data file is in CSV format so it can be manipulated in just about any program. The following examples will explore US House campaign finance statistics using the R Project.
library(ggplot2)
# load the CSV and format some text as Date objects
fs <- read.csv("housedata-20100709.csv")
fs$coverage_through <- as.Date(as.character(fs$coverage_through),'%Y%m%d')
fs$coverage_from <- as.Date(as.character(fs$coverage_from),'%Y%m%d')
fs$filed_on <- as.Date(as.character(fs$filed_on),'%Y%m%d')														
						

Example 1

First we'll look at receipts and disbursements for the entire election, broken down across commercial quarters.
# subset the data to cycle == 2008							
c08 <- fs[which(fs$cycle == 2008),]
# add a new field for the year/quarter pair 
c08$mdate <- paste(strftime(c08$coverage_through, "%y"),quarters(c08$coverage_through),sep='/')
# summarize receipts and disbursements
c08t <- ddply(c08,"mdate", function(x) data.frame(receipts=sum(x$total_contributions),disbursements=sum(x$total_disbursements)))

# plot the receipts
qplot(x=mdate,y=log(receipts),data=c08t,geom=c("point","smooth"),group=1,main="Cycle 2008 Total Receipts, US House Races",ylab="Receipts (log)", xlab="Quarter")
# plot the disbursements
 qplot(x=mdate,y=log(disbursements),data=c08t,geom=c("point","smooth"),group=1,main="Cycle 2008 Total Disbursements, US House Races",ylab="Disbursements (log)", xlab="Quarter")
						



Example 2

Next we'll look at the major party candidates in Arizona's 8th House district in the 2008 election. The candidates were Rep Gabrielle Giffords (fecid C00438408) and State Rep Timothy Bee (fecid C00417618). We'll look at receipts and disbursements in this race for each candidate:

Example 2

Next we'll look at the major party candidates in Arizona's 8th House district in the 2008 election. The candidates were Rep Gabrielle Giffords (fecid C00438408) and State Rep Timothy Bee (fecid C00417618).

First we subselect only the filings by these two candidates for the 2008 cycle; then we produce a line chart showing the percentage of individual contributions that were unitemized.

# pull out filings for Rep Giffords & Bee
az08 <- c08[which(c08$committee_fecid == "C00438408" | c08$committee_fecid == "C00417618"),]
az08t <- ddply(az08, c("mdate","committee_fecid"), function(x) 
          data.frame(receipts=sum(x$total_contributions),
            disbursements=sum(x$total_disbursements)))

az08t$committee_fecid <- factor(as.character(az08t$committee_fecid),labels=c("Giffords", "Bee"))

# plot receipts
qplot(x=mdate, y=log(receipts),data=az08t, color=committee_fecid,group=committee_fecid,
  geom=c("point","line"),main="Cycle 2008 Total Receipts US AZ-08",ylab="Total Receipts (log)", xlab="Quarter") + 
  scale_colour_manual(name="Committee", values=c("#377EB8","#E41A1C"))

qplot(x=mdate, y=log(disbursements),data=az08t, color=committee_fecid,group=committee_fecid,
  geom=c("point","line"),main="Cycle 2008 Total Disbursements US AZ-08",ylab="Total Disbursements (log)", xlab="Quarter") + 
  scale_colour_manual(name="Committee", values=c("#377EB8","#E41A1C"))

						

 

Taken together these graphs tell a more complete story than simple intra-cycle totals ever could. For starters both candidates' big spending quarters were proceeded by big receipt quarters. Rep Giffords was a stronger fundraiser, but in Q1 2008 Tim Bee actually matches Rep Giffords in fundraising and comes very close in disbursements, and then outspent Giffords in Q2/2008 by a few tens of thousands of dollars. At that point Rep Giffords ramped up both fundraising and disbursements all the way to the election, which she won.


Bringing more resolution to fundraising analysis is the point of the House Data file, and I hope you find it useful. Please don't hesitate to contact me with questions, comments, or suggestions about the House Data file.

About

Offensive Politics, LLC is a Washington, DC based company providing software- and data-engineering consulting services to political campaigns, PACs, and non-profits.

Contact
Email: jjh@offensivepolitics.net
Blog: Offensive Politics
Twitter: @offpol
GitHub: Offensive Politics

Content (C) 2010 Offensive Politics, LLC