My family, like many others, when kept in a close proximity for too long inevitably talks some politics. And when the Nebraska winter makes the prospect of escaping outside too daunting, I sometimes find myself participating in these conversations. This year, the topics ran the usual gamut, but one point that stuck with me was the observation that the senators and representatives in congress seem to be increasingly elderly, and perhaps, increasingly unable to empathize with the young folk. I'll make no comment on the second point, but the first can be easily investigated with a bit of historical demographic information.

I want to answer two questions. First, has the Congress become populated by older and older persons over time? And second, does this track with the demographic evolution of the general US population?

To answer these questions I need two pieces of information

  1. The ages of all senators and representatives of congresses going back (ideally) to the first congress in 1789
    For this, some quick web searching brought me to the Biographical Directory of the United States Congress which allows one to enter in a particular year and get a listing of all members, their year-of-birth(if known), party affiliation, and state. To get this information into a form I could use in my analysis, I employed the wonderful requests and bs4 Python libraries. The code makes one query for each year and then processes the resulting page to extract the relevant information. The results are saved into a sqlite database for later use.

  2. The age distribution of the US Population over time
    This was remarkably difficult to find. I knew that this information must somehow be available from the US Census Bureau, but for the life of me, I couldn't find it on their website. So I turned to the IPUMS service which will create custom extracts of specific variables from US Census data and make the results available in a variety of formats. For reference, I'm using the decennial censuses from 1850 to 2010 plus the ACS for 2016. If you want to use the exact same data as me, the table below shows which datasets to select on the IPUMS website.

1850 1% 1950 1%
1860 1% 1960 1%
1870 1% 1970 1% state fm1
1880 1% 1980 5% state
1900 5% 1990 1%
1910 1% 2000 1%
1920 1% 2010 10%
1930 1% 2016 ACS
1940 1%

And the fields I'm using are the following


Now, with the data in hand, it was a relatively simple matter (code) to calculate some basic statistics and track them over time. I chose to look at the median as well as the 25th and 75th percentile ages for congresspersons and the general population. These are shown in the figure below.

American congressperson median ages compared to the US general population

A few observations.

  • The typical congress-person has always been at least 45 years old but for most of the 20th century it floated between 50 and 55. However, starting around 1980, there has been a sharp increase so that the median age of congress is now around 61.

  • Although the overall trend has been for congress to get older, there is a period between about 1930 and 1980 where congress tended younger.

  • The US population has been getting steadily older since around 1970. It would not unreasonable to think that older voters may prefer older candidates and the above plot could be interpreted as evidence of that.

There are few more questions that could be answered with the data collected above. For instance, is there a significant difference in ages between political parties? What about geographical regions? Do richer or poorer states elect younger or older candidates? I'm planning on addressing these and other questions in subsequent posts.

Have feedback, questions, ideas for further research? Hit me up on twitter or shoot me an email at caleb @ this domain.