Recent Tweets


Realtime Election Results

By TJHalva | 1 point | November 21, 2010 at 3:03:45 PM CT 0 Comments

The central purpose of this site is to collect and analyze political data. On November 2nd, an unquantifiable amount of political data was created; I tried to capture some of it. Realtime vote totals for all federal and statewide races were collected from the NY Times Election Results page using a circular queue. A continuous set of data was acquired beginning with the first poll closing on November 2nd at 5:00 PM CT and ending with a power failure on November 5th at 9:50 PM CT; the data collection then resumed on November 7th at 2:12 PM CT and has recorded since essentially uninterrupted. Data was collected for all states with an average resolution of four minutes between samples.

The NY Times was chosen because it used pure HTML and provided an easy mechanism to generate a url for each state; other media organizations used an asynchronous javascript based reporting scheme that prevented automated retrieval. As of this writing, there are 422,292 individual result pages retrieved from the NY Times website totaling 22.9 GBs.

I also collected data, with a greater level of detail, from the Minnesota Secretary of State's Unofficial Results Website, using the same mechanism, in anticipation of a recount. At total of 379,462 files totaling 23.8 GBs have been acquired; this data includes:

  • County level breakdown of all races within Minnesota
  • County level reporting statistics
  • Precinct level reporting statistics (beginning at 11:18 PM CT 11/2)
  • Precinct level Gubernatorial results (beginning at 9:10 PM 11/7)
  • 107 Unique Datasets

I will continue collecting data from a state until that state certifies their election results. At some point I will parse all the data into a database and provide an interface to create maps and charts. The Minnesota data can and will be used immediately to assess various factors relating to the impending Gubernatorial recount. The data from other states does not serve such an obvious immediate purpose, but will be retained for historical and informational purposes.

An example of the data collected from Minnesota, relating to the Gubernatorial race, is presented below:

The above graph depicts the statewide realtime returns, of Minnesota's Gubernatorial election as unofficially reported by the Minnesota Secretary of State's website. The data is derived from a downloadable text file containing county level results for all races on the ballot. The timeframe for the above data ranges from when polls closed at 8 PM CT 11/2 to the point at which all 4,136 precincts initially finished reporting their results on 11/3 at 2:39 PM CT. The downloadable text files do not however contain precinct reporting information. To remedy this, a separate page was used to determine the 100% reporting threshold.

Separate data sets provided by the Minnesota Secretary of State's websites recorded different vote totals for the same point in time. These inconsistencies were minor, with each dataset converging towards the same total. These issues likely arise due to caching at some level within the vote reporting application. This does not necessarily mean that any vote totals are incorrect.

Now that I have all this data let's actually do something with it. If you look at the graph posted above you should notice that the votes instantly rise and then instantly decline between about 9:30 PM CT 11/2 and 12 AM CT 11/3. It initially appears as those votes were counted and then uncounted; at the very least it looks strange. Well it is strange, but an explanation does exist:

On election night, a Hennepin County elections official made a mistake which temporarily inflated the total number of votes cast in the county. That mistake put Dayton ahead of Emmer by 60,000 votes. [State GOP Chairman Tony] Sutton said he's not sure if the mistake was due to fraud or incompetence.


Smith says the mistake happened when an elections official received a final update of vote numbers from precincts shortly before 10 p.m. Instead of replacing the previous numbers with the newest numbers, the worker clicked a button that added the old numbers on top of the new ones. Smith said that produced an unnaturally high vote total.

"We were looking at the returns and noticed that there was obviously a large number of people voting in Hennepin County, and it was more than the people registered as of 7 a.m.," she said. "So that was an immediate flag for me that there was something not right."

Smith said the error was found and corrected within about 45 minutes. However, due to a glitch with the Secretary of State's website, she said the corrected vote totals weren't posted until about 12:30 a.m.

Source: Minnesota Public Radio

So an issue occurred in Hennepin County; let's look at the Hennepin County realtime chart for the same time period and see if what officials say happened, actually happened:

And here is a table depicting the initial edge for each change in the above graph:

Date of SampleDayton (D)Emmer (R)Horner (MNIP)Margin
8:00 PM CT 11/20000
8:37 PM CT 11/2177,925119,11342,26758,812
8:47 PM CT 11/2199,521130,43646,52369,477
9:28 PM CT 11/2227,401160,13054,33067,271
9:39 PM CT 11/2449,072315,116107,035133,956
12:06 PM CT 11/3237,995168,51857,11669,477

The timeframes referenced within the Minnesota Public Radio article above seem to correspond with the graphed realtime data. The when part of the story seems to check out. I'm having a little more difficulty believing how the error happened.

If the election worker appended the new and correct vote totals to the current vote totals the new and incorrect number of votes should have been at least twice as large as the current total, but it wasn't. A scenario/example of what should have happened, if the new results were appended, is presented below using made up numbers:

Current Total:                100
New and Correct Total: 110
New and Incorrect Total: 210

Notice that the new and incorrect total is greater than twice the current total. Here is what actually happened, using Dayton's totals:

Current Total at 9:28 PM CT 11/2:             227,401
New and Correct Total: ?
New and Incorrect Total at 9:39 PM CT 11/2: 449,072

If the new and correct vote totals were appended to the current total, the new and correct total would actually have to be less than the current number of votes; it doesn't make any sense for the new total to be less than the old total. Something weird happened and the GOP agrees:

State GOP Chairman Tony Sutton insisted that faulty vote reporting in the county, the state's largest DFL stronghold, underscored the need for a recount in the race for governor between Mark Dayton and Tom Emmer.

"Something doesn't smell right with those Hennepin County situations last night with how the votes were reported, and so we are going to be very, very aggressive through this recount process that we anticipate," Sutton said at a morning news conference.


The fact that a weird anomaly occurred in the reporting of the vote totals does not imply that any votes were counted incorrectly. The results of the 2010 gubernatorial election are still unofficial. There is a reason why three weeks are allotted after an election before the results are certified: because mistakes happen. It would however be nice to know what exactly the mistake was, because at this point, the media provided answer is not plausible based upon my data set. This discrepancy could however be explained by any one of the following items:

  • Rachel Smith, the Hennepin Election Director, supplied Minnesota Public Radio and other media outlets with a complete explanation and they dumbed down the details for publication.
  • My data set does not correspond to the relevant county level data. This seems unlikely given that the time references appear to align, but is none the less still plausible.
  • Something bad happened in Hennepin County.

I don't think we'll ever find out what really happened because these three scenarios are essentially impossible to verify; with the possible exception of the first. If you know what happened and would like to share, please visit our contact page.

On a semi-unrelated note, I have another graph depicting the change in vote totals, statewide, since the time 100% of precincts initially finished reporting, to when the County Canvass was required to have been completed (November 12, 2010):

Emmer has gained 98 votes since, which is a pretty far car cry from the 1,000 he claimed to have gained during his first public appearance, since the election, on November 9, 2010:

"The Minnesota voters have spoken, we just don't know what they've said yet," [Emmer] said. "Since last Wednesday's we've gained over 1,000 votes.

Source: Minnesota Public Radio

If we're going to play the ambiguous vote gain game, Dayton should come out and say that he's gained 2,182 votes since that same Wednesday. At 2:18 AM CT on Wednesday 11/3 each candidate had the following number of votes statewide:, Dayton's smallest lead of the day:

Date of SampleDayton (D)Emmer (R)Horner (MNIP)Margin
2:18 AM CT 11/3868,856862,2283239,3736,573
12:00 AM CT 11/13919,214910,459251,4838,755

If the media is going to report data based quotations or information, they should verify whether the data being reported is accurate. This isn't a revolutionary idea, its common sense, but nobody does it. The data required to verify the referenced excerpts relating to the Hennepin County glitch and Emmer's 1,000 vote assertion, is not some secret. It's publicly available data. It takes some effort to acquire it, but multimillion dollar media organizations should have the resources necessary to obtain the data.

The next big event in the Minnesota 2010 Election Certification process will take place on Tuesday when the State Canvassing Board meets to ratify the County Canvasses. There may also be Oral Arguments in the Minnesota Supreme Court relating to a petition filled by Tom Emmer last Wednesday, November the 17th. The petition makes various claims about supposed voting issues in an attempt to preempt the recount process. There are 14 separate filings from many different petitioners; I'll attempt to provide an overview of these legal proceedings at some point in the future.


There are currently no citations.

TAGS: mngov

Showing 0 Comments | Sorted By best

You must Login or Register to contribute.

Authentication Required...

Create an Account

Entering an email will eventually grant you the ability to create articles; this feature is coming soon. You may also verify your account later.