Just out of interest I was looking at the other by-elections this parliament given that I currently believe the Tories will win in Selby and Somerset come the general election (bar a horrifically low turnout).
Tories may have a reasonable chance of also keeping Wakefield (lost) and Hartlepool, also North Shropshire (lost).
Tories will not retain Chesham and also Tiverton. They are sadly now in the 'we will solve the housing crisis but house building in this constituency would be bad' Lib Dem camp.