Where did the Labour and Tory swings come from in the 2017 General Election?

The box plot below shows the swing in vote share per constituency for the five largest parties in England and Wales in the 2017 election:

Constituency swing for major parties in England and Wales. Each point on the plot represents a constituency. The width of each box corresponds to the interquartile range and the line bisecting the box represents the median value.

We can see that both Labour and Tory vote share increased in most constituencies in the 2017 election, while the three other parties’ vote shares decreased, UKIP’s dramatically so. It’s generally assumed that UKIP voters defected to the Tories due to their Brexit mission having been achieved. Also, that Green party voters were most likely to defect to Labour because of Labour’s relative shift to the left. We can test those assertions by plotting individual party constituency swings in England and Wales. For example, looking at the constituency swing of UKIP plotted against that of the Tories:

Tory swing against UKIP swing in English and Welsh Constituencies. Each point is a constituency. The R-squared value indicates how good the fit is, with 1 being a perfect fit and zero being no correlation

In this plot, each point represents a constituency. You can see Thanet in the far bottom right-hand corner, UKIP’s only seat which they lost to the Tories in the 2017 election. Overall, we see a fairly strong negative correlation, indicating that in constituencies where UKIP lost votes, the Tories tended to make gains. This supports the assertion that UKIP voters defected to the Tories in the election.

A similar plot for UKIP swing against Labour swing is:

This shows little or no correlation, so defecting UKIP voters are not likely to explain Labour’s gains. Let’s look at the Labour swings in relation to the Lib Dems and the Green Party to see if there are any correlations:

We see fairly good negative correlations, indicating that voters from both the Green Party and the Lib Dems defected to Labour.

Other combinations of parties didn’t have strong enough correlations, indicated by their low R-squared values.

The relationship between Brexit and the 2017 Labour and Tory swings

Below is a chart of Brexit vote per constituency (estimated by Dr. Hanretty) plotted against both Labour (red) and Tory (blue) swings per constituency:

Looking at the plot for the Tories (blue), there is a strong negative correlation meaning that constituencies with higher Leave votes in Brexit generally had higher Tory swings in the election. This supports the assertion that UKIP voters jumped ship to Tories; people who originally voted UKIP are highly likely to be Eurosceptic. The opposite correlation is true for Labour swing: higher Remain voting generally led to higher Labour swing, indicating that it was pro-EU voters who generally gave rise to positive labour swings in the 2017 election. However, this correlation has a lower R-squared value, indicating a less definite relationship between Labour swing and Brexit.


For the 2017 election we showed that the largest exodus of voters in England and Wales was from UKIP to the Tories. Labour received a combination of Lib Dem and Green Party voters. Brexit voters generally gave rise to positive Tory swings, while remain voters gave rise to positive Labour swings.