2016 Election Forecast

2016 Election Forecast

Organisation: FiveThirtyEight (United States)

Publication Date: 04/10/2017


Size of team/newsroom:large


Polls dominated discussion of the 2016 election — but not in a good way. Commentators, political operatives and the candidates themselves cherry-picked results and misinterpreted the evidence. As a result, the public went into Election Day largely misinformed, thinking Hillary Clinton had an unassailable advantage over Donald Trump. This project sought to show polling results and how they translated into a forecast, nationally and in every state, thereby communicating the uncertainty in the polling. If polls were perfect, you wouldn’t need a model or a forecast — you could just take an average. But even the best polls are inexact; quantifying that margin for error is why we issue a forecast. We created a dashboard that let readers explore every poll we collected and every aspect of our forecast through a series of constantly updating data visualizations.

What makes this project innovative? What was its impact?

Millions of people visited FiveThirtyEight’s election forecast and they were better informed for it. While pundits and other forecasters told voters that Trump’s chances were minuscule, our forecast showed Trump with a real shot at winning. Moreover, it illuminated his path: a split between the popular vote and the Electoral College, undecided voters breaking in his favor and his outperforming the polls in the Midwest. Our forecast was often at the center of the conversation about the state of the 2016 election. According to Chartbeat, it was the most engaging piece of journalism across every site that they track.

Technologies used for this project:

We used STATA to design and build our election model. We used Ruby on Rails to create a database of the results of every single state-wide and national opinion poll. We used Node.js to build the interactive. We used D3 to create the visualizations. Our around-the-clock data collection and analysis process combined human reporters with a series of bots, with Slack as the interface between the two. To make our visualizations load very fast we created D3-PRE, a JavaScript library that pre-renders D3 visualizations into inline SVG elements. The pre-rendering tool uses a headless browser to turn D3 code into SVG, and inserts the resulting markup into HTML, so that developers can use pre-rendered SVG without changing their D3 visualization code. We open-sourced the library so that other news organizations can use it too. We also made our forecast data available as JSON, and many developers outside of FiveThirtyEight created and published their own interfaces to our results, including Twitter bots, a Chrome extension, a mobile notification service, a bash script, an npm module and a 1980s-style ANSI BBS adaptation.
Follow this project

Comments (0)

You have to be connected to contribute

You have to be connected to follow

Leave this project and no longer be informed about this project

By joining this project, you will be informed by email when an update or a new contribution is posted on the website.

Thank you for your active participation !

The GEN Community Team