Liberal Democrats 7%
Liberal Democrats 4
By any standards that was an exceptionally good result for the SNP - they took 59% of the seats in Scotland, higher than the percentage of seats Mrs Thatcher won across the UK in her 1987 landslide. Their 37% vote share was identical to the winning UK-wide vote share for David Cameron in 2015 that paved the way for the EU referendum, and it was slightly higher than the 36% share Cameron took in his first election win in 2010, and the 35% won by Tony Blair in his third victory in 2005.
And yet the result was portrayed by the media as an unmitigated disaster for the independence movement. Midway through the BBC results programme, the former President of YouGov, Peter Kellner, declared that independence was "dead" - a ludicrous claim that went completely unchallenged. The general consensus among journalists was that the independence referendum that Nicola Sturgeon had only just announced was now a non-starter, and depressingly the SNP leadership themselves seemed all too eager to buy into that narrative.
We were fortunate to get a second chance in 2019, and most of the losses the SNP suffered in 2017 were reversed. But we mustn't squander that good fortune by allowing another UK general election to happen before an independence referendum. The 2017 experience shows that the SNP will be judged by an absurdly high standard in Westminster elections that are 'away fixtures' for them due to their exclusion from much of the TV coverage. If they fail to meet that standard, momentum will drain away and it could be much harder to hold a referendum, let alone win it.
The obvious lesson: the independence referendum must by held by autumn 2023 at the absolute latest, and ideally by autumn 2022 in case Boris Johnson cuts and runs with an early election in May 2023. Unfortunately, though, a suspicion is beginning to grow that the SNP plan to deal with the 'once in a generation' jibe by actually waiting for a generation.