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 ( 3)

SNP 47 (-9)

Plaid Cymru 4 ( 1)

Green 2 ( 1)

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

Berkshire

Birmingham

Bristol & Surrounds REVISED

Buckinghamshire

Cambridgeshire

Cheshire

Cornwall

County Durham

Cumbria REVISED

Derbyshire

Devon

Dorset

East Sussex REVISED

Essex

Gloucestershire REVISED

Hampshire

Herefordshire & Worcestershire

Hertfordshire

Kent

Lancashire REVISED

Leicestershire

Lincolnshire

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

Norfolk

Northamptonshire

Northern Ireland

Northumberland

Nottinghamshire

Oxfordshire

Scotland: Borders & Ayrshire

Scotland: Central REVISED

Scotland: Edinburgh REVISED

Scotland: Fife REVISED

Scotland: Glasgow

Scotland: Glasgow Surrounds

Scotland: North East

Scotland: Highlands & Islands

Shropshire

Somerset

Staffordshire

Suffolk

Surrey

Teesside

Tyne & Wear

Wales – Clwyd

Wales – Dyfed REVISED

Wales – Gwent REVISED

Wales – Gwynned & Powys

Wales – Mid Glamorgan

Wales – South Glamorgan REVISED

Wales – West Glamorgan

Warwickshire

West Midlands REVISED

West Sussex

Wiltshire

Yorkshire: East & Humberside

Yorkshire: North

Yorkshire South

Yorkshire: West REVISED