However, there's a bigger picture. A much bigger picture.
Let's take Witney first - a by-election held because of the resignation of former Prime Minister David Cameron as the local MP. In 2015, just seventeen months ago, Cameron secured a majority of 25,155 with over 60% of the vote. Yesterday that majority was slashed to 5,702.
You might argue that's still pretty comfortable for the Tories. Indeed, asked yesterday by a former party member what I genuinely thought the result would be, I predicted a Conservative majority of 5,000-7,000, a strong Lib Dem second place and the Labour vote to collapse. You didn't need a crystal ball to predict that. However, I did add that I hoped I was wrong and that Liz Leffman might be able to pull of the impossible.
And it would have seemed impossible when the by-election was called all those weeks ago. Witney is hardly Lib Dem territory. Witney and its predecessor constituency Mid Oxfordshire have never voted for anything other than a Conservative MP, among them Douglas Hurd and David Cameron. It briefly was a Labour seat when its MP, Shaun Woodward, crossed the floor, but he knew he'd be on a hiding to nothing trying to defend his seat and sent off to St Helens instead. So for the Lib Dems to not only poll respectably but secure a solid second place finish is very good news for us, and clearly a number of positives can be taken from a campaign that has showed us to be a credible alternative and also suggested that those keen to write us off as a spent force may have to think again.
It's not just a question of the Tories' majority - although this isn't a typical "mid-term" by-election but the first of Theresa May's leadership and may give some indication of how she's perceived in this most Conservative of Conservative constituencies. Turnouts are generally lower in by-elections, and this was no exception, but the percentage of the vote can be a more reliable indicator of a change in voting intention. The Tories dropped from 60% to 45%, while the Lib Dem share of the vote went from 6.8% to 30.2%. This is astonishing, as it's the best vote share the Lib Dems have ever achieved in Witney since Philip Baston secured 30.8% in the heady days of the Liberal-SDP Alliance in 1983.
It's a 19.3 swing from the Conservatives to the Liberal Democrats. By any measure, that's huge. Well done to everyone involved, and to those who across the country who have helped the "Lib Dem fightback" not only in Witney but in the various local elections in which we're making steady progress. This result shows what we can do. It shows that we're being seen as a serious and viable alternative, at least to the Tories. Taken into consideration with results from council elections, it confirms that attitudes towards the party appear to be changing and that our current leadership is having a positive effect on the party's image.
You'd think the media would find this sufficiently interesting to comment on what this means for both the Conservatives and Lib Dems. But it seems the significance has been lost on them, with a few exceptions. Sam Coates, in The Times, senses problems ahead for the government unless the Prime Minister calls a snap General Election before "Brexit troubles mount". He doesn't mention Witney specifically, but it is unlikely to be coincidental that in a constituency that voted to Remain the Liberal Democrats saw their support increase almost five-fold. From what I've heard from the campaign team in Witney in recent days, it's obvious that the local Tories have been pretty rattled and while they hung on, as expected, they won't have enjoyed the fight. Theresa May won't want too many more by-elections like this, especially where the incumbent doesn't have 25,000+ majorities to defend.
The Guardian focused on the Lib Dem resurgence as well they might. My only words of caution would be that we didn't actually win here in spite of the immense campaign and while this may bode well for future by-elections there is something quite unique about Witney, the Tory safe seat with a pro-European outlook. I find myself agreeing with Alistair Carmichael, who said: "What we are getting very strongly here, as a part of the country that voted to remain, is that the idea of walking away from the single market, the unpleasantness from Amber Rudd at Tory conference, these things have not played well in a constituency like this. These people liked David Cameron, his brand of centre-right Conservatism and the modernity of it. And they look at what they’ve got now instead and they don’t like it.”
Liz Leffman, the Lib Dem candidate, added: “People here don’t want to come out of the single market, they don’t want jobs at risk and that’s what we were voting on today. People who voted for me are traditional Conservatives, who have voted Conservative for decades. Mrs May is the new Ukip and people are not comfortable with a party lurching in that direction.” This seems to confirm particular local factors (Liz is also a local councillor) and it's unlikely that reaching out to traditional Conservatives will work everywhere. There will also be places of course in which the voters very much like the Theresa May brand of Conservatism.
There was also of interest that while the Labour vote held up reasonably well, UKIP collapsed from a decent third place to finishing fifth behind the Green's Larry Sanders. It's difficult to make too much of that fact, but I doubt it's unrelated to UKIP's current difficulties. Mad Hatter of the Official Monster Raving Loony Party took the bragging rights in the battle of the satirical parties, finishing 8th - three places above Lord Toby Jug of the Eccentric Party (a recent breakaway from the OMRLP created after Jug was banned for making some derogatory comments about Nigel Farage and expressing criticism of Wetherspoons, an OMRLP sponsor - proving that every party has its problems).
Finally, in relation to Batley and Spen - the by-election to replace Jo Cox who was brutally and unnecessarily killed earlier this year - I was pleased to see Tracy Brabin elected (with 85.8% of the vote). Not because I support Labour or because I like Tracy personally, but because given the circumstances of Jo's death it only seems right for all parties to have stood aside and not contest the vacant seat.
The main parties (the Conservatives, Lib Dems, Greens, UKIP) did the right thing, and hopefully this will set a precedent for how they behave after such tragedies in future. There is no agreed protocol on this, and the last time an MP was murdered in an act of terror - Ian Dow in 1990 - the Lib Dems won his Eastbourne seat from the Conservatives. It seems right to have some kind of agreement in such cases. I can only hope that the example from the main parties will eventually be followed by the likes of the English Democrats, the BNP and the National Front, who opted to stand in spite of what Jo Cox's killer was reported to have shouted before his arrest.
We have two new MPs in Parliament and I genuinely wish both of them well. It cannot be easy for either of them to step into the shoes of their predecessors, for entirely different reasons. But we also have an "old" party that's refusing to die...and that's the real story.