There were lots of council byelections on Thursday. I haven't seen a calculation of the swings by the Press Association or anyone else – perhaps as it was felt the other elections that day were enough for analysts to cope with.
Anyway the Conservatives held fifteen seats: Bury (two seats), Bradford, Daventry, North Hertfordshire (two seats), East Northamptonshire, Central Bedfordshire (Biggleswade South ward), West Sussex, Chiltern, Swindon, Bath & North East Somerset, Bournemouth, Poole and Wealden. We also gained three seats in Waveney (from Labour), Conwy (from Independent) and Dumfries & Galloway (from Labour).
Labour held nine seats in Liverpool, Manchester, Oldham, Walsall, Wolverhampton, Rugby, Harlow, Cherwell and Newcastle Upon Tyne. Labour gained a seat from Merthyr Independents.
The Liberal Democrats held a seat in Watford and one in Havant. They gained seats from the Conservatives in Eden, Harrogate and Ryedale and from Labour in North Tyneside.
An Independent gained a seat from the Conservatives in Central Bedfordshire (Silsoe & Shillington ward) and from Labour in Melton. The Green Party gained a seat from the Conservatives in St Edmundsbury.
For Labour to be making a net loss at this stage in proceedings will be a disappointment to them.
In Waveney, in North Suffolk the Conservative gain was significant as it means we now have overall control of Waveney District Council. Previously it was a minority Conservative administration relying on the support of an independent councillor. Labour not only lost the seat, their candidate was pushed into third place by the Greens. The ward concerned has a high proportion of council housing and Peter Aldous MP took the Waveney constituency from Labour in 2010 with a majority of 769. There was no UKIP candidacy to sabotage the Conservative effort.