The UK General Election has just finished, with Labour losing badly to Boris Johnson’s Brexit-fetishizing Tories. The media are describing Labour’s loss as the worst since 1935, which is true if you look at seats lost but not at the vote – with 32.2% of the vote share it’s the best result for a losing Labour party since 1992, and although the swing against Labour was very large – 7.2% – this is partly because the previous share of the vote that Labour achieved, at 40%, was phenomenally high – Blair only beat 40% once, and many post-war Labour governments have ruled a majority with a much lower share of the vote than Corbyn achieved in 2017.
In the early post-election recriminations people are laying the fault entirely at the feet of Corbyn and the Labour manifesto, but I’m not convinced that a different leader or a less radical manifesto could have helped. The 2019 election was a historic election, similar to the 1945 election, with a huge decision about the future of the UK to be made and a major recent event hanging over the election. In the 1945 election the huge decision to be taken was the establishment of the modern welfare state, and the recent event was the war. In the 2019 election the decision is Brexit, and the EU referendum is the major event overshadowing the election.
This Brexit issue overshadowed the whole election, and in this blog post I will show that it had a huge impact on the Labour vote, which made this election almost impossible for the Labour party to lose. I will show this using a statistical analysis of 2019 election results.
Methods
I obtained 2017 election results and 2015 EU Referendum results from the UK Parliamentary Research Briefings website. I merged these data sets together using ONS ID (the unique number that identifies parliamentary constituencies) so that I had the percentage of each constituency that voted leave in 2016, and their 2017 election results, in one dataset. I then conducted a semi-random sample of the 2019 General Election results using the BBC Election results website. The sample was semi-random because there is no publicly available official dataset at this stage, so I had to enter them by hand looking at each constituency in turn on the BBC website[1]. I started by ordering my dataset by constituency name from A-Z and working sequentially through them on the assumption that I have limitless patience and 10 hours of my life to give to this, but gave up somewhere around “D” and took a random sample of another 100 or so constituencies. Because names are approximately random, this means I have 200 or so approximately random samples from the first stage, and another 100 or so genuinely random samples from the second stage. I may have had a hangover, but there are limits to how much time and effort I am willing to put into rescuing the UK Labour party from bad analysis!
I dropped Northern Ireland from my analysis because a) I don’t understand their political parties b) Sinn Fein’s decision not to enter parliament is weird and c) Northern Ireland should be part of Ireland, not the UK. I kept Scotland but excluded it from some of my figures (see specific figures for more details). I excluded the Speaker’s seat (which was Labour) from analyses of the Labour swing because there was no opponent so the swing was weird; I also excluded another Labour seat with a very high positive swing from these analyses, and dropped one Conservative seat (Buckingham) with the same problem.
Once I had done this I then calculated the swing against Labour, Lib Dems and Tories by subtracting their 2017 result from their 2019 result. I confirmed this works by comparing calculated Labour swing with actual Labour swing from the BBC website (which I entered as I went through my semi-random sampling). I obtained Brexit party vote shares from the BBC website, leaving this field blank if the Brexit party did not stand a candidate[2].
I then conducted several linear regressions of the swing:
- A linear regression of conservative party swing as a function of leave vote in the EU Referendum
- A linear regression of Labour party swing as a function of leave vote in the EU Referendum
- A linear regression of Lib Dem swing as a function of leave vote in the EU Referendum
- A linear regression of Labour party swing as a function of Brexit party vote
For all regressions I tested a quadratic term in leave vote, and I included a term for whether the constituency was in Scotland or Wales. I included a term for whether or not the constituency experienced a Brexit party challenge in the first three regressions, and tested an interaction with leave vote. I dropped any non-significant terms in order of their non-significance to get the best model. I also centered the EU referendum vote at its median (53.5% of people voting to leave), so that the constant term in all linear regressions measured the swing against the party in question in the median leave-voting seat.
I then obtained predicted values from all regressions to include in the plots of the swing against the leave vote or the Brexit party vote. Brexit party vote is effectively being used here as a proxy for Labour voters’ decision to abandon Labour over Brexit. I did not model the relationship between swing against Labour and Brexit vote because I think this swing is the Brexit party’s fault, but because I expect it represents the likelihood that Labour voters abandoned Labour over Brexit. One might suppose they abandoned Labour for Tory over general policy, or because they respect BoJo, but the only reason for abandoning to the Brexit party is Brexit, and so this acts a proxy for the possibility that they also jumped ship to the Tory party over Brexit. Because the Brexit party only stood candidates in Labour-held constituencies it is impossible to test what might have happened if the Brexit party stood against a Tory incumbent.
Results
I had data on 341 constituencies, just over half of all eligible constituencies. Among these 341 constituencies 146 (43%) had a Brexit party challenger. Of the 142 seats that were Labour held in 2017, 112 (79%) survived to be Labour-held in 2019. None of the 199 non Labour-held seats in my dataset switched to Labour in 2019. The mean swing against Labour in seats it held was 8.7%, and the mean swing against it in seats it did not hold was 7.5%.
Let us consider the relationship between the swing against Labour and the Brexit vote in seats where it was challenged by this party. Figure 1 shows the swing against Labour in England plotted against the proportion of the vote that the Brexit party won, with the predicted trend in the swing from my final regression model. The final regression model explained 54% of the variation in the swing against Labour, included a quadratic term for the Brexit vote, and included significant terms for Scotland (a 3.5% larger swing against Labour) and Wales (a 2.2% smaller swing against Labour). The intercept term in this model was -3.8, which indicates that in the absence of a Brexit party challenge these seats would have seen a mean swing against Labour of about 3.8% (95% confidence interval 2.6% to 5.0%). In this counter-factual[3], most of these seats would not have changed hands if there was no Brexit party challenge.
It is very clear from Figure 1 that the Brexit party had a massive impact on the Labour vote, pulling it down by a huge amount in the seats where they ran a candidate. The Brexit party did not win a single seat in this election, but they cost Labour a lot of seats. Once again, Farage had a huge impact on British politics without ever sitting in parliament. In some of the northern seats the Brexit party got a huge share of the vote, and it is very likely that almost all of it came from Labour. In the seats with a middling Brexit vote, between perhaps 5 and 15% of the total vote, Labour lost between 10 and 20% of the vote share. I think this is a strong indicator that Labour was bleeding votes due to Brexit.
We can confirm this by examining the relationship between the swing against Labour and the proportion of the electorate who voted for leave in the 2016 EU referendum. Figure 2 shows the swing against Labour in England and Wales plotted against the leave vote, separately for constituencies with a Brexit party challenger (red) and those without a Brexit party challenger (blue). Most seats with a Brexit party challenger were Labour seats, while those without a challenger were mostly Tory. The blue and red lines show the predicted swing against Labour from my linear regression model, which explains 39% of the variation in the swing against Labour. This model had a term for Scotland (which had a 2.4% larger swing against Labour), a quadratic term for the leave vote, and an additional effect on the swing due to the leave vote in areas with a Brexit challenger. In the median 2016 EU referendum leave-voting constituency, the swing against Labour was 6.5%, and this was 2.1% higher in seats with a Brexit challenger.
It is clear from Figure 2 that the swing against Labour was smaller in seats with a Brexit party challenger that voted to remain in the EU. In seats not held by Labour, the swing against Labour was larger in seats that were either strong leave-voting seats or strong remain seats. In these seats – the seats Labour had to win to win government – Labour was being squeezed in both strongly remain and strongly leave seats. In the seats Labour already held (mostly with a Brexit party challenger), or that it did not hold but faced a Brexit party challenger and a Lib Dem or SNP incumbent, the party faced intense pressure due to brexit. In seats it held that had a large leave vote Labour was completely smashed. These seats are mostly in the famed “red wall”, the northern seats that Labour has always been able to rely on. Note the largest positive swing to Labour occurred at about the median leave vote, between 45 and 55.
An interesting phenomenon in this election is the failure of the conservatives to gain a large swing from Labour. The national swing against Labour was 7.9%, but the conservatives only gained a 1.2% swing. The primary beneficiaries of that swing were the Lib Dems and the Brexit party. Of course, these national figures hide major variations within constituencies, which are easy to see if we look at the swing to the Tories at the constituency level. Figure 3 shows the swing to/against the conservatives in England, plotted against the leave vote in the 2016 EU referendum. Red points are points where there is a Brexit party challenger, and blue points are those without a Brexit party challenger (mostly Tory-held seats) At the median leave vote my model estimated a swing to the Tories of 1.3%, with a further swing to them of 1.4% in Wales. This model included a quadratic term in the leave vote, and explained 57% of the variance in the Tory swing.
It is noteworthy that in the seats that voted to remain the Tories experienced a swing against them of as much as 10%, but in the strong leave-voting seats they experienced a huge swing to them. This swing was larger in seats without a Brexit party challenger, presumably because there was no Brexit party to absorb the leave sentiment, but even in pro-leave constituencies with a Brexit party challenger the Tories gained a very large swing. Note, however, that in some pro-leave seats there was a swing against the Tories where there was a Brexit party challenger. These were Labour seats that saw all their pro-leave vote go to the Brexit party. But in pro-leave seats with no Brexit party challenger – the seats that Labour needed to win to form government – there was a consistent large swing to the Tories. We again see here the value of Farage’s decision to stand candidates only in Labour seats.
Finally let us consider the role of the Liberal Democrats, the greatest frauds in modern politics, in destroying the UK. Figure 4 shows the swing to or against the Lib Dems in England, plotted against the 2016 EU referendum leave vote, with the predicted swing from my regression model. Again, red points are for seats with a Brexit party challenger (Labour- or Lib Dem-held seats) and blue points are for seats without a Brexit party challenger (mostly Tory-held seats). This model has no quadratic term for the leave vote: in non-Brexit party seats every percentage point increase in the leave vote was associated with a swing against Lib Dems of 0.2%, but in seats with a Brexit party challenger this swing was only 0.1%. At the median leave vote the Lib Dems experienced a swing towards them of 6.0%, reducing to 2.8% in seats without a Brexit party challenger. Scotland and Wales saw large reductions in this swing to the Lib Dems, of 5.3% in Scotland and 2.1% in Wales. Basically, the Lib Dems performed best in Labour seats in England that voted to remain in 2016. In these seats the swing against the Labour party was often almost entirely towards the Lib Dems. This model explained only 29% of the variance in the swing, probably because the Lib Dems win by very local-specific campaigns, not so strongly affected by national factors.
Note that in some Tory-held remain seats (the blue dots to the left of the figure) the Lib Dems had huge swings to them, but in many seats they did not win. A good example of this is Cities of London and Westminster, which was Tory before this election and did not have a Brexit Party challenger. The Lib Dems fielded Chuka Umunna, a class traitor who abandoned Labour to join TIG, then jumped ship from them to join the Lib Dems, natural home of fickle and untrustworthy people. He won 30.7% of the vote, scoring a swing to the Lib Dems of 19.6%. This enabled the Tories to hold this seat with just 39.9% of the vote, against Labour’s 27.2%. Had he not stood, it is possible that a large proportion of that vote might have gone to Labour. In the seat he used to represent for Labour, Streatham, Labour held on despite a surge of 17.0% in the Lib Dem vote (this seat is not in my data set so you can’t find it in Figure 4). Cities of London and Westminster voted 28.1% leave in the EU referendum, making it one of the least leave-voting seats in the country; Streatham voted 20.5% leave, making it the second least Brexity in the country. Thanks to Chuka’s “efforts”, the citizens of both these seats will now have to leave the EU.
What it all means
These figures and the associated regression models should make very clear that Labour was screwed by Brexit. The Tories scored huge swings in pro-leave seats, which shored up their vote in seats that Labour had to win and forced Labour to defend seats it could normally rely on. Worse still, Farage’s decision to stand Brexit party candidates only in Labour seats meant that Labour lost large numbers of voters to this no-good Russian con-job, while also facing defection to the Tories. At the remain end the Lib Dems were stealing their votes, so they were bleeding votes at both ends of the leave spectrum. The only way they could have averted this problem would have been to go to the election with a full-throated Brexit strategy – a Lexit manifesto – which would have shored up the red wall and ensured they didn’t lose many of those seats. However, even if this had been successful in the North, it would have cost seats in the cities, where the Lib Dems would have stolen many seats. This is worse than useless, since we know from experience that if they have the choice the Lib Dems will betray the country to the Tories, and will never form a government with Labour.
I don’t think a Lexit strategy would even have been that successful. Just as when Labour goes full racist, the people they’re trying to win back just don’t believe it, and vote for the Tories anyway. Had Corbyn gone to the election with a full-throated Lexit manifesto a lot of the people he was trying to convince would have assumed he was lying, and he would have lost the northern voters anyway, at the cost of the cities and the youth vote. Jo Swinson truly could have become PM!
Given this squeeze I think Corbyn made a sensible decision to run on a big left-wing manifesto and try to make the election about something other than Brexit. This was especially important given the Labour position on Brexit was consistently misrepresented by the media. I saw multiple media figures on Twitter claiming Labour did not support free movement (they did; it was in the manifesto) and saying their position on Brexit was “too complicated” (it wasn’t: they were going to negotiate a good deal and put it to a referendum). Given this their best bet was to try and turn the debate to one on honesty, the NHS, poverty and inequality. I think this is wise messaging and important: the UK is heading into the abyss, and at some point the Labour party is going to have to save the UK from ruin, so why not make this point at a time when you can’t win the Brexit debate?
I think it’s also important to consider what would happen if the party had made a choice to go full Remain or full Lexit. In the former case they’re abandoning their northern seats, telling them that they don’t care about their concerns and won’t listen to their democratic voice. In the latter case they’re abandoning young people, who are much more likely to be Labour supporters, and telling them they will destroy their future. Given that the future is all that young people in the UK have, this is political suicide. The only way to square this circle is to present a policy that offers hope to both these core groups. Labour is the party of the urban poor, industrial labour and young people, but when these three constituencies have radically different demands on the overwhelming issue of the time it’s impossible for Labour to win.
If Labour failed in this election I think it was in failing to convince the electorate of the value of their Brexit policy. But given they weren’t able to express it without the media mangling it and misrepresenting it, and given how dishonest and vicious the campaign was, I don’t see how any other leader could have done better. Even if you credit the notion that Corbyn is hugely unpopular, and assume some part of the swing was hatred of this genuinely decent guy, it makes no difference: the figures I’ve shown here make clear that Labour were fucked no matter who their leader was and what their manifesto was. This was a Brexit election, and the Tories are obviously the party of Brexit.
Three years after he exploded the Brexit bomb, and 30 years after he face-fucked a dead pig so he could win Johnson’s approval, David Cameron has achieved what he originally intended: the destruction of the Labour party by unleashing a racist monster in the UK. History will not judge any of these awful men well.
Where to now for the Labour party?
I think the Labour party should keep Corbyn and keep his manifesto. They aren’t going to win with another Blairist monstrosity – Ed Milliband tried that in 2015 and was sunk by a viciously anti-semitic media campaign that portrayed him as a Jewish communist with dual loyalties[4] who can’t eat a bacon sandwich. By the time the next election comes around the world is going to be desperate, trapped in the throes of global warming and looking for new ways out. Why throw away what the country needs? This election Labour’s manifesto was the best and most inspiring left-wing project in the UK for 30 years, and it was right. Jeremy Corbyn is right – he won the arguments. He just couldn’t beat Brexit.
I have seen rumours that some on the Labour right were cheering when MPs lost their seats. I have seen in the media and on Twitter Corbyn’s old enemies in the Labour party gloating over the Tory victory, laughing at the Labour movement’s disappointment and salivating at their chance to retake control of the party. Perhaps they envisage another illegal war, where they can kill another million muslims? Or perhaps they look forward to palling around with rich non-doms, being “intensely relaxed about people being filthy rich”. Oh, the larks! These people are not part of the labour movement. They’re scabs, and their obvious joy at this defeat is disgusting. They need to leave the movement, and leave it to those British people who actually want to save the country from ruin. During this period of reflection, we should be clear: it was Brexit that defeated Labour at this election, and the direction it was headed under Corbyn is the only future for Britain other than ruin. So these scabs need to get out of the party and leave it for people who actually care about the future of the UK and the future of the world.
Once Brexit is past, and these class traitors are out of the labour movement, we can hold the Tories responsible for what they have done. We couldn’t beat Brexit, but we can hold its architects responsible for the great evil they have perpetrated on ordinary British people.
fn1: It’s okay, I had a hangover and nothing better to do on Saturday
fn2: Or “chump”, to use the preferred terminology for these sad-sacks
fn3: Which is bullshit
fn4: Oh the irony …