I have looked at every seat in the YouGov MRP issued on 10 December. That model, based on a poll of 100,000 residents of GB (No NI), had the Conservative lead at 9%. I looked at every seat and compared the Tory lead with that. 1/x
+11 - 354, +10 - 348, +9 - 346, +8 - 338, +7, 332, +6 - 320
2/x
Losses - Aberconwy, Aberdeen S, Vale of Glamorgan, Banff&Buchan, Harrow East, Chingford, Ayr Carrick, MK North, Hendon, Cheltenham
3/x
The first group are Tory-held seats they could lose; the second are non-Tory held seats they can gain.
4/x
5/x
6/x
Tory +11 -
Gains - Hyndburn, Stoke C, Bury N, Workington, Dewsbury
Losses - Angus, Chipping Barnet, Putney, South Cambridgeshire
7/x
Gains - Warrington S, Clwyd S
Losses - Renfrewshire E, Winchester, Gordon
Tory +9 -
Gains - Wolverhampton SW, Stockton S, Vale of Clwyd, Bedford, Delyn
Losses -Ochil & S Perthshire, E Devon, Moray
8/x
Gains - Great Grimsby, Wrexham, Dagenham, Sedgefield, Lanark & Hamilton E
Losses - Aberconwy, Aberdeen S
Tory +7 -
Gains - Bolsover, Keighley
Losses - Vale of Glamorgan, Banff & Buchan, Harrow E, Chingford, Ayr Carrick, MK N, Hendon, Cheltenham
9/x
Gains - Crewe & Nantwich, Ipswich
Losses - Hastings & Rye, Norwich N
Tory +5 -
Gains - Scunthorpe
Losses - Reading W
Tory +4 -
Gains - Bishop Auckland, Blackpool S, Rother Valley, Wolv NE, West Bromwich W
Losses - MK S, Guildford, Cheadle
10/x
Add Esher & Walton to potential Tory losses at Tory +7; Bolton NE to potential Tory gains at Tory +9, and Lincoln to potential Tory gains at Tory +10.
Gains - Stoke N, Colne Valley, Darlington
Losses - Cities of London & Westminster, W Aberdeenshire, Morecambe, St. Ives, Lewes
Tory +2 -
Gains - Bassetlaw, Bury S
Losses - Worcester, Watford, Calder Valley, Dumfriess & Galloway, Presli Pembrokeshire
12/x
Gains - Ashfield, Barrow & Furness, Eastbourne, Penistone & S, Derby N, Dudley N, Brecon & Rad, N Norfolk, Wakefield, Peterborough, Don Valley
Losses - Pudsey, Crawley (reverse this with the +2 above - my mistake).
13/x
14/x
15/x
OTOH, if my hunch is wrong then it will be because of high youth turnout and some Brexit Party voters deciding they just can't leave Labour.
16/x
17/x
18/18