On the day the election was called, I predicted a Conservative majority of 74, but I decided to test this out by going through all 650 seats individually.

Back in early May I completed my Seat by Seat predictions and ended up predicting a Conservative majority of 134. This was made up of 392 Conservative seats, 163 Labour, 16 LibDem. 53 SNP, 5 Plaid and 2 Greens. This was at a time when the opinion polls were showing a Tory lead of 15-24%. Since then the polls have narrowed substantially. As a consequence I have gone through the seats again. However, I haven’t changed the basis on which my predictions are made. I have gone on the premise that turnout will be similar to 2015 and that 50% of the UKIP vote would transfer to the Conservatives. Originally I had assumed that UKIP would stand in all seats, but it turns out they’re only standing in 425. I believe that in seats where they are not standing a lot more than 50% of their votes will go to the Conservatives.

My new prediction is…

Conservative 386 (56)
Labour 178 (-54)
Liberal Democrats 12 (
SNP 47 (-9)
Plaid Cymru 4 (1)
Green 2 (
DUP 8 (-)
UUP 1 (-1)
Sinn Fein 5 (+1)
SDLP 3 (-)
Independent 1 (-)
Speaker 1 (-)

This translates into a Conservative majority of 122.

When I did this exercise in 2015 I came up with a Conservative seat prediction of 323 – only 8 out from what it turned out to be. However, I didn’t publish that because I felt it overestimated the Tory total. So I went back through all 650 seats and cut 33 seats to leave a total of 290. I should have trusted my first instincts.

On that basis I wonder whether I should go back to predicting a 74 seat majority… My gut tells me it will indeed be around that, but my logic and my research tells me it will be higher.

These are the entirety of my changes…

Bath – LibDem gain to Con hold
Batley & Spen – Con gain to Lab hold
Bermondsey – LibDem gain to Lab hold
Bristol South – Con gain to Lab hold
Burnley – LibDem gain to Lab hold
Cardiff Central – LibDem gain to Lab hold
Cardiff South & Penarth – Con gain to Lab hold
Cardiff West – Con gain to Lab hold
Cheltenham – LibDem gain to Con hold
Eastbourne – Con hold to LibDem gain
Edinburgh South – SNP gain to Lab hold
Edinburgh West – SNP hold to LibDem gain
Lewes – LibDem gain to Con hold
Llanelli – Plaid gain to Lab hold
Luton South – Con gain to Lab hold
Newport East – Con gain to Lab hold
North East Fife – SNP hold to LibDem gain
Perth & North Perthshire – SNP hold to Con gain
Stalybridge & Hyde – Con gain to Lab hold
Thornbury & Yate – LibDem gain to Con hold
Walsall South – Con gain to Lab hold
Wirral West – Con gain to Lab hold
Workington – Con gain to Lab hold
Worsley & Eccles South – Con gain to Lab hold

Conservative Gains from Labour

Alyn & Deesside Mark Tami 3343
Barrow in Furness John Woodcock 795
Birmingham Edgbaston Gisela Stuart 2706
Birmingham Erdington Jack Dromey 5129
Birmingham Northfield Richard Burden 2509
Bishop Auckland Helen Goodman 5218
Blackpool South Gordon Marsden 2585
Bolton North East David Crausby 4377
Bristol East Kerry McCarthy 3980
Brentford & Isleworth Ruth Cadbury 465
Bridgend Madeleine Moon 1927
Chorley Lindsay Hoyle 4530
City of Chester Chris Matheson 93
Clwyd South Susan Elan-Jones 2402
Coventry North West Geoffrey Robinson 6288
Coventry South Jim Cunningham 3188
Dagenham & Rainham Jon Cruddas 4980
Darlington Jenny Chapman 3158
Delyn David Hanson 2930
Dewsbury Paula Sherriff 1526
Dudley North Ian Austin 4181
Ealing Central & Acton Rupa Huq 274
Eltham Clive Efford 2693
Enfield North Joan Ryan 1086
Gedling Vernon Coaker 2986
Great Grimsby Melanie Onn 4540
Halifax Holly Lynch 428
Hampstead & Kilburn Tulip Siddiq 1138
Harrow West Gareth Thomas 3143
Hartlepool Iain Wright 3024
Hove Peter Kyle 1236
Hyndburn Graham Jones 4400
Ilford North West Streeting 589
Lancaster & Fleetwood Cat Smith 1265
Mansfield Alan Meale 5315
Middlesbrough S & E Cleveland Tom Blenkinsop 2268
Newcastle under Lyme Paul Farrelly 650
North East Derbyshire Natascha Engel 1883
Penistone & Stockbridge Angela Smith 6723
Scunthorpe Nick Dakin 3134
Southampton Test Alan Whitehead 3810
Stoke on Trent North Ruth Smeeth 4836
Stoke on Trent South Robert Flello 2539
Tooting Rosena Allin-Khan 6357
Wakefield Mary Creagh 2613
Walsall North David Winnick 1937
Westminster North Karen Buck 2126
Wolverhampton North East Emma Reynolds 5495
Wolverhampton South West Rob Marris 801
Wrexham Ian Lucas 1831

Conservative Gains from Liberal Democrats
Carshalton & Wallington Tom Brake 1510
North Norfolk Norman Lamb 4043
Richmond Park Sarah Olney 1872
Southport John Pugh 1322

Conservative Gains from SNP
Berwickshire, Roxburgh & Selkirk Calum Kerr 328
Dumfries & Galloway Richard Arkless 6514
Perth & North Perthshire Pete Wishart
West Aberdeenshire & Kinkardine Stuart Donaldson 7033

Conservative Gain from UKIP
Clacton Douglas Carswell 3437

Green Gains from Labour
Bristol West Thangnam Debbonaire 5673

Labour Gains from Conservative
Brighton Kemptown Simon Kirby 690

Liberal Democrat Gains from Conservative
Eastbourne Caroline Ansell
Kingston James Berry 2834
Twickenham Tania Mathias 2017

Liberal Democrat Gains from Labour
Cambridge Daniel Zeichner 599

Liberal Democrat Gains from SNP
East Dunbartonshire John Nicolson
Edinburgh West –
North East Fife – Stephen Gethins

Plaid Cymru Gains from Labour
Yns Mon Albert Owen 229

Sinn Fein Gain From UUP
Fermanagh & South Tyrone Tom Elliot 530

Here are links to the regional breakdowns, and individual seat predictions. Those which have changes are marked with (REVISED). Click on the links for details.

Bedfordshire REVISED
Bristol & Surrounds REVISED
County Durham
East Sussex REVISED
Gloucestershire REVISED
Herefordshire & Worcestershire
Lancashire REVISED
London Central
London East
London North East
London North West
London South
London South East REVISED
London South West
London West
Manchester REVISED
Merseyside REVISED
Northern Ireland
Scotland: Borders & Ayrshire
Scotland: Central REVISED
Scotland: Edinburgh REVISED
Scotland: Fife REVISED
Scotland: Glasgow
Scotland: Glasgow Surrounds
Scotland: North East
Scotland: Highlands & Islands
Tyne & Wear
Wales – Clwyd
Wales – Dyfed REVISED
Wales – Gwent REVISED
Wales – Gwynned & Powys
Wales – Mid Glamorgan
Wales – South Glamorgan REVISED
Wales – West Glamorgan
West Midlands REVISED
West Sussex
Yorkshire: East & Humberside
Yorkshire: North
Yorkshire South
Yorkshire: West REVISED