Wait, that’s how it works?!
What we’ve learned about our representation through Open Civic Data
At Brigade, we want anyone and everyone to better understand their own political beliefs and how to act on these opinions. Part of this is figuring out who actually represents you. To date, @noahsilas and I have been working hard to integrate our not-yet-launched product with the Google Civic Information API and other sources of civic data. We’ve been learning about how our government’s quirks are modeled digitally and here are some interesting things we’ve picked up along the way.
Open Civic Data identifiers (or OCD IDs) identify different parts of our government. At this time, it covers people, organizations, divisions, and jurisdictions. The majority of our work has been understanding Open Civic Data’s political divisions and how they’re represented. A division is a politically relevant geographic area that maps to by a set of addresses (possibly by GPS geometries) and is identified by an OCD Division ID. Identifiers are specified in this format:
ocd-division/country:<country_code>(/<type>:<type_id>)*
and here’s a OCD ID for reference:
ocd-division/country:us/state:ca/cd:12
Google’s Civic Data API provides us with a means to look up elected official information, political office information, and even election information through OCD Divisions and address. Since it would be more than a bit cumbersome to iterate through all known US addresses, it’s natural to use OCD IDs. Open Civic Data has been kind enough to post all current OCD IDs in a GitHub repository for easy access. Having all the data at once makes it much easier to see patterns and inconsistencies in what first appears to be the OCD ID naming scheme but turns out to be quirks in our political system.
Let’s start off small: Nebraska is unicameral while all other states’ legislatures and the U.S. Congress are bicameral. In the Cornhusker State, this body is referred to as the ‘Legislature’ or sometimes just the ‘Unicameral’. In 1934 Nebraska citizens voted to abolish the lower house due to budgetary constraints during the Great Depression. How did we find out? The Google Civic API response for all other states includes divisions for both upper and lower legislative bodies, but Nebraska only has one. Ahhh!
State upper legislatures as ‘sldu’ (ocd-division/country:us/state:ca/sldu:1) while lower houses are presented with ‘sldl ‘ (ocd-division/country:us/state:ca/sldl:1). We noticed Nebraska’s lack of a lower legislature through the missing ‘sldl’ identifiers.
Not too bad so far right? Unlike for other states, we just won’t have extra OCD IDs to keep track of. Man, why can’t we all be unicameral?
Warming up now: All federal lower body divisions (House of Representatives) are labeled by number (ocd-division/country:us/state:ca/cd:12), and the upper body (Senate) divisions are just the state (ocd-division/country:us/state:ca). Each state is then broken down in to divisions for their upper and lower legislative houses. It shouldn’t be too crazy to assume that all states would name their divisions numerically right? Unfortunately, Massachusetts and Vermont use names (ocd-division/country:us/state:vt/sldu:chittenden) for their upper house divisions, and more than a few states use either alphanumeric combinations or names to denote their lower houses. This really isn’t a technical pain but it is surprising. C’mon state governments, can’t we get some consistency over here?
On to the next one: Keeping in line with state legislature shenanigans, many states have the same boundaries drawn for their upper and lower house divisions. So what are the differences? The lower houses usually have shorter election cycles (every 2 years) while most upper houses have longer cycles. Now New Jersey is a curious example. The members of New Jersey’s upper house serve four year terms except after redistricting, where they’ll only serve two years. Also known as the “2–4–4" cycle. We came across this one while researching why all of New Jersey’s lower house OCD IDs were aliased to their upper house OCD IDs.
Modeling all of the aliased OCD IDs adds complexity. Aliased OCD IDs are stored in a separate file (https://github.com/opencivicdata/ocd-division-ids/blob/master/identifiers/country-us/aliases.csv) rather than in the canonical OCD ID files. Unfortunately at the time of writing, aliased OCD IDs are actually not resolving in the Google Civic API.
And through that we found this: The New Jersey legislature was prorogued (I had to look this up too) by then Governor William Franklin on December 6, 1775. An entirely new legislature was elected almost a year later on August 13, 1776. There isn’t any technical aspect, but it’s a fun bit of trivia.
Last, we narrowly avoided this modeling headache: The California Senate redistricted in 2011! The story is best told by… the official California legislative website:
Due to redistricting, Senate districts have a unique issue that Assembly and Congressional districts do not have. Of the Senate districts established by the Citizens Redistricting Commission in 2011, only the odd-numbered districts went into effect for the 2012 election cycle. The new even-numbered districts will go into effect for the 2014 election cycle, and the even-numbered districts previously established by the 2001 redistricting will continue to exist until 2014. These unique circumstances create some areas of overlap between the old and new districts (“accelerated areas”) and some areas without coverage (“deferred areas”). For the 2013–14 Regular Session of the Legislature, each accelerated area essentially has two Senators representing the area and each deferred area has none. The Senate Committee on Rules will assign a Senator to provide appropriate constituent services to each deferred area. This is a normal consequence of the redistricting process.
So for that sticky interim period we had fun temporary OCD IDs like this: ocd-division/country:us/state:ca/sldu:assigned-29. Lucky for us, these will only last through 2014 and not any further. So whew, no need to model two sets of divisions for a single legislative body… yet…
The work that Open Civic Data and Google have done with making data about our crazy federal and state governments accessible through code is thankless. Much of the information they are provided with is inconsistent and must be updated manually. The herculean effort of tracking state information to county precincts is mind-blowing, especially after redistricting shenanigans. These are some of the few quirks we’ve learned about just through reading the data, and we’ll be sure to post about the others that we find as our work continues.
Citations:
- http://en.wikipedia.org/wiki/Nebraska#Legislative_branch
- https://github.com/opencivicdata/ocd-division-ids/blob/master/identifiers/country-us/openstates/state-ma-openstates.csv
- http://en.wikipedia.org/wiki/New_Jersey_Legislature#Elections_and_terms
- http://en.wikipedia.org/wiki/New_Jersey_Legislature#Colonial_period
- http://www.legislature.ca.gov/legislators_and_districts/districts/senatedistricts.html