Reading Time: 3 minutes

I’ve not written or added much to this site in 2020, and you can take your pick of reasons why: The pandemic; working from home with two kids for most of the year; a third kid on the way in just a few weeks; or finishing my Masters degree (which will be wrapped up within a month). Hopefully this post makes up for it, though.

With the state numbers for the 2020 General Election essentially finalized (though not yet completely certified), I’m anticipating there won’t be any more changes to the numbers posted on the state website. I went ahead and loaded them into the database, and—for the first time ever—when I did the 2020 election results I also included state legislative races for both the primary and general elections.

But I didn’t stop there. I also have been working to gather state legislative results over our state’s history. So in addition to 2020, you will also find results from 2008, 2010, 2012, 2014, 2016, and 2018, primary and general all. Additionally, for 2016, 2018, and 2020, you will see county-level results for all races, including legislative races.

These results can be combed through on the Election Results portion of the database, and they also automatically appear on each politicians individual profile page (example: here’s Sen. Ed Charbonneau’s page, now complete with all eight of his legislative races). If you click the permalink for any election result from 2016, 2018, or 2020, you can see a heat map of the county-level results, like this:

Adding in the legislative results is a much bigger undertaking than it might seem. For some perspective: The database houses general election results for Governor from 1816-2020; Lt. Governor from 1888-1972 (when we stopped separately electing the Lt. Governor); Secretary of State, State Auditor, State Treasurer, Attorney General from 1888-2020, and Superintendent of Public Instruction from 1888-2016; U.S. House seats from 1888-2020; and U.S. Senate seats from 1914-2020 (since we started direct election of U.S. Senators). It also houses primary election results from 2004-2020 for Governor, U.S. House, and U.S. Senate, and most special election results from 1888-2020. Altogether, that represents results from 1,340 elections.

Now consider that every two years there are 100 State Representative seats on the ballot, and 25 State Senate seats (for a total of 125 general election races). Every seat has at least one primary, and usually two (one for Republicans and one for Democrats), so that’s between 250 and 375 state legislative elections each election year. Just in going back to 2008, I’ve added 2,252 elections to the databasenearly tripling the amount of results loaded in.

I plan to continue working my way backwards on legislative election results, and will try to post updates as I drop in new batches (but you can always see what elections are in the database on this page). However, I now have enough data to build some new tools I’ve got ideas for, and you can see when I’ve added those (or made other technical changes to the website) on this page. (I also love suggestions for new ways to sort through all the data I have available, and with so many new election results some of the pages might suddenly look a bit unwieldy, so suggest away at

Finally, I had to make some under-the-hood changes to the database structure to accommodate the legislative results and the tools I’m anticipating, so I also made sure I can continue to handle county results for this many races. As I work my way through adding legislative races, I’ll also try to concurrently keep adding in county-level results for all races.