Just one day to go now, everyone.
Labour are still edging close to the Conservatives in opinion polls-but that depends on whether enough young people will turn out to vote tomorrow. An ICM poll puts the Conservatives on 45% and Labour on 34%, but a YouGov poll puts the Conservatives on 41% and Labour on as high as 40%. The key difference between these polls is that ICM assumes that the higher youth turnout will not occur in the end, whereas YouGov assumes it will actually happen.
Meanwhile, the Liberal Democrats are still stuck on 8%-the same percentage they polled in 2015. UKIP are on 5%, with the Green Party on 3% even though they have far more candidates to vote for than UKIP do in this general election. The SNP are still comfortably ahead in Scotland, this time with the Conservatives as the main challengers to them instead of Labour, and Plaid Cymru are not having nearly the same level of success in Wales.
Earlier, I made many predictions for this election, which were made when the Conservatives were dramatically ahead of Labour, always by more than 10%, and were often polling as high as 48%, a figure last bettered by the late great Harold MacMillan in 1959. This time, the Conservative lead over Labour has dropped considerably, particularly due to gaffes and refusals to participate in televised debates by Prime Minister Theresa May, to the point where there is an outside chance of Theresa May losing her small majority of 10 despite the inevitable transfer of large numbers of UKIP votes to the Conservatives (dependent on constituency, of course).
It remains true nonetheless that the Liberal Democrats are recovering best in Greater London and that the Green Party will perform much better south of the line flowing from The Wash to the Bristol Channel than north of it.
After considerable thought and recalculation, these are the seats that will or should change hands in this election (note that gains are compared to the 2015 general election):
Conservative gains from Labour (21)*:
North East Derbyshire
Wolverhampton South West
Middlesbrough South & East Cleveland
Lancaster & Fleetwood
City of Chester
Conservative gain from UKIP (1):
SNP gain from Labour (1):
Green gain from Labour (1):
Plaid Cymru gain from Labour (1):
Liberal Democrat gains from Conservative (6):
Kingston & Surbiton
Labour gains from Conservative (3):
Plymouth Sutton & Devonport
Independent gain from Conservative (1):
Conservative gains from SNP (3):
Berwickshire, Roxburgh & Selkirk
West Aberdeenshire & Kincardine
Dumfries & Galloway
Liberal Democrat gains from SNP (2):
Sinn Fein gain from UUP (1):
Fermanagh & South Tyrone
Alliance gain from DUP (1):
*In many of these particular constituencies there is no UKIP candidate standing this year, and in half of them no Green candidate.
**The Independent in question is Claire Wright.
***There is a UUP candidate in Belfast East where there was not one in 2015.
There is also a good chance that the SDLP's Alasdair McDonnell will lose his highly competitive Belfast South seat, but who he could lose it too is a debatable matter due to the unpopularity of the DUP and speculation about how much the Alliance Party can capitalise on this at Westminster level. Other seats to watch in England include all four of the seats Labour gained from the Conservatives in London in 2015 (i.e. Ealing Central & Acton, Enfield North, Ilford North, and Brentford & Isleworth), Bury North, Hyndburn, Chorley, Leeds North West, Cardiff North, Carshalton & Wallington, Cambridge, North Norfolk, Southport, Richmond Park, Bristol East, Bradford South, and Bradford West; I believe the incumbent party will hold these seats but they all have reasonable chances of changing hands so I advise you to watch these seats as well on election night.
In total this gives: Conservatives 345 (+15), Labour 211 (-21), SNP 52 (-4), Liberal Democrats 16 (+8), DUP 7(-1), Sinn Fein 5 (+1), Plaid Cymru 4 (+1), SDLP 3 (nc), Green 2 (+1), Independent 2 (+1), UUP 1 (-1), Alliance 1 (+1), Speaker 1 (nc), UKIP 0 (-1). I therefore predict that the Conservative majority will rise to 38.