
Since the by-election in North Shropshire, described variously by lazy journalists and commentators as “stunning” and “shocking“, a lot has been written about how historic the North Shropshire result has been. Clearly, it was an extremely poor showing for the Tories and, arguably, for Boris personally. The actual historical context, of the seat being held by the Tories for two centuries, is also somewhat true – it certainly has not been held by Labour or the current Liberal Democrat party before this. However, the Tories of two centuries ago were clearly not the Tories of today, so unlike some of the Red Wall seats which fell to the Tories in 2019, the historicity of this claim is rather tenuous – those seats, for instance Workington or the Don Valley, were literally in the camp of just one party (Labour) since 1918.
So much for the soft stuff. The statistical context is even more important. The fact is that whilst North Shropshire was a bad result, it nonetheless was much to be expected. Most obviously, incumbent governments will of course always suffer during mid-term by-elections, since there is little reason for voters to turn out for anything other than “sending a message. In the 146 contested Parliamentary by-elections since 1979, only 7 have resulted in the incumbent party of government not losing vote share. Most of these have some particular backstory to them as well, such as the Blaenau Gwent or Glenrothes by-elections under Labour. Gains by the Tories such as Copeland or Hartlepool are, by definition, remarkable.
The second most obvious point to make is that by-elections in the aftermath of major crises – domestic or global – will always magnify this swing effect. The statistical evidence is more limited here, but it is worth noting that the greatest swings against have tended to come in the wake of enormous economic dislocations, in the early 1990s for the Tories (Newbury and Christchurch) and in a statistical basis of one, in 2009 for Labour (Norwich North). These represent the only times since 1979 that real GDP growth has slipped into negative territory, and it shows. Since Covid-19 has created an economy dislocation some 2.5x greater than the 2008 crisis, it stands to reason that anti-government swings will be larger still. It is imperfect but it stands up to scrutiny.
Most importantly however, it should also be noted that swings against incumbent governments have, over time, been larger and larger. This is a secular trend divorced from specific party politics, since it has continued as a trend throughout various Tory and Labour governments. Below is a chart of the swing against in all by-elections since 1979 where the ruling party has lost a seat. Not only can you visually see the increasing size of the swings against, but statistically it also works out that whereas in the 1980s a government could expect an average swing of ~-15% against at an election, by the 2010s one could expect a ~25% swing against on average. Swings have increased by 10% in and of themselves.

The obvious question to ask is why this has occurred, to which I will only for now speculate. The first reason is the ongoing evidence of partisan de-alignment since 1979, which has become more pronounced even after 2010. The second could be the ongoing evolution of social media and its impact on the 24 hour news cycle, something which actually affects by-elections more than general elections. After all, electorates are used to being inundated during a general election and have done since the 1930s. But the amount of national focus on individual by-elections, first from television and now through social media, has made both dealignment as well as the “bloody nose” concept more pronounced. Regardless of the specifics, governments are going to find it ever harder to win by-elections.
This is not to say that the Conservatives had anything other than a poor result. But long-term increases in anti-government swing + largest economic dislocation in a century = almost certain defeat for a government. Boris still did worse than he needed to; but anyone believing this was not the opposition’s to lose is kidding themselves.