The SNP have had a frustrating run of local by-elections since the UK general election last year - they've had one or two creditable results in wards they were never going to win, but in wards where they should have been competitive they've fallen short of expectations. At last tonight we can celebrate both a substantial increase in the SNP vote and an outright victory.
Bonnybridge & Larbert by-election result (15th February 2018):
SNP 38.6% (+4.9)
Conservatives 32.4% (+8.1)
Labour 24.2% (+8.5)
Greens 3.7% (-0.1)
UKIP 1.0% (n/a)
The SNP candidate was eventually declared the winner on the fifth count, and was presumably helped by the fact that the Tories were the main challengers. Labour voters are less likely to transfer to the Tories than vice versa.
Obviously the fly in the ointment here is that both the Labour and Tory vote increased more than the SNP vote did, meaning there was technically a swing from SNP to both Labour and Tory. However, the reason for the increases across the board is that the independent councillor Billy Buchanan wasn't on the ballot paper this time, leaving his 20% of the vote up for grabs. I gather that Buchanan is more associated with the unionist parties, so it may well be that his votes are predominantly unionist in character, and that you would have fully expected them to switch mostly to Labour and the Tories.