Election 2012 Analysis: Reviewing My Performance

Election Central

I will have an analysis of the 2012 election results coming up in the next day or two, after more numbers are in and I have a better feel for why things went the way they did. But before we get to that, I wanted to first review Off on a Tangent’s election coverage and identify what went well and what didn’t. First I’ll be looking at the purely ‘technical’ side of my coverage, how I think it worked, and what I think can be improved. Second, I’ll look at errata and mistakes that cropped up on election night itself. Lastly, I’ll get into my predictions regarding the election itself and how they compared to the actual outcome.

I provided much more ‘intense’ coverage before the election and on election night itself than I have ever done before, and I’m proud of how it worked out. But I know it’s not perfect. My thoughts are below, but please chime-in below with what you liked, what you didn’t, and what you’d like to see next time around.

The Technology

Although this year’s live results looked about the same as what I’ve done in the past (except for the electoral map, which was totally new), the underlying technology is much more advanced than it has been before. In past years, election night live coverage on Off on a Tangent was a pretty low-tech affair. I had a blog post with the results, which were manually formatted, and manually updated them with new information as the night went on. For readers to see updated information, they would have to reload the page.

Two years ago I used a live updating mechanism for the first time in the mid-term congressional elections. It was located at my static site,, which usually serves as my maintenance page but also supports simple live-blogging (since I knew it would come in handy now and then). The static site had the major advantage (for readers) of not requiring reloads. Every minute (or any other interval I defined), the content would refresh itself via an AJAX request. But the results file was still manually formatted and edited. In fact, in the process of updating it got harder for me when I switched to the static site, since it did not have a nice graphical editor like WordPress does.

I was able to improve this last year in the Virginia off-year elections by building a static site editor into my custom WordPress plugin (which powers many of the more unique features of the site), but found that it was still difficult to manage the formatting while I was making my live updates. That slowed me down a bit, which wasn’t a big deal in a year of minor local elections, but would have been troublesome on the grand scale of a presidential election.

So, in the late summer, I built a brand new election update system for my site, located at a new address— The live-blog mechanism works almost identically to the static site’s, but the election data itself is stored in a custom XML file (nerds can view it here). The election site re-loads that data each minute, parses it, and displays the results. On my end, I have an administration screen that allows me to edit the live-blog graphically and edit the XML file in plain-text without worrying about the formatting. I didn’t even need to worry about keeping the states in alphabetical order; the application does that for me (although, during the time between calls, I alphabetized them anyway so I could keep them straight in the code).

But all I needed to do when I called a state for one candidate or the other was to move that state from the ‘not called’ list to the correct candidate and hit a save button. Within a minute that call rolled out to all of my readers who were monitoring the election with Off on a Tangent. The elector counts were updated, the text list of states was updated, and the newly-called state colored-in on the electoral map. Likewise, when a race was called, all I had to do was mark it as the winner in the XML and that change rolled out too. This all was convenient for me and made managing my live results much easier than in past years, but it also allowed you, my readers, to get the results faster.

All-in-all, this system worked nearly flawlessly on election night, mostly because I ran it through a ton of tests and drills running up to the election. Indeed, half of the reason why I added past years’ election results (running back to 2000) is because I wanted to run real outcomes through my election site code and make sure it worked.

Election Night Review and Missteps

Since 2004, the first presidential election for which I provided live results, I have used a proprietary system of calling states for one candidate or another. I am reticent to divulge the exact details of this system, but it uses a combination of major media calls, independent review of that states’ results (where available), and independent review of exit poll data (where available). These variables are weighted to different degrees depending on the unique circumstances of each state in question.

To date, in three presidential election cycles, I have yet to make an incorrect call based on this system. At times I have been able to call a state before major media outlets do. Once, in 2004, I was able to call the entire election for President George W. Bush (R) several hours before anybody in the major media.

This year I largely kept-pace with the major media. I was monitoring CNN on my television as election night progressed, and I know I beat them to the punch with a handful of calls—New Jersey, Tennessee, and probably some others. I was also late in calling North Dakota, not because I wasn’t confident in the outcome but because I subscribe the the old rule that you never call a state before the time all of its polls are scheduled to close. North Dakota’s latest polls weren’t scheduled to close until 11:00 p.m. ET, but most major media outlets called it for former Governor Mitt Romney (R-MA) nearly two hours earlier. Bad form on their part.

I beat the local media outlets (at least those I was following) in calling the Loudoun County and Virginia state-wide ballot issues, and I was ahead of them in calling my local House of Representatives race for incumbent Representative Frank Wolf (R-VA 10th) as well. I called the U.S. Senate race for former Governor Tim Kaine (D-VA) at roughly the same time the major media outlets did.

There were two things that happened that I could characterize as missteps or errors in my coverage.

First, amid the shuffle of new calls just after 10:00 p.m. ET, the state of Utah briefly appeared on my site as a win for President Barack Obama (D), when in fact it had gone by a large margin (about 73-25 percent) for Romney. I estimate that the error was present in my data file for no more than one minute, so users watching my live site may have seen Utah in blue for one refresh cycle. This was definitely not because I made an incorrect call. No, I knew which way Utah had gone. I just screwed up when I updated the XML file. I noticed and corrected it almost immediately, but this mistake serves as a good reminder to do a quick sanity check on my inputs before hitting the save button.

Second, I called the state of Ohio for Obama—which put him over the magic number of 270 electors—at 11:15 p.m. ET, but did not call the entire election for Obama until 11:17 p.m. ET. This created an odd situation where, for about two minutes, my election site showed the president at 275 electors but did not properly identify him as the winner. The main reason this occurred was that I was very focused on data coming in from individual states, and I wasn’t thinking about the total elector count (which the site tallies up for me automatically). After calling Ohio it took me a minute to realize that it had put Obama over the top. Then it took me another minute to double-check my data and make absolutely certain I was right before calling the whole election.

What I should have done is kept myself more aware of the electoral totals. If I had been fully conscious of the fact that Ohio’s electors were going to put the president over the top, I would have taken a minute to double-check my results before calling Ohio, and then called Ohio and the entire race at the same time. I am taking this as a clear ‘lesson learned’ for next time: don’t get so tied up in the individual state races that you lose sight of the big picture.

The Predictions

Finally, it’s time to look at my predictions of the likely race outcomes and how they compared to reality. To review, I estimated that Romney had a sixty percent chance of winning and Obama had a forty percent chance. I considered a slim Romney win to be the most likely scenario (forty-five percent), a slim Obama re-election to be the second most likely (forty percent), and a more solid Romney win as the third and least likely scenario (fifteen percent).

It should be noted that the reason I provided three separate scenarios, as opposed to a single prediction, is because this was a particularly difficult election to analyse. All indications were that, with relatively minor shifts in the conditions, it could have easily swung either way. In the popular vote, the two candidates are within three million votes of one another out of over 120 million ballots cast. Although I did consider a Romney win more likely, I still gave Obama a forty percent chance of hanging on. In my own defense, when the weatherman says there is a forty percent chance of rain, he isn’t wrong when it ends up raining.

Obviously my two scenarios that indicated a Romney win were wrong. Both were predicated on an assumption that some polls, particularly those in Ohio, were skewed in Obama’s favor and that he would lose his edge there on election day itself. Many of the Ohio polls were, indeed, skewed . . . but not as badly as I had expected. Obama won Ohio by about two points; recent polls by SurveyUSA, Public Policy Polling, NBC/WSJ/Marist, WeAskAmerica, and CBS/NYT/Quinnipiac all showed the president with a four, five, or six point lead. Conservative critics have been largely vindicated in their criticism of these pollsters in Ohio.

However, the Real Clear Politics (RCP) rolling poll averages for the state were tempered by other polls from Rasmussen (with a pro-Romney skew of about two points), and the nearly-correct polls from University of Cincinnati, Gravis Marketing, Columbus Dispatch, and others. The rolling average on election day showed Obama with a three point lead, only one point higher than what he had actually received. If the polls had been skewed by an average of three points in Obama’s favor, which was a plausible (but uncertain) expectation, Romney would have won Ohio. But in fact, the polls were skewed by an average of only one point.

I was never certain that the Ohio skew would play out as many conservatives expected. As I said in my predictions, “Although I think the Ohio polls are skewed in Obama’s favor, there’s a distinct possibility that I’m wrong, or that the skew is smaller than I suspect. It is certainly possible that Ohio does not break for the challenger, but narrowly supports the incumbent.” That’s exactly what happened.

The president, however, significantly outperformed my second scenario. In my prediction, I estimated that if Ohio went for Obama he would win a total of 281 electors to Romney’s 257. I identified the possibility that Obama would pick up Colorado as well (which he did), bringing his total to 290 electors. I considered it very, very unlikely that Obama would win anything more than 290 . . . but today he stands at 303 with an unexpected win in my home state of Virginia. In addition, Florida is still too close to call and could go (very narrowly) for Obama, which would bring his electoral count to 332—still short of his 365 elector landslide in 2008, but impressive none-the-less.

My biggest mistake in my electoral predictions was that I failed to recognize the possibility of Virginia or Florida going for Obama; I considered them both to be fairly safe in the Romney column.

The RCP rolling poll averages for Virginia on the day of election showed Obama ahead by only one-third of one percent—a razor-thin and statistically meaningless margin. My expectation was that Virginia would see relatively high turnout in rural areas, voting predominantly for Romney, and comparatively low turnout in the urbanized Northern Virginia, Richmond, and Hampton Roads regions voting predominantly for Obama—a manifestation of an expected ‘enthusiasm gap’ (more on that in my upcoming analysis of the election itself). Combining that with the conventional wisdom that undecided voters tend to break heavily for the challenger, I expected Romney to win Virginia by a tight, but comfortable, two or three point margin. The actual results went in the opposite direction with Obama winning by a three point margin. There are some very preliminary indications that the ‘enthusiasm gap’ in Virginia all-but evaporated late in the campaign and, most surprisingly, that late deciders broke heavily for Obama.

And then there is Florida. Polling from the state in the lead-up to the election tended to show Romney ahead, sometimes by a solid margin of five or six points. The RCP rolling poll averages on election day had Romney winning by a narrow one and a half points, tempered by pollsters like Public Policy Polling and NBC/WSJ/Marist that (as we’ve seen in Ohio) have tended to have a strong pro-Obama skew. Recalculating the average with the least reliable pollsters excluded showed Romney ahead by a comfortable margin. I fully expected to be able to call Florida for Romney soon after its polls closed at 8:00 p.m. ET. Obviously that didn’t happen; indeed, two days later Florida is still too close to call with Obama hanging on to a minuscule one-half of one percent lead. Obama stands a good chance of winning the state unless provisional and absentee ballots break very, very strongly for Romney, which is unlikely . . . but as odd as Florida’s polls and results have been I wouldn’t discount the possibility.

All-in-all, mixed results. I gave Romney better chances of winning, and he lost (although I did give Obama a forty percent chance). The prediction scenario that had Obama winning significantly underestimated his electoral margin. I wrongly predicted how my own home state would vote in all three scenarios (I need to wipe some egg from my face there). But on the other hand, I expected the race to be close, and the popular vote indicates that it was. One of the states that I got wrong in the second scenario—Colorado—was one that I plainly said I wasn’t confident about. I don’t feel too bad about getting Florida wrong either, since Florida’s behavior is often unpredictable.

The only part of my predictions that I’m really a bit embarrassed about is how badly I misread my own home state.

Scott Bradford is a writer and technologist who has been putting his opinions online since 1995. He believes in three inviolable human rights: life, liberty, and property. He is a Catholic Christian who worships the trinitarian God described in the Nicene Creed. Scott is a husband, nerd, pet lover, and AMC/Jeep enthusiast with a B.S. degree in public administration from George Mason University.