{"id":5638,"date":"2025-05-08T09:10:58","date_gmt":"2025-05-08T08:10:58","guid":{"rendered":"https:\/\/marriott-stats.com\/nigels-blog\/?p=5638"},"modified":"2025-05-10T18:55:26","modified_gmt":"2025-05-10T17:55:26","slug":"my-election-forecasting-track-record","status":"publish","type":"post","link":"https:\/\/marriott-stats.com\/nigels-blog\/my-election-forecasting-track-record\/","title":{"rendered":"Forecasting #3 &#8211; How Accurate are My Election Forecasts?"},"content":{"rendered":"<p>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.\u00a0 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!<\/p>\n<p><!--more--><\/p>\n<h5><span style=\"color: #008000;\"><strong>Types of elections covered in this article<\/strong><\/span><\/h5>\n<p>My list of forecasts include &#8211;<\/p>\n<ol>\n<li><strong>UK General Elections<\/strong> &#8211; 2010, 2015, 2017, 2019 and 2024<\/li>\n<li><strong>UK By-elections<\/strong> &#8211; Copeland, Stoke Central, Batley &amp; Spen, Chesham &amp; Amersham<\/li>\n<li><strong>EU Elections<\/strong> &#8211; 2019<\/li>\n<li><strong>Referendums<\/strong> &#8211; 2014 Scottish Independence, 2016 Brexit, 2023 Australian Voice<\/li>\n<li><strong>UK Local Elections<\/strong> &#8211; 2021 WECA Mayor, 2024 Bristol City Council, 2025 WECA Mayor<\/li>\n<\/ol>\n<p>I will go through each election in turn.\u00a0 In an ideal world for each election, you should see the following items of information<\/p>\n<ol>\n<li>How I made my forecast<\/li>\n<li>What was my official forecast<\/li>\n<li>What was the outcome<\/li>\n<li>My review of lessons to be learned<\/li>\n<\/ol>\n<p>I haven&#8217;t met this ideal in all cases but I hope you still find what is shown here useful.<\/p>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #008000;\"><strong>UK General Election Forecasts<\/strong><\/span><\/h4>\n<p>Here is a summary of the <strong>5<\/strong> general elections I have forecast.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5754\" src=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/05\/Election-Track-Record-general-elections-2010-to-2024.png\" alt=\"\" width=\"853\" height=\"295\" srcset=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/05\/Election-Track-Record-general-elections-2010-to-2024.png 853w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/05\/Election-Track-Record-general-elections-2010-to-2024-300x104.png 300w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/05\/Election-Track-Record-general-elections-2010-to-2024-768x266.png 768w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/05\/Election-Track-Record-general-elections-2010-to-2024-450x156.png 450w\" sizes=\"auto, (max-width: 853px) 100vw, 853px\" \/><\/p>\n<p>My success criteria is based on what I use to evaluate the polls.\u00a0 I regard a polling error of less than <strong>2%<\/strong> to be a success and an error of greater than or equal to <strong>4%<\/strong> to be a major error.\u00a0 With 650 seats in parliament, the equivalent thresholds are <strong>&lt;13<\/strong> seats and <strong>&gt;= 26<\/strong> seats hence the criteria above.\u00a0 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.\u00a0 However, the Liberal Democrats and Other parties do contribute to the election narrative so I also use the same criteria for these.<\/p>\n<p>I will now go through each in turn<\/p>\n<h5><span style=\"color: #993300;\"><strong>2010 General Election (Major Error for CON, LAB &amp; LD)<\/strong><\/span><\/h5>\n<p><strong>How I made my forecast<\/strong> &#8211; My first ever election forecasting model was built long before I created this blog.\u00a0 It was a top down forecast model using logistic regression which attempted to estimate the number of seats each party would win overall.\u00a0 I did not attempt to forecast each seat.\u00a0 I gave a presentation to a local business networking group ahead of the election where I explained how I made my forecast.\u00a0 A copy of this can be downloaded from this link <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/MSC-Election-Special-My-forecast-of-the-UK-2010-General-Election.pdf\">MSC &#8211; Election Special &#8211; My forecast of the UK 2010 General Election<\/a>.<\/p>\n<p><strong>What was my forecast<\/strong> &#8211; I predicted a hung parliament with the Conservatives getting <strong>53<\/strong> seats more than Labour. <img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5642 alignright\" src=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/Election-Track-Record-general-elections-2010.png\" alt=\"\" width=\"282\" height=\"138\" \/> Importantly, I predicted the Lib Dems would get <strong>114<\/strong> seats which would allow them to choose between Labour and the Conservatives when forming a coalition government.<\/p>\n<p><strong>What was the outcome<\/strong> &#8211; A hung parliament with the Conservatives getting <strong>49<\/strong> seats more than Labour and the Lib Dems getting <strong>57<\/strong> seats.\u00a0 This meant a Conservative &amp; Lib Dem coalition was the only game in town and is what in fact transpired.<\/p>\n<p><strong>My review of lessons learned<\/strong> &#8211; No review was published.\u00a0 The good news I got the hung parliament and the Conservative lead over Labour correct.\u00a0 The bad news was the Lib Dems only got half the seats I expected.\u00a0 The reason for this was the large polling error for the Lib Dems.\u00a0 Polls expected them to get <strong>28%<\/strong> of the vote and the ended up on <strong>24%<\/strong>.\u00a0 It just so happened that the high twenties is a very sensitive area for converting votes into seats under First Past The Post.\u00a0 The main lesson I took out was that polling errors could be costly.<\/p>\n<h5><span style=\"color: #993300;\"><strong>2015 General Election (Major error for CON &amp; LAB)<\/strong><\/span><\/h5>\n<p><strong>How I made my forecast<\/strong> &#8211; As in 2010, I did not attempt to forecast each seat and made a top down forecast.\u00a0 However, I had recognised the rise of UKIP and fall of the Lib Dems meant I could not reuse my 2010 model.\u00a0 Instead I went for an approach that I was not entirely happy with but was the best I could do at the time.\u00a0 It consisted of two steps &#8211;<\/p>\n<ol>\n<li>I built a generic seat model where for a given vote share in a seat of <strong>X%<\/strong>, the probability of winning the seat would be <strong>Y%<\/strong>.<\/li>\n<li>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.<\/li>\n<li>I then multiplied the two distributions in steps 1 &amp; 2 to arrive at the estimated number of seats.<\/li>\n<\/ol>\n<p>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 <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-forecast-2015\/\" target=\"_blank\" rel=\"noopener\">I also recorded the presentation on Youtube<\/a>.<\/p>\n<p><strong>What was my forecast<\/strong> &#8211; I predicted the polls would be wrong with the error favouring the Conservatives.<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5643 alignright\" src=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/Election-Track-Record-general-elections-2015.png\" alt=\"\" width=\"282\" height=\"138\" \/>\u00a0 The outcome would still be a hung parliament with the Conservatives <strong>26<\/strong> seats short of a majority.\u00a0 This time there was no obvious coalition but I marked the Lib Dems as the kingmaker.\u00a0 An important point I made in my presentation was that I could not see any way for the Lib Dems to get over <strong>20<\/strong> seats which many other forecasters were making.<\/p>\n<p><strong>What was the outcome<\/strong> &#8211; 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 <strong>12<\/strong> seats.\u00a0 The Lib Dems ended up with<strong> 8<\/strong> seats as the SNP swept Scotland to become the 3rd largest party.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5622\" src=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/PollErrors3-GE19-natl-vote-share-B.png\" alt=\"\" width=\"641\" height=\"301\" srcset=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/PollErrors3-GE19-natl-vote-share-B.png 641w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/PollErrors3-GE19-natl-vote-share-B-300x141.png 300w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/PollErrors3-GE19-natl-vote-share-B-450x211.png 450w\" sizes=\"auto, (max-width: 641px) 100vw, 641px\" \/><\/p>\n<p><strong>My review of lessons learned<\/strong> &#8211; I never liked my model but it would probably have been quite accurate had I predicted a larger polling error than actually happened.\u00a0 Interestingly, I came close to reusing this model for the 2019 general election.\u00a0 Had the election been called in June 2019 say, the Brexit party would have led the polls with both Labour and the Conservatives on <strong>22%<\/strong> and the Lib Dems not far behind.\u00a0 Such a scenario would have upended all the normal rules and so I seriously considered reprising my 2015 model for this scenario.<\/p>\n<h5><span style=\"color: #993300;\"><strong>2017 General Election (Major error for CON &amp; LAB)<\/strong><\/span><\/h5>\n<p><strong>How I made my forecast<\/strong> &#8211; This marked the first election I covered after launching my blog and I wrote an extensive number of blogs about it.\u00a0 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.\u00a0 I actually started out with a different model but during the campaign I ended using a combination of 3 models to make my forecasts &#8211;<\/p>\n<ol>\n<li>A Brexit Segmentation scenario model<\/li>\n<li>A non-Uniform Regional Swing (NURS) model based on polls<\/li>\n<li>A tactical voting model to adjust for possible tactical voting<\/li>\n<\/ol>\n<p>A list of the <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-2017-6-everything-you-need-to-know-in-one-place\/\" target=\"_blank\" rel=\"noopener\">key blogs which explain my forecast can be found here<\/a>.\u00a0 The link includes links to a series of 4 YouTube videos which explain my forecasting model.\u00a0 <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-2017-forecast-5-5-steps-to-making-sense-of-the-latest-polls\/\" target=\"_blank\" rel=\"noopener\">A particularly important post I made about turnout<\/a> was picked up by the Guardian!<\/p>\n<p><strong>What was my forecast<\/strong> &#8211; My forecast was for the Conservative landslide with a majority of <strong>102<\/strong> seats.<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5644 alignright\" src=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/Election-Track-Record-general-elections-2017.png\" alt=\"\" width=\"282\" height=\"138\" \/> The Lib Dems would be all but wiped out.\u00a0 Turnout would be <strong>68%<\/strong>, higher than<strong> 66%<\/strong> in 2015 but lower than <strong>72%<\/strong> for the 2016 referendum.\u00a0 Yet again there would be a polling error favouring the Conservatives.\u00a0 <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-2017-forecast-1-latest-prediction\/\" target=\"_blank\" rel=\"noopener\">Full details of my forecast can be found here<\/a>.<\/p>\n<p><strong>What was the outcome<\/strong> &#8211; A hung parliament with the Conservatives <strong>7<\/strong> seats short of a majority.\u00a0 There was a major polling error yet again but this time it was a large error in favour of Labour.\u00a0 Turnout was <strong>68%<\/strong> and the Lib Dems made gains.<\/p>\n<p><strong>My review of lessons learned<\/strong> &#8211; My forecast went badly wrong which led to <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-2017-7-review-of-my-predictions\/\" target=\"_blank\" rel=\"noopener\">write an in-depth review here<\/a>.\u00a0 The main lesson I took out was that my underlying model was sound, what did me in was the large polling error.\u00a0 Unusually, the polling error was not uniform.\u00a0 In London, South &amp; Scotland, my forecast was very good.\u00a0 It was the Midlands and the North where I expected Tories to break the Red Wall where the Labour vote was massively underestimated.\u00a0 It taught me to avoid placing too much weight on crossbreaks in polls.\u00a0 Another issue that didn&#8217;t help in 2017 was a dearth of constituency level polls, unlike 2015 when there were many.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-702\" src=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2017\/07\/GE17review-3.png\" alt=\"\" width=\"1502\" height=\"626\" srcset=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2017\/07\/GE17review-3.png 1502w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2017\/07\/GE17review-3-300x125.png 300w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2017\/07\/GE17review-3-768x320.png 768w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2017\/07\/GE17review-3-1024x427.png 1024w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2017\/07\/GE17review-3-450x188.png 450w\" sizes=\"auto, (max-width: 1502px) 100vw, 1502px\" \/><\/p>\n<h5><strong><span style=\"color: #993300;\">2019 general election (Success all round)<\/span><\/strong><\/h5>\n<p><strong>How I made my forecast<\/strong> &#8211; Following my review of the 2017 election, I decided to reuse the NURS and tactical voting models.\u00a0 I changed the way <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-opinion-poll-tracker-ge2019-final\/\" target=\"_blank\" rel=\"noopener\">I recorded crossbreak data from the polls<\/a>.\u00a0 Due to pressure of work, I wrote fewer articles and did not do any presentations.\u00a0 <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-2019-1-my-official-forecast\/\" target=\"_blank\" rel=\"noopener\">A description of my modelling approach was given here<\/a> but I ran out of time on one part of the article so I linked to <a href=\"https:\/\/x.com\/MarriottNigel\/status\/1166288772297871360\" target=\"_blank\" rel=\"noopener\">this twitter thread ahead of a by-election where I explained the approach<\/a> I was going to use.<\/p>\n<p><strong>What was my forecast<\/strong> &#8211; I predicted a Conservative majority of <strong>72<\/strong> seats and Labour to have its worst election since 1935.\u00a0 <img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5645 alignright\" src=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/Election-Track-Record-general-elections-2019.png\" alt=\"\" width=\"282\" height=\"138\" \/>I expected the Lib Dems to make gains to aggressive tactical voting.\u00a0 <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-2019-1-my-official-forecast\/\" target=\"_blank\" rel=\"noopener\">Full details here<\/a>.<\/p>\n<p><strong>What was the outcome<\/strong> &#8211; The Conservatives won a majority of <strong>80<\/strong> seats and Labour had its worst election since 1935.\u00a0 The Lib Dems actually lost seats despite having more votes.<\/p>\n<p><strong>My review of lessons learned<\/strong> &#8211; This time I was spot on.\u00a0 More than that, <a href=\"https:\/\/x.com\/GavinFreeguard\/status\/1205499066341351425\" target=\"_blank\" rel=\"noopener\">I was the most accurate forecaster of all<\/a>, beating even Sir John Curtice&#8217;s exit poll.\u00a0 Unlike the previous 3 elections which saw major polling errors, <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-elections-4-how-accurate-are-the-polls-updated-with-ge19\/\" target=\"_blank\" rel=\"noopener\">2019 was the most accurate election for polls since 1955<\/a> which obviously helped me.\u00a0 <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-2019-2-my-forecast-beats-the-exit-poll\/\" target=\"_blank\" rel=\"noopener\">I wrote an initial review here<\/a> and was intending to follow up with a more in-depth review.\u00a0 However, COVID was on us before long and other matters took priority.<\/p>\n<h5><strong><span style=\"color: #993300;\">2024 general election (Success for CON &amp; LAB)<\/span><\/strong><\/h5>\n<p><strong>How I made my forecast<\/strong> &#8211; I decided on a top down approach for 2024, reverting to my 2010 approach in part and never made any seat level forecasts.\u00a0 Instead of predicting how many seats the Conservatives and Labour would win separately, this time I predicted the sum of seats won (<strong><span style=\"color: #0000ff;\">CON<\/span>+<span style=\"color: #ff0000;\">LAB<\/span><\/strong>) and the difference in seats won (<strong><span style=\"color: #0000ff;\">CON<\/span>&#8211;<span style=\"color: #ff0000;\">LAB<\/span><\/strong>) using the equivalent sum and difference in vote shares as measured by the polls.\u00a0 The sum and difference of <span style=\"color: #0000ff;\"><strong>CON<\/strong><\/span> and <span style=\"color: #ff0000;\"><strong>LAB<\/strong><\/span> creates two simultaneous equations which can be solved.\u00a0 A crucial insight I made a few weeks before the election was that <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-elections-how-accurate-are-opinion-polls-revised\/\" target=\"_blank\" rel=\"noopener\">on average polls do predict vote share<\/a> provided one measures vote share using average vote share per seat, not national vote share.\u00a0 <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-2024-forecasting-model-gb\/\" target=\"_blank\" rel=\"noopener\">Full details are here<\/a>.<\/p>\n<p><strong>What was my forecast<\/strong> &#8211; I predicted a Labour landslide with a majority of <strong>190<\/strong> seats and the Conservatives to have their worst election since the 19th century.\u00a0 I predicted substantial gains for the Lib Dems but below the heights they reached in 2005 and 2010.\u00a0 <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-2024-forecast-3\/\" target=\"_blank\" rel=\"noopener\">Full details here<\/a>.\u00a0 An initial probabilistic forecast at the start of 2024 <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/uk-general-election-2024-swing-and-turnout-forecast\/\" target=\"_blank\" rel=\"noopener\">can also be found here<\/a>.<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5753 alignright\" src=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/05\/Election-Track-Record-general-elections-2024.png\" alt=\"\" width=\"282\" height=\"138\" \/><\/p>\n<p><strong>What was the outcome<\/strong> &#8211; Labour won a majority of <strong>172<\/strong> seats and the Conservatives had their worst ever election since the 19th century.\u00a0 The Lib Dems won their highest number of seats since 1923 even though their vote share was barely changed from 2019.<\/p>\n<p><strong>My review of lessons learned<\/strong> &#8211; I asked to be judged on my forecast of the number of Conservative and Labour seats.\u00a0 On this alone, I had my second hit in a row with forecast errors in single figures.\u00a0 However, unlike 2019, I got lucky because the polls recorded their 3rd largest polling error (after 1992 &amp; 2017) which should have wrecked my forecast but a compensating model error meant I ended up getting it right.\u00a0 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.\u00a0 Full review is here (to be published at some point!).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5760\" src=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/05\/PollErrors3-GE24-avg-vote-share.png\" alt=\"\" width=\"613\" height=\"301\" srcset=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/05\/PollErrors3-GE24-avg-vote-share.png 613w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/05\/PollErrors3-GE24-avg-vote-share-300x147.png 300w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/05\/PollErrors3-GE24-avg-vote-share-450x221.png 450w\" sizes=\"auto, (max-width: 613px) 100vw, 613px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #008000;\"><strong>UK By-Elections<\/strong><\/span><\/h4>\n<p><strong>2017 Copeland<\/strong> &#8211; <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/by-election-forecast-1-copeland-cumbria\/\" target=\"_blank\" rel=\"noopener\">Method &amp; Forecast here<\/a>, <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/by-election-model-2-review-of-copeland-stoke-central-predictions-2\/\" target=\"_blank\" rel=\"noopener\">Review here<\/a>, I predicted the Conservative gain from Labour but there were some issues with the forecast.<\/p>\n<p><strong>2017 Stoke Central<\/strong> &#8211; <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/by-election-forecast-2-stoke-on-trent-central-staffordshire\/\" target=\"_blank\" rel=\"noopener\">Method &amp; Forecast here<\/a>, <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/by-election-model-2-review-of-copeland-stoke-central-predictions-2\/\" target=\"_blank\" rel=\"noopener\">Review here<\/a>, my prediction of a UKIP gain went awry.\u00a0 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.<\/p>\n<p><strong>2021 Batley &amp; Spen\/Chesham &amp; Amersham<\/strong> &#8211; <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/hartlepool-batley-and-spen-chesham-and-amersham-by-elections\/\" target=\"_blank\" rel=\"noopener\">Method &amp; Forecast here<\/a>, no review published but my forecasts (more strictly scenarios) were slightly out.<\/p>\n<p>&nbsp;<\/p>\n<h4><strong><span style=\"color: #008000;\">EU Elections<\/span><\/strong><\/h4>\n<p><strong>2019 EU Election<\/strong> &#8211; <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/eu-election-2019-1-how-many-meps-will-each-party-win\/\" target=\"_blank\" rel=\"noopener\">Method &amp; Forecast here<\/a>, <a href=\"https:\/\/x.com\/MarriottNigel\/status\/1132725381784580096\" target=\"_blank\" rel=\"noopener\">Review here<\/a>, overall I deemed this a successful forecast especially since it was for a different election system (Regional d&#8217;Hondt).<\/p>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #008000;\"><strong>Referendums<\/strong><\/span><\/h4>\n<p><strong>2014 Scottish Independence<\/strong> &#8211; 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 &#8220;<em>NO to win by less than 5 points and that won&#8217;t end the argument<\/em>&#8220;.\u00a0 In the event, No won by almost 10 points but it didn&#8217;t end the argument<\/p>\n<p><strong>2016 Brexit<\/strong> &#8211; Again I never wrote anything down other than this slide looking at the polls.\u00a0 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 <strong>52-48<\/strong> Remain win.\u00a0 During that discussion, I said my forecast was &#8220;<em>50:50 toss a coin.\u00a0 I think postal votes have swung in favour of Leave and it will be closer than the polls say.&#8221;<\/em><\/p>\n<p><em><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5647\" src=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/EU16-Poll-Tracker-by-Week.png\" alt=\"\" width=\"601\" height=\"388\" srcset=\"https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/EU16-Poll-Tracker-by-Week.png 760w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/EU16-Poll-Tracker-by-Week-300x194.png 300w, https:\/\/marriott-stats.com\/nigels-blog\/wp-content\/uploads\/2024\/06\/EU16-Poll-Tracker-by-Week-450x291.png 450w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/em><\/p>\n<p>Afterwards, I produced <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/brexit-why-leave-won\/\" target=\"_blank\" rel=\"noopener\">a 4 part YouTube series analysing the results here<\/a>.<\/p>\n<p><strong>2023 Australian Voice Referendum<\/strong> &#8211; <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/australia-voice-referendum-1-my-forecast\/\" target=\"_blank\" rel=\"noopener\">Method &amp; Forecast here<\/a>, <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/australia-voice-referendum-2-my-forecast-reviewed\/\" target=\"_blank\" rel=\"noopener\">Review here<\/a>.\u00a0 My forecast was only a few stuffed ballots away from being a hit!\u00a0 There was also an interesting lesson for forecasting the subsequent 2024 UK General Election which I didn&#8217;t have time to follow up on.<\/p>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #008000;\"><strong>UK Local Elections<\/strong><\/span><\/h4>\n<p><strong>2021 WECA Mayor<\/strong> &#8211; <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/weca-mayor-2021-election-forecast\/\" target=\"_blank\" rel=\"noopener\">Method &amp; Forecast here<\/a>, <a href=\"https:\/\/x.com\/MarriottNigel\/status\/1391113961244872717\">Review here<\/a>, my forecast was way out but it was interesting trying to predict outcomes under a different voting system (Supplementary Vote).<\/p>\n<p><strong>2024 Bristol City Council<\/strong> &#8211; <a href=\"https:\/\/www.bristolpost.co.uk\/news\/bristol-news\/greens-win-bristol-city-council-9258306\" target=\"_blank\" rel=\"noopener\">Method here<\/a>, <a href=\"https:\/\/x.com\/MarriottNigel\/status\/1785760302094528866\" target=\"_blank\" rel=\"noopener\">Forecast here<\/a>, <a href=\"https:\/\/x.com\/MarriottNigel\/status\/1786474901550891210\" target=\"_blank\" rel=\"noopener\">Review here<\/a>, overall this was a successful forecast.<\/p>\n<p><strong>2025 WECA Mayor<\/strong> &#8211; Method &amp; Forecasts were published in two parts; <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/weca-mayor-2025-election-forecast\/\" target=\"_blank\" rel=\"noopener\">part 1 here<\/a>, <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/weca-mayor-2025-election-forecast-2\/\" target=\"_blank\" rel=\"noopener\">part 2 here<\/a>.\u00a0 A review of <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/weca-mayor-2025-election-forecast-review\/\" target=\"_blank\" rel=\"noopener\">my forecast is here<\/a>.\u00a0 There will also be a review of all forecasts made by 3 pollsters &amp; another forecaster.<\/p>\n<p>&nbsp;<\/p>\n<h5><strong><span style=\"color: #993300;\">&#8212; Would you like to comment on this article? &#8212;-<\/span><\/strong><\/h5>\n<p>Please do leave your comments on this <span style=\"color: #008000;\"><strong>X\/Twitter<\/strong><\/span> or <span style=\"color: #008000;\"><strong>LinkedIn<\/strong><\/span> thread.<\/p>\n<h5><strong><span style=\"color: #993300;\">&#8212; Read some of my other blog posts on forecasting &amp; elections &#8212;<\/span><\/strong><\/h5>\n<p>Click here for a list of <a href=\"https:\/\/marriott-stats.com\/nigels-blog\/stats-training-materials-forecasting-risk-modelling\/\" target=\"_blank\" rel=\"noopener\">forecasting related posts sorted by theme<\/a>.<\/p>\n<p><a href=\"https:\/\/marriott-stats.com\/nigels-blog\/category\/elections\/\" target=\"_blank\" rel=\"noopener\">Click here for a complete list of all my posts<\/a> on elections sorted in reverse chronological order.<\/p>\n<h5><strong><span style=\"color: #993300;\">&#8212; Subscribe to my newsletter to receive more articles like this one! &#8212;-<\/span><\/strong><\/h5>\n<p>If you would like to receive notifications from me of news, articles and offers relating to Forecasting &amp; Elections, please <span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/marriott-stats.com\/nigels-blog\/subscribe-to-our-newsletter\/\" target=\"_blank\" rel=\"noopener\">click here to go to my Newsletter Subscription page<\/a><\/strong><\/span> and tick the Elections and\/or Forecasting category and other categories that may be of interest to you.\u00a0 You will be able to unsubscribe at anytime.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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.\u00a0 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!<\/p>\n","protected":false},"author":3,"featured_media":5753,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[2,6],"tags":[332,19,18,25,45,86],"class_list":{"0":"post-5638","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-elections","8":"category-forecasting","9":"tag-accuracy","10":"tag-elections","11":"tag-forecasting","12":"tag-forecasting-model","13":"tag-seat-forecast","14":"tag-track-record","15":"entry","16":"override"},"_links":{"self":[{"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/posts\/5638","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/comments?post=5638"}],"version-history":[{"count":14,"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/posts\/5638\/revisions"}],"predecessor-version":[{"id":6287,"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/posts\/5638\/revisions\/6287"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/media\/5753"}],"wp:attachment":[{"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/media?parent=5638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/categories?post=5638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marriott-stats.com\/nigels-blog\/wp-json\/wp\/v2\/tags?post=5638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}