I'm very surprised by the outcome of the Peterborough by-election. John Curtice suggested during the BBC coverage that it wasn't such a shock, because the difference between the result tonight and what happened in the constituency at the Euro election two weeks ago was bang in line with the differential in the polls between Brexit Party support for Euro elections and for Westminster. But one of the fundamental truths about parliamentary by-elections is that voting patterns often bear little resemblance to how a general election would play out, because people know that they're not electing a government and have a free opportunity to indulge in a protest vote. With the momentum the Brexit Party had built up, the timing of this election was tailor-made for them to break through, and I can only assume that the fact they've fallen short means that their local campaign was a bit shambolic.
Another of Curtice's claims that startled me is that Labour are just as keen as the Tories to avoid an early general election. That seems unlikely to me - in spite of the sudden drift towards multi-party politics, it's still probably the case that in a first-past-the-post election, what is bad for the Tories must be good for Labour. Jeremy Corbyn would much rather win an election this year with 30% of the vote than wait three years and lose an election with 40% of the vote. So I presume Labour would still try to trigger a general election if the chance arose to do that - and of course this result makes the parliamentary arithmetic slightly more promising for them. When it first became clear that this by-election was likely to take place, the Tories were ahead in the national polls, and it seemed obvious that they would gain a seat which they had only narrowly lost in 2017 to a Labour candidate who had since been forced out in disgrace. That bonus seat would have slightly shored up the government's position, but as it is they remain highly vulnerable to defeat on a motion of no confidence if a small number of Remain-supporting Tory MPs make a last-ditch attempt to stop No Deal.
Tonight's result is slightly reminiscent of the landmark Darlington by-election in 1983, in the sense of the leading opposition party unexpectedly fighting a successful rearguard defence against an insurgent party. The difference is that the upstart party that fell short in 1983 was a centre-left outfit that was a mortal threat to Labour at a general election, whereas this time the defeated party is more of a threat to the Tories. There have been some suggestions that Farage's loss relieves the pressure on the Tories to push for No Deal, because they no longer have to be quite so concerned about the Brexit Party threat at the general election...but anything more than a cursory glance at the result tells the opposite tale. The Tory narrative will now move on from "if we don't go for No Deal, we'll lose most of our seats to the Brexit Party" to "if we don't go for No Deal, we'll lose half of our votes to the Brexit Party, and Labour will win the election by default". That said, Farage has missed a golden opportunity to build further momentum that could have pushed the Brexit Party into a clearer lead in national polls - and that would have made No Deal even more likely.
Jeremy Corbyn's critics obviously miscalculated yet again by talking up a leadership crisis in expectation that Labour would lose tonight. Instead, the chances that Corbyn will lead Labour into the general election (which were already very high) have strengthened further. Whether that's good news or bad news for the SNP and the Yes movement is almost impossible to tell - it just depends on which Jeremy Corbyn turns up at the election. The Corbyn factor undoubtedly worked in our favour at the Holyrood election in 2016, but against us at the Westminster election a year later.
Peterborough by-election result:
Labour 30.9% (-17.2)
Brexit Party 28.9% (n/a)
Conservatives 21.4% (-25.5)
Liberal Democrats 12.3% (+8.9)
Greens 3.1% (+1.3)
UKIP 1.2% (n/a)
Chirstian Peoples Alliance 0.5% (n/a)
English Democrats 0.5% (n/a)
SDP 0.4% (n/a)
Monster Raving Loony Party 0.3% (n/a)
Independent 0.3% (n/a)
Common Good 0.2% (n/a)
Renew 0.1% (n/a)
UK EU 0.1% (n/a)
Independent 0.0% (n/a)
Swing from Conservatives to Brexit Party: 27.2%
Swing from Labour to Brexit Party: 23.1%
For some reason the BBC reported the Labour-to-Brexit swing as being around 8%, but that figure was miles out.
* * *
2019 Scot Goes Pop Fundraiser: This is Day 8 of the fundraiser, and so far £5488 has been raised. That's 65% of the way towards the target figure of £8500. A million thanks to everyone who has donated so far, and I'm also extremely grateful to all the people who have left a kind comment with their donation. You can visit the fundraising page HERE.