Fec graph connect_2012

21
1 Analyzing Political Data and Campaign Contributions Using Neo4J Dave Fauth @davefauth [email protected] 1

description

This is my GraphConnect 2012 presentation analyzing Political Data and Campaign Contributions.

Transcript of Fec graph connect_2012

Page 1: Fec graph connect_2012

1

Analyzing Political Data and Campaign Contributions

Using Neo4J

Dave Fauth

@davefauth

[email protected]

1

Page 2: Fec graph connect_2012

2

About Me

My Blog: http://www.intelliwareness.orgFind me on Twitter: @davefauthEmail me: [email protected]

GitHub: http://github.com/davidfauth

Page 3: Fec graph connect_2012

3

Agenda• FEC Individual Contribution Data• SuperPac Data• Bill Sponsorship• Visualization• Q&A

Page 4: Fec graph connect_2012

4

Thank you• Marko Rodriguez - Gremlin movie

recommender• Max De Marzi – Visualization and

other cool ideas• Michael Hunger – Batch Importer

Page 5: Fec graph connect_2012

5

FEC Data

• In 1975, Congress created the Federal Election Commission (FEC) to administer and enforce the Federal Election Campaign Act (FECA) – – The statute that governs the financing of federal

elections.

• The duties of the FEC, which is an independent regulatory agency, are to disclose campaign finance information

Page 6: Fec graph connect_2012

6

FEC Data

• Detailed files about Candidates, Committees and Individual Contributions– http://www.fec.gov/finance/disclosure/ftpdet.shtm

l

• 10 years of data– Updated every Sunday

Page 7: Fec graph connect_2012

7

FEC Files

• Committees– The committee master file contains one record for each committee

registered with the Federal Election Commission.

• Candidates– The candidate master file contains one record for each candidate who

has either registered with the Federal Election Commission or appeared on a ballot list prepared by a state elections office.

• Individual Contributions– The individual contributions file contains each contribution from an

individual to a federal committee if the contribution was at least $200.

Page 8: Fec graph connect_2012

8

Financial Data Example

Supports

Gives

Gives

Gives

Gives

Receives

Receives

Receives

Receives

Supports

Michelle Bachman

Bachman for Congress

Troy Smith

contribAmt: 200contribDate: 20120501

contribAmt: 300contribDate: 20120604

DAVID SCHWEIKERT FOR CONGRESS

David Schweikert

Craig Stull

contribAmt: 400contribDate: 20110815

contribAmt: 830contribDate: 20110506

Contributor

Contribution

Committee

Candidate

Page 9: Fec graph connect_2012

9

SUPPORTSCommittee

Data Model

Candidate

FUNDS

GIVES

Contribution

Individual

Expenditures

superPac Contributions

Page 10: Fec graph connect_2012

10

SUPPORTS

Committee

committeeIDcommitteeNamecommitteeTreasurercommitteeCitycommitteeStatecommitteeZip

Candidate

candidateIDcandidateNamecandidatePartycandidateElectionYearcandidateOfficeStatecandidateOffice

More Details on the Data Model

Contribution

commIDcontribDatecontribAmtcontribType

FUNDSDonor

indivNameindivCityindivStateindivZipidivEmpindivOccupation

GIVES

Page 11: Fec graph connect_2012

11

Demo Time

commIDcontribDatecontribAmtcontribType

Page 12: Fec graph connect_2012

12

SuperPac Expenditures• Data Obtained from Sunlightfoundation.com• Expenditures and Contributions during the

2012 election cycle

Page 13: Fec graph connect_2012

13

Committee

committeeIDcommitteeNamecommitteeTreasurercommitteeCitycommitteeStatecommitteeZip

More Details on the Data ModelExpenditures

commIDcontribDatecontribAmtcontribType

SPENDS_MONEY

superPac Contributions

commIDdonorNamedonorCitydonorStatedonorZipdonorAmtdonorDate

SUPERPAC_GIVES

Page 14: Fec graph connect_2012

14

Demo Time

commIDcontribDatecontribAmtcontribType

Page 15: Fec graph connect_2012

15

Bill Sponsorship• The Data– Obtained from http://www.govtrack.us/– Members of Congress

• Data on everyone who has ever served in Congress– Bills introduced in each Congressional Session• XML File

– Sponsor, Cosponsor, Title, Date Introduced, Actions, Subjects

Page 16: Fec graph connect_2012

16

Data Loading• XML Parser– Wrote Java XML Parser to parse out 6 years of data– Create files for Bill, Sponsors, CoSponsor and

Subjects• Bulk Data Importer– Use similar approach to load data using Java

importer

Page 17: Fec graph connect_2012

17

SPONSORSBill

Data Model

Congress

REFLECTS

Subject of Bill

ActionsCOSPONSORS

ACTIVITY

Page 18: Fec graph connect_2012

18

What the Actions Could BeOr

How a Bill Becomes a Lawthanks to Josh Tauberer

http://razor.occams.info/pubdocs/2012-10-08_LVI_slides.pdf

Introduced in House

Floor Debate

Floor Debate

Floor Debate

Failed in Senate

Failed in House

vote

vote

vote

vote

vote

vote

Passed SenateWithout changes

Passed w/Amendment

Enrolled Bill

At Senate Committee

Passed House

By ruleCommittee

Report vote

Page 19: Fec graph connect_2012

19

Demo Time

commIDcontribDatecontribAmtcontribType

Page 20: Fec graph connect_2012

20

Visualizations• Timeline– Easy way to show SuperPac

contributions/expenditures over time• Force Directed Graph– Use D3JS library

Page 21: Fec graph connect_2012

21

Questions

commIDcontribDatecontribAmtcontribType