Team Frienemies

From ComputationalReporting Wiki
Jump to: navigation, search

Group Name: FRIENEMIES Datafest logo.jpg

Title: Brought Together by $$$: Induced Political Networks by Shared Donors (2012 Election Cycle)

The Team: Kevin Lin (UC Berkeley), Gary Tang (Stanford), Cinna Julie Wu (UC Berkeley)

Summary: Here we create graphs where politicians or political organizations (nodes) are connected by mutual donors (edges). The edges are weighted by the number of mutual donors; edges with greater weight are more "attractive". Different nodes also exert a small "repulsive" force on one another. By simulating these "attractive" and "repulsive" forces on the nodes, these graphs begin to take shape over time and form into clusters.

The nodes are sized according to popularity (total donations received) and colored according to party affiliation: Democrat (blue) / Republican (red) / Other (green). By varying the parameters of the graph, we are able to see some interesting clustering properties. Not surprisingly, we see two main clusters in the following example corresponding to Democrats and Republicans.


In the graph above, we have also labelled green nodes with the name of the corresponding politician or political organization. Thus we can make educated guesses as whether these nodes are more Democratic-leaning or more Republican-leaning, and we may estimate the extent to which they are so.

Not only do these graphs provide interesting insight into the clustering properties of politicians and political organizations, they may be used to create a recommender system for donors; i.e., suggest politicians a donor may be interested in donating to according to previous donations. When a donor selects a node (politician/political organization) to donate to, we can find the neighbors with one degree of separation to the node in a graph. These neighbors are then recommended to the donor and may be ranked in various ways (via popularity of neighbor, edge weight etc). Visually, we have the following picture, assuming the user has decided to donate to Barack Obama.


The closer a node is to the Barack Obama node, the stronger the recommendation is. For example, we would recommend the user to donate to Al Franken or Progressives United PAC before we recommend the user to donate to Mitt Romney.

Tools & Data:

  • Graphs created using the 2012 Campaign Finance Data from
  • Data cleaned and analyzed using a combination of Python and R.
  • Graphs created using NodeBox, a data visualization application for Mac OS X which uses Python.

Sample Visualizations:

  • Here we label nodes with low connectivity to the main Democratic and Republican clusters.
  • We define a "moderate" to be a democratic node which is highly connected to republican nodes, or vice versa. These "moderate" nodes are plotted in this graph. We can thus identify, for example, democrats who are closer to the republican cluster than to the democrat cluster, or politicians who are "in between" the two clusters.
  • We can make guesses as to which politicians are most closely affiliated with a PAC by looking at the PAC's closest neighbors. In this graph, we see that Nancy Pelosi is one of PAC to the Future's closest neighbors; and indeed Nancy Pelosi is actually an affiliate of that PAC.

Future Work:

  • Various parameters may be changed when creating the graphs (e.g. how length of edges correspond to edge weights, size of nodes, the minimum cutoff of edge weights to include in the graph). By playing around with these parameters, we hope to find clusters within clusters.
  • It would be interesting to do a similar analysis on, for instance, political contribution data from countries where the number of large political parties is bigger than 2.
  • The Donor Recommender System can possibly be solved analytically by reformulating it as matrix completion problem. Existing techniques can then be applied to solve the problem. This is similar to the techniques used in the Netflix Prize Problem.
  • For recommendations, we currently only consider neighbors with one degree of separation. It may be interesting to see what properties can be deduced from looking at neighbors with two or more degrees of separation.
  • We hope to design a web app where users may input potential donation recipients to find a ranked list of similar potential donor recipients; or a web app where users may generate these kinds of visualizations on their own.
Personal tools