This by-election also looks difficult for Labour, whose administration in Bolton has a knack for attracting bad publicity. There will be more on that subject in a future edition of Andrew’s Previews; this piece is already quite long enough. If the Tories can unwind the UKIP vote and capitalise on opposition to the Hulton Park development, then this could be a good opportunity for the first Conservative gain of 2018.

...and so they did. Labour would be lucky to have held this regardless of local circumstances, but it couldn't be helped by the nature of the vacancy.

Edit: With the exception of the non-appearance in Rochford, those are some deceptively strong results for Labour that appear weak.

Despite the deluge there wasn't much to get hopeful about from Labour's perspective, with Labour holding all four seats where they're competitive (with three retained comfortably and one much less so).

Can't speak for the other by-elections but expect the North Clacks by-election to have an even smaller turnout than normal: I'm next-door to Clackmannanshire and the weather is pretty bad up here. Might lead to an odd result although an even less representative one than local by-elections tend to be.

Ind gain Petersfield Bell Hill from ConLib Dem gain Northchurch from ConLab gain Rochester West from ConInd gain Oakham South East from ConFarnworth and Kearsley First gain Farnworth from LabLab gain Wollaton West from Con