A good forecaster should always provide an easily accessible list of forecasts made, how the forecast was arrived at and how accurate it ended up being. At long last, here is my election forecasting track record updated with the 2024 UK General Election so finally I am a good forecaster I hope!
Types of elections covered in this article
My list of forecasts include –
- UK General Elections – 2010, 2015, 2017, 2019 and 2024
- UK By-elections – Copeland, Stoke Central, Batley & Spen, Chesham & Amersham
- EU Elections – 2019
- Referendums – 2014 Scottish Independence, 2016 Brexit, 2023 Australian Voice
- UK Local Elections – 2021 WECA Mayor, 2024 Bristol City Council, 2025 WECA Mayor
I will go through each election in turn. In an ideal world for each election, you should see the following items of information
- How I made my forecast
- What was my official forecast
- What was the outcome
- My review of lessons to be learned
I haven’t met this ideal in all cases but I hope you still find what is shown here useful.
UK General Election Forecasts
Here is a summary of the 5 general elections I have forecast.
My success criteria is based on what I use to evaluate the polls. I regard a polling error of less than 2% to be a success and an error of greater than or equal to 4% to be a major error. With 650 seats in parliament, the equivalent thresholds are <13 seats and >= 26 seats hence the criteria above. Since the Conservatives and Labour have been first or second in all elections since 1918, my prime forecasting objective is to predict the number of Conservative and Labour seats accurately. However, the Liberal Democrats and Other parties do contribute to the election narrative so I also use the same criteria for these.
I will now go through each in turn
2010 General Election (Major Error for CON, LAB & LD)
How I made my forecast – My first ever election forecasting model was built long before I created this blog. It was a top down forecast model using logistic regression which attempted to estimate the number of seats each party would win overall. I did not attempt to forecast each seat. I gave a presentation to a local business networking group ahead of the election where I explained how I made my forecast. A copy of this can be downloaded from this link MSC – Election Special – My forecast of the UK 2010 General Election.
What was my forecast – I predicted a hung parliament with the Conservatives getting 53 seats more than Labour. Importantly, I predicted the Lib Dems would get 114 seats which would allow them to choose between Labour and the Conservatives when forming a coalition government.
What was the outcome – A hung parliament with the Conservatives getting 49 seats more than Labour and the Lib Dems getting 57 seats. This meant a Conservative & Lib Dem coalition was the only game in town and is what in fact transpired.
My review of lessons learned – No review was published. The good news I got the hung parliament and the Conservative lead over Labour correct. The bad news was the Lib Dems only got half the seats I expected. The reason for this was the large polling error for the Lib Dems. Polls expected them to get 28% of the vote and the ended up on 24%. It just so happened that the high twenties is a very sensitive area for converting votes into seats under First Past The Post. The main lesson I took out was that polling errors could be costly.
2015 General Election (Major error for CON & LAB)
How I made my forecast – As in 2010, I did not attempt to forecast each seat and made a top down forecast. However, I had recognised the rise of UKIP and fall of the Lib Dems meant I could not reuse my 2010 model. Instead I went for an approach that I was not entirely happy with but was the best I could do at the time. It consisted of two steps –
- I built a generic seat model where for a given vote share in a seat of X%, the probability of winning the seat would be Y%.
- For each party, I then attempted to model the distribution of vote shares in seats using a beta distribution where the mean was equal to the national vote share as estimated by the polls plus expected polling error.
- I then multiplied the two distributions in steps 1 & 2 to arrive at the estimated number of seats.
Again I gave a presentation to my local business networking group ahead of the election where I explained how I made my forecast but this time I also recorded the presentation on Youtube.
What was my forecast – I predicted the polls would be wrong with the error favouring the Conservatives. The outcome would still be a hung parliament with the Conservatives 26 seats short of a majority. This time there was no obvious coalition but I marked the Lib Dems as the kingmaker. An important point I made in my presentation was that I could not see any way for the Lib Dems to get over 20 seats which many other forecasters were making.
What was the outcome – The polls were in error favouring the Conservatives but the scale of the error was large enough that the Conservatives ended with a small majority of 12 seats. The Lib Dems ended up with 8 seats as the SNP swept Scotland to become the 3rd largest party.
My review of lessons learned – I never liked my model but it would probably have been quite accurate had I predicted a larger polling error than actually happened. Interestingly, I came close to reusing this model for the 2019 general election. Had the election been called in June 2019 say, the Brexit party would have led the polls with both Labour and the Conservatives on 22% and the Lib Dems not far behind. Such a scenario would have upended all the normal rules and so I seriously considered reprising my 2015 model for this scenario.
2017 General Election (Major error for CON & LAB)
How I made my forecast – This marked the first election I covered after launching my blog and I wrote an extensive number of blogs about it. I also decided to go for a bottom up approach for the first time and therefore made seat level forecasts which were aggregated to a national total. I actually started out with a different model but during the campaign I ended using a combination of 3 models to make my forecasts –
- A Brexit Segmentation scenario model
- A non-Uniform Regional Swing (NURS) model based on polls
- A tactical voting model to adjust for possible tactical voting
A list of the key blogs which explain my forecast can be found here. The link includes links to a series of 4 YouTube videos which explain my forecasting model. A particularly important post I made about turnout was picked up by the Guardian!
What was my forecast – My forecast was for the Conservative landslide with a majority of 102 seats. The Lib Dems would be all but wiped out. Turnout would be 68%, higher than 66% in 2015 but lower than 72% for the 2016 referendum. Yet again there would be a polling error favouring the Conservatives. Full details of my forecast can be found here.
What was the outcome – A hung parliament with the Conservatives 7 seats short of a majority. There was a major polling error yet again but this time it was a large error in favour of Labour. Turnout was 68% and the Lib Dems made gains.
My review of lessons learned – My forecast went badly wrong which led to write an in-depth review here. The main lesson I took out was that my underlying model was sound, what did me in was the large polling error. Unusually, the polling error was not uniform. In London, South & Scotland, my forecast was very good. It was the Midlands and the North where I expected Tories to break the Red Wall where the Labour vote was massively underestimated. It taught me to avoid placing too much weight on crossbreaks in polls. Another issue that didn’t help in 2017 was a dearth of constituency level polls, unlike 2015 when there were many.
2019 general election (Success all round)
How I made my forecast – Following my review of the 2017 election, I decided to reuse the NURS and tactical voting models. I changed the way I recorded crossbreak data from the polls. Due to pressure of work, I wrote fewer articles and did not do any presentations. A description of my modelling approach was given here but I ran out of time on one part of the article so I linked to this twitter thread ahead of a by-election where I explained the approach I was going to use.
What was my forecast – I predicted a Conservative majority of 72 seats and Labour to have its worst election since 1935. I expected the Lib Dems to make gains to aggressive tactical voting. Full details here.
What was the outcome – The Conservatives won a majority of 80 seats and Labour had its worst election since 1935. The Lib Dems actually lost seats despite having more votes.
My review of lessons learned – This time I was spot on. More than that, I was the most accurate forecaster of all, beating even Sir John Curtice’s exit poll. Unlike the previous 3 elections which saw major polling errors, 2019 was the most accurate election for polls since 1955 which obviously helped me. I wrote an initial review here and was intending to follow up with a more in-depth review. However, COVID was on us before long and other matters took priority.
2024 general election (Success for CON & LAB)
How I made my forecast – I decided on a top down approach for 2024, reverting to my 2010 approach in part and never made any seat level forecasts. Instead of predicting how many seats the Conservatives and Labour would win separately, this time I predicted the sum of seats won (CON+LAB) and the difference in seats won (CON–LAB) using the equivalent sum and difference in vote shares as measured by the polls. The sum and difference of CON and LAB creates two simultaneous equations which can be solved. A crucial insight I made a few weeks before the election was that on average polls do predict vote share provided one measures vote share using average vote share per seat, not national vote share. Full details are here.
What was my forecast – I predicted a Labour landslide with a majority of 190 seats and the Conservatives to have their worst election since the 19th century. I predicted substantial gains for the Lib Dems but below the heights they reached in 2005 and 2010. Full details here. An initial probabilistic forecast at the start of 2024 can also be found here.
What was the outcome – Labour won a majority of 172 seats and the Conservatives had their worst ever election since the 19th century. The Lib Dems won their highest number of seats since 1923 even though their vote share was barely changed from 2019.
My review of lessons learned – I asked to be judged on my forecast of the number of Conservative and Labour seats. On this alone, I had my second hit in a row with forecast errors in single figures. However, unlike 2019, I got lucky because the polls recorded their 3rd largest polling error (after 1992 & 2017) which should have wrecked my forecast but a compensating model error meant I ended up getting it right. This contrasts with 2017 which had the 2nd largest polling error but my model was bang on so consequently the significant polling error led to a significant forecasting error. Full review is here (to be published at some point!).
UK By-Elections
2017 Copeland – Method & Forecast here, Review here, I predicted the Conservative gain from Labour but there were some issues with the forecast.
2017 Stoke Central – Method & Forecast here, Review here, my prediction of a UKIP gain went awry. With hindsight, this seat was a harbinger of the 2017 general election but I made the mistake of placing more weight on the Copeland result.
2021 Batley & Spen/Chesham & Amersham – Method & Forecast here, no review published but my forecasts (more strictly scenarios) were slightly out.
EU Elections
2019 EU Election – Method & Forecast here, Review here, overall I deemed this a successful forecast especially since it was for a different election system (Regional d’Hondt).
Referendums
2014 Scottish Independence – I never wrote anything but in conversation with friends and colleagues at the time when polls were showing NO to win easily, my forecast was “NO to win by less than 5 points and that won’t end the argument“. In the event, No won by almost 10 points but it didn’t end the argument
2016 Brexit – Again I never wrote anything down other than this slide looking at the polls. On the day of the referendum, I was running a training course about surveys for a client and I put this slide up for discussion which showed a 52-48 Remain win. During that discussion, I said my forecast was “50:50 toss a coin. I think postal votes have swung in favour of Leave and it will be closer than the polls say.”
Afterwards, I produced a 4 part YouTube series analysing the results here.
2023 Australian Voice Referendum – Method & Forecast here, Review here. My forecast was only a few stuffed ballots away from being a hit! There was also an interesting lesson for forecasting the subsequent 2024 UK General Election which I didn’t have time to follow up on.
UK Local Elections
2021 WECA Mayor – Method & Forecast here, Review here, my forecast was way out but it was interesting trying to predict outcomes under a different voting system (Supplementary Vote).
2024 Bristol City Council – Method here, Forecast here, Review here, overall this was a successful forecast.
2025 WECA Mayor – Method & Forecasts were published in two parts; part 1 here, part 2 here. A review of my forecast is here. There will also be a review of all forecasts made by 3 pollsters & another forecaster.
— Would you like to comment on this article? —-
Please do leave your comments on this X/Twitter or LinkedIn thread.
— Read some of my other blog posts on forecasting & elections —
Click here for a list of forecasting related posts sorted by theme.
Click here for a complete list of all my posts on elections sorted in reverse chronological order.
— Subscribe to my newsletter to receive more articles like this one! —-
If you would like to receive notifications from me of news, articles and offers relating to Forecasting & Elections, please click here to go to my Newsletter Subscription page and tick the Elections and/or Forecasting category and other categories that may be of interest to you. You will be able to unsubscribe at anytime.