Local Election Conclusions – Wales

Next up is the conclusions from the local elections in Wales, where there was also local elections for every single council.  There are the same problems with independnet votes but not to the same issues as Scotland and no result has had to be excluded.


As before I’ve taken local electoral divisions and assigned them to a constituency based on their boundaries.  This was a lot smoother in Wales with very little overlap across constituencies.



The overall predicted seat totals for Wales are:

  • Labour: 22 (-3 vs 2015)
  • Conservative: 8 (-3 vs 2015)
  • Plaid Cymru: 8 (+5 vs 2015)
  • Liberal Democrat: 2 (+1 vs 2015)


Constituency by constituency:

Constituency Predicted 2017 Winner Change from 2015
Aberavon LAB No change
Aberconwy CON No change
Alyn & Deeside LAB No change
Arfon PC No change
Blaenau Gwent LAB No change
Brecon & Radnorshire LD LD gain from Con
Bridgend LAB No change
Caerphilly PC PC gain from LAB
Cardiff Central LD LD gain from LAB
Cardiff North CON No change
Cardiff South & Penarth LAB No change
Cardiff West LAB No change
Carmarthen East & Dinefwr PC No change
Carmarthen West & Pembrokeshire South PC PC gain from CON
Ceredigion PC PC gain from LD
Clwyd South LAB No change
Clwyd West CON No change
Cynon Valley LAB No change
Delyn LAB No change
Dwyfor Meirionnydd PC No change
Gower LAB LAB gain from CON
Islwyn LAB No change
Llanelli LAB No change
Merthyr Tydfil and Rhymney LAB No change
Monmouth CON No change
Montgomeryshire CON No change
Neath LAB No change
Newport East LAB No change
Newport West LAB No change
Ogmore LAB No change
Pontypridd LAB No change
Preseli Pembrokeshire CON No change
Rhondda PC PC gain from LAB
Swansea East LAB No change
Swansea West LAB No change
Torfaen LAB No change
Vale of Clwyd CON No change
Vale of Glamorgan CON No change
Wrexham LAB No change
Ynys Môn PC PC gain from LAB



The outlook in Wales is very interesting and I think it may be fairly accurate, though I wonder if Plaid Cymru’s gains are slightly overstates; I think 5-6 might be a more realistic target.


Local Elections – Scotland Analysis

All of Scotland’s 32 councils had local elections to them on 4th May and they give the most real data possible to try and see what might happen at the General Election on 8th June.


Now I have to put a massive caveat on this – people vote differently at local elections than at the General Election.  Still it is the best data we can go on from some area and potentially better than that of the polls.



To do this, I’ve looked at all of the local electoral division boundaries and assigned them to a constituency.  For many this is a simple matter as they match or are wholly within constituency boundaries.  Where there has been overlap between constituency boundaries, the area that has the highest population is put in the relevant constituency; it isn’t foolproof but it is as accurate as it can be.


In six of the constituencies, the combined vote share of independent candidates was higher than that from established political parties.  In fact in many areas the overall independent vote share was very high, causing another problem for accuracy.  In two constituencies I’ve discounted the results entirely as over 80% of the vote share was for independents – these areas were Shetland & Orkney and Na h-Eileanan an Iar (the Western Isles).  In the other areas I’ve simply assigned the ‘win’ to the party with the highest vote share after the independents.


Overall results

The overall result for Scotland comes out as follows (this includes assuming Shetland & Orkney remains Liberal Democrat and Na h-Eileanan an Iar remains SNP)

  • SNP: 37 Seats (-19 seats from 2015
  • Conservatives: 17 Seats (+16 seats from 2015)
  • Labour: 3 Seats (+2 seats from 2015)
  • Liberal Democrats  2 Seats (+1 seat from 2015)


Constituency by Constituency

Constituency Predicted 2017 Winner Change from 2015
Aberdeen North SNP SNP Hold
Aberdeen South CON CON Gain from SNP
Airdrie and Shotts SNP SNP Hold
Angus CON CON Gain from SNP
Argyll & Bute SNP SNP Hold
Ayr, Carrick & Cumnock CON CON Gain from SNP
Banff & Buchan CON CON Gain from SNP
Berwickshire, Roxburgh & Selkirk CON CON Gain from SNP
Caithness, Sutherland & Easter Ross SNP SNP Hold
Central Ayrshire CON CON Gain from SNP
Coatbridge, Chryston and Bellshill LAB LAB Gain from SNP
Cumbernauld, Kilsyth and Kirkintilloch East SNP SNP Hold
Dumfries and Galloway CON CON Gain from SNP
Dumfriesshire, Clydesdale and Tweeddale CON CON Hold
Dundee East SNP SNP Hold
Dundee West SNP SNP Hold
Dunfermline and West Fife SNP SNP Hold
East Dunbartonshire SNP SNP Hold
East Kilbride, Strathaven and Lesmahagow SNP SNP Hold
East Lothian LAB LAB Gain from SNP
East Renfrewshire CON CON Gain from SNP
Edinburgh East SNP SNP Hold
Edinburgh North & Leith SNP SNP Hold
Edinburgh South CON CON gain from LAB
Edinburgh South West CON CON Gain from SNP
Edinburgh West LD LD Gain from SNP
Falkirk SNP SNP Hold
Glasgow Central SNP SNP Hold
Glasgow East SNP SNP Hold
Glasgow North SNP SNP Hold
Glasgow North East SNP SNP Hold
Glasgow North West SNP SNP Hold
Glasgow South SNP SNP Hold
Glasgow South West SNP SNP Hold
Glenrothes SNP SNP Hold
Gordon CON CON Gain from SNP
Inverclyde SNP SNP Hold
Inverness, Nairn, Badenoch and Strathspey SNP SNP Hold
Kilmarnock and Loudoun SNP SNP Hold
Kirkcaldy and Cowdenbeath SNP SNP Hold
Lanark and Hamilton East LAB LAB Gain from SNP
Linlithgow and East Falkirk SNP SNP Hold
Livingston SNP SNP Hold
Midlothian SNP SNP Hold
Moray CON CON Gain from SNP
Motherwell and Wishaw SNP SNP Hold
Na h-Eileanan an Iar SNP SNP Hold
North Ayrshire and Arran SNP SNP Hold
North East Fife SNP SNP Hold
Ochil and South Perthshire CON CON Gain from SNP
Orkney and Shetland LD LD Hold
Paisley and Renfrewshire North SNP SNP Hold
Paisley and Renfrewshire South SNP SNP Hold
Perth and North Perthshire CON CON Gain from SNP
Ross, Skye and Lochaber SNP SNP Hold
Rutherglen and Hamilton West SNP SNP Hold
Stirling CON CON Gain from SNP
West Aberdeenshire & Kincardine CON CON Gain from SNP
West Dunbartonshire SNP SNP Hold



If the above is true, then the SNP are facing a very tough night.  It would appear that voters who want to vote for a party other than the SNP are turning to the Conservatives.  Why is this the case? All I can think is that Labour aren’t perceived as strong enough and that people don’t necessarily want to turn to the Liberal Democrats for a protest vote anymore.


In reality I think the SNP will lose some seats but not as many as the model suggests, I would expect them to keep at least 40 and I would be surprised if the Conservatives reach double figures.

UK General Election Prediction v1

Note – I know this isn’t a politics blog and people that read my blog probably aren’t bothered by this but I thought I’d put it up anyway.  From a geek point of view it does involve a lot of data and number crunching, so in the broadest sense of geek I reckon it counts.


With the recent failure of polls to predict results, I’ve decided as a starting point to look at what has actually happened in recent elections to get a decent picture as to what might happen in June.  I’ll try and do a number of models over the coming weeks, including ones based on:

  • MP By-Election Data and EU Referendum Results (this one)
  • Local Elections on 4th May
  • Combining the above two as well as taking in to account MPs standing down and their stance on Brexit


For anyone that wants to skip the explanations, the headline figures are:

Party Seats
Conservative 363
Labour 177
SNP 56
Liberal Democrat 27
Sinn Fein 4
Plaid Cymru 3
Green 1
Independent 1
Speaker 1
Grand Total 650



There have been five MP by-elections since the EU Referendum and I’ve used the data from these to build my first model.  What’s quite helpful about these five by-elections is that they are fairly even spread across estimated Yes/No percentages in the EU Referendum – these percentages have been estimated using ward level data and are about as accurate as can be possible.

The five by-elections were:

  • Witney – Conservative hold but big swing to Lib Dems
  • Richmond Park – Lib Dem win from Conservative after a huge swing (note – I am counting Zac Goldsmith as a Conservative despite him standing as an independent)
  • Sleaford and North Hykeham – Conservative hold
  • Copeland – Conservative win from Labour after a moderate swing
  • Stoke-on-Trent – Labour hold

Some patterns clearly emerged from the data compared to the 2015 general election:

  • The Labour % of the vote fell in every instance
  • The Lib Dem % of the vote increased in every instance and massively in pro-remain areas
  • The Conservative % of the vote fell in remain areas and generally increased in leave areas
  • UKIP were fairly inconsistent across each area
  • The Greens didn’t field candidates in each area so any conclusions from their data are hard to make

Before applying any percentage modifiers I gave each constituency a banding based on their EU Referendum estimated result.  These bandings were:

Banding Remain % Leave %
A 75-85% 15-24.99%
B 65-74.99% 25-34.99%
C 55-64.88% 35-44.99%
D 45-54.99% 45-54.99%
E 35-44.99% 55-64.99%
F 25-34.99% 65-74.99%
G 15-24.99% 75-84.99%

Each banding was then given a vote change percentages based on conclusions from the bye-elections.  These are completely arbitrary and will probably end up with my most inconsistent model of all but it is just a starting point.  The vote change percentages per banding were:

Banding Con Vote share % change Lab Vote share % change UKIP Vote share % change LD Vote share % change
A -20.00% -5.00% -5.00% 30.00%
B -15.00% -5.00% -5.00% 25.00%
C -5.00% -5.00% -5.00% 15.00%
D 2.50% -5.00% -5.00% 7.50%
E 2.50% -10.00% 2.50% 5.00%
F 5.00% -15.00% 5.00% 5.00%
G 10.00% -20.00% 10.00% 0.00%

Any party not mentioned above – i.e.. Green SNP, Plaid Cymru and the Northern Ireland Parties – have their percentage unchanged.  This gives a strange picture for Scotland and Wales that is unlikely to be anywhere near accurate.  Northern Ireland is assumed to remain the same though with election pacts being formed between unionist parties in some areas, I know this is unlikely to be the case.

Even in England there a lot of variables to factor in future models, including the fact that many MPs are standing down.

The Results

The overall results came up as follows:

Party Seats
Conservative 363
Labour 177
SNP 56
Liberal Democrat 27
Sinn Fein 4
Plaid Cymru 3
Green 1
Independent 1
Speaker 1
Grand Total 650

This isn’t the crushing victory that the Conservatives are looking for but it is still a pretty decent majority.

I won’t go into any detail on Scotland, Wales or Norther Ireland but in England there are some interesting points:

  • The Conservatives to win 44 seats from Labour
  • The Liberal Democrats to win 10 seats from the Conservatives and 7 from Labour (the model also predicts two from the SNP but I would probably ignore that)
  • UKIP to win 3 seats from Labour

Conservative Gains

Compared to 2015 the seats the model predicts the Conservatives to gain from Labour are:

  • Alyn & Deeside
  • Ashfield
  • Barrow & Furness
  • Bassetlaw
  • Batley & Spen
  • Birmingham Edgbaston
  • Birmingham Northfield
  • Bishop Auckland
  • Blackpool South
  • Bolton North East
  • Bridgend
  • City of Chester
  • Chorley
  • Clwyd South
  • Copeland (although already theirs due to the By-Election)
  • Coventry North West
  • Coventry South
  • Darlington
  • Dewsbury
  • Dudley North
  • Eltham
  • Enfield North
  • Gedling
  • Great Grimsby
  • Halifax
  • Hyndburn
  • Ilford North
  • Lancaster and Fleetwood
  • Mansfield
  • Middlesbrough South and Cleveland East
  • Newcastle-under-Lyme
  • North East Derbyshire
  • Norwich South
  • Scunthorpe
  • Stoke-on-Trent North
  • Stoke-on-Trent South
  • Wakefield
  • Walsall North
  • Wirral West
  • Wolverhampton North East
  • Wolverhampton South West
  • Workington
  • Wrexham
  • York Central

Liberal Democrat Gains

Seats the Liberal Democrats are predicted to win from the Conservatives are:

  • Bath
  • Battersea
  • Eastbourne
  • Kingston and Surbiton
  • Lewes
  • Oxford West and Abingdon
  • Richmond Park (though already theirs after by-election)
  • Thornbury and Yate
  • Twickenham
  • Wimbledon

Seats they are predicted to win from Labour are:

  • Bermondsey and Old Southwark
  • Bristol West
  • Burnley (!)
  • Cambridge
  • Cardiff Central
  • Hornsey and Wood Green
  • Manchester Withington


The UKIP gains from Labour are predicted to be:

  • Dagenham and Rainham
  • Hartlepool
  • Rother Valley


Although based on only five bye-election results and using the nearly year old EU Referendum result, I feel that the predictions the model has thrown up may not be too far away as it stands.  Elements I’m particularly wary of include:

  • Overestimated UKIP gains – as it stands I think they will get 0 seats
  • Overestimated Lib Dem Gains – I think they could reach 20 seats but 27 seems a stretch
  • Potentially underestimated Conservative gains from Labour

The local elections will hopefully give a better idea of where things are and after I’ve digested all the results I’ll develop the second model.