The local elections on 3 May threw up some surprises.
All three main parties claim that the results were good and highlight some of the results to prove it.
The Lib Dems point to their results as evidence that they are slowly turning the tide that saw them wiped out in the 2015 and 2017 general elections.
Labour points to their gains as evidence that they remain on course to secure the keys to No 10.
But it is surely the Conservatives that will be most pleased by these results. They held off Labour in London despite all the predictions of electoral wipe-out in the capital, with Labour failing to take control of a single borough from the Conservatives, even although Labour managed to pick up a fair few wards from the Conservatives nonetheless.
The Conservatives even took control of Barnet, which Labour very much expected to win. A sign, surely, that Labour has been hurt by the anti-Semitism row.
The Conservatives gained control of Basildon and Peterborough and, against expectations, held on to Amber Valley, Swindon and Walsall. The party even gained wards in Labour’s strongholds of Wakefield and Leeds. The Conservatives will surely sigh a huge sigh of relief.
It is surely Labour that will be most disappointed, as the expectations of major gains has not materialised. Given how split the Conservatives are on Brexit, given other domestic difficulties, not least the Windrush scandal, various ministerial resignations, and given that the Conservatives have now been in power for eight years, Labour should have performed much better.
The fact that some of the party’s MPs are calling for an inquiry as to why it did not perform better says it all.
UKIP, meanwhile, is finished. It lost almost all of its councillors standing in these elections, which in large part explains why the Conservatives did relatively well.
If ever you wanted evidence that UKIP was a single-issue party, this is it. With Brexit nearly upon us, the electorate knows that it’s job is done.
Mind you, Brexit has not actually been delivered yet, and there are still some seriously difficult issues yet to be resolved with some very tricky votes in parliament to take place, not least on the merits of the final deal itself.
It would be a brave man who predicted their outcome. But UKIP is finished. It should do the sensible thing and wind itself up.
The happiest party leader right now is surely Theresa May. In net terms her party gained wards, held off a wipe-out in London, and took control of some councils. It wasn’t meant to be this way.
She has certainly avoided any risk of a leadership challenge, for now at least. But the Brexit storm clouds are gathering and come the autumn she may yet find that her hold on the leadership is again under threat like never before.