Over the last six weeks there have been twenty council by-elections in the key Westminster constituencies* for the next general election. Looking at these twenty results provides a much more useful story of what is happening in the areas which really matter to each party than overall council by-election results.
What story do they tell?
Good news for the Liberal Democrats in the Lib Dem – Tory battleground seats: an average swing of 7.1% swing from Tory to Lib Dem with a net gain of one for the Lib Dems in the four contests.
Good news for the Liberal Democrats in the Lib Dem – Labour battleground seats: an average swing of 4.7% from Labour to Lib Dem in the two contests.
Bad news for the Conservatives in the Conservative – Labour battleground seats: an average swing of 1.3% from Conservative to Labour in the fourteen contests. In only one of these seats did the Conservatives make a gain (Pembrokeshire), but that was from the Lib Dems and cancelled out by a Lib Dem gain from them in Rossendale.
Of course, council by-election results are just that, but then opinion polls (especially those from [insert least favoured polling company of your choice here]) are only opinion polls, Parliamentary by-elections are only Parliamentary by-elections etc etc.
* The top 150 Conservative targets, top 150 Liberal Democrat targets and top 50 Labour targets based on straight swing to win on the notional results for new constituencies taken from Rallings and Thrasher.