Alright, for the dozen of people who care, here's my final projections for the 2023 Ontario Liberals' leadership race. The voting is happening this weekend and results will be unveiled on December 2nd.

As usual with leadership races, I make the assumption that fundraising data is the best data available. This has worked remarkably well on a few occasions. I pretty much nailed the CPC 2022 race, while I was alright but less close in 2020 (had O'Toole winning on my last update on Twitter) or 2017 (I had Bernier ultimately winning; Note: both 'errors' mostly were caused by Quebec with its really low number of members). I was also very successful in two PQ races in Quebec, in 2020 but particular in 2016 where polls all had Cloutier as favorite.

Leadership races are weird. We usually don't get good polls (except maybe for the CPC races where Mainstreet manages to get the membership list), rules are weird (points per riding, etc) and turnout is often low. So while I really like covering such races, keep in mind that projections are less accurate than for regular elections.

Alright, with this behind us, here are my projections for the OLP race.

Yes the intervals are large. I looked at my accuracy over 5 leadership races and it told me that while I was 4-5% off in average, the correct margins of error to represent the full uncertainty were around 10% (for a candidate at 50%, less for candidates that are lower). It's not an attempt by me to cover my ass, it simply represents the fact that leadership races are hard to call.

Bonnie Crombie is the favorite but the uncertainty is such that all four candidates have a path. Some paths are just narrower than others. In order of certainty, I'd say this:

1) Crombie will be first after the first round

2) Nate Erskine-Smith will finish 2nd after the first round and face Crombie in the final round

3) Crombie will win

I wouldn't put a lot of money down on my third call though.

The data

I have used is a mix of the fundraising from Elections Ontario as well as data from Google Trends. The last one might seem stupid but it has proven to work remarkably well in previous races. For the fundraising data, I did an average of the (unique) number of donors (both over the entire race as well as since September 1st) and the amounts collected. I give a much bigger weight to the number of donors as one vote is one vote, no matter if the person donated $200 or $1000. With that being said, higher amounts usually indicate support among older voters and their turnout is stronger, so I wanted to use this part of the data. If you want to know the details, I gave the number of donors a weight of 50% while the number of donors since September got 25% (the candidates could only sign new members until September 5th, thus the Sept. cutoff in my calculations; It's simply a way to measure the late momentum) and the total amounts collected got the last 25%. As for how I mixed Google Trends, I did a 75-25 average (75 on the fundraising). The weights are mostly 'vibes'. I don't believe the exact weights matter, I just want to mix all the data available. Again, leadership races are just harder to predict and my experience has been that mixing works best.

Important details: we only get the data for donations over $200. I suspect that Nate Erskine-Smith has more donations under $200 than Crombie as he's targeting young voters.

Google Trends is interesting as Bonnie Crombie has been crushing it there from the start and Nate has been surprisingly bad on this metric. Yes Google Trends is mostly a popularity contest but so are leadership races.

Crombie's lead, depending on the metric, goes from 30 points (Google Trends) to being tied (number of unique donors since September; She is actually 3 donors behind Nate! He definitely had the momentum at the end). She also has the lead when it comes to new members signed, although not all campaigns reported numbers (Crombie said 38,700, Naqvi said 31k and Shamji, before dropping and endorsing Crombie, said 12,063. I don't believe Hsu and Erskine have revealed numbers. The party has said there were 103k members total, so assuming Crombie, Naqvi and Shamji told the truth, Erskine and Hsu add up to 21k. This seems low for Erskine but there is likely a reason why he said he "wouldn't play the number game" and didn't reveal his numbers. You don't do that when your numbers are good. Just ask Jean Charest!

Finally, Crombie has been leading in the polls by huge margins, but it's among OLP voters, not members.

Second choices

Out of the 2516 donations, 207 were from people who donated more than once (including 93 people who donated to more than one campaign). Using donations by the same person to multiple campaigns, I got the following pairing table. It's based on so few observations that I don't feel confident using it to make projections past the first round.

I'll say one thing: I think the narrative online that Crombie has no down ballot support among the other three candidates is not consistent with the data. I wouldn't be surprised if this were a Twitter-isn't-real-life thing. I'm also very curious as to how effective the deal between Erskine and Naqvi will be. We remember how Kennedy delivered his delegates to Dion in 2007 but that was during a convention, very different. In a related manner, how much of the Shamji endorsement will be useful to Crombie? Hard to say.

The huge uncertainty (complete lack of info really) regarding second choices is really what is preventing me from making a more official call. I believe Crombie will be ahead after the first round (even though I'm not sure if it'll be by a lot or a little), I believe Nate will face her in the final round but I can't really tell how Hsu and Naqvi supporters will vote once their preferred candidate is eliminated. My intuition tells me that Crombie better have a strong lead after the first if she doesn't want to become the next Bernier or MacKay, but I suspect the lead required is less important than some on Twitter would like you to believe.

I haven't covered much of the Manitoba election except for a few tweets on Twitter before I got permanently suspended. Still, here are the final projections. Please keep in mind that I spent a LOT less time following this election and building the model than for other elections. I also know nothing of Manitoba and its politics. Finally, we got very few polls (although the trend is similar across polls and they seem to agree on the NDP being well ahead).

If you don't tryst the polls, just use the simulator here.

Final projections based (note: I'll update if we get more polls before midnight and if these polls significantly shift my projections):

I didn't build a probabilistic model so I don't have the exact chances for each party but given that I don't find a strong imbalance between popular vote and seats, a PC victory would require a significant polling error. Basically the PC needs to do 3 points better and the NDP 3 points worse. The odds of such an error are 10%.

Another way to look at it is to notice that the PC basically needs a clean sweep of the close races (within 5%) to win 28 seats (and even there, NDP+Lib would be above...). Such a scenario would, once again, require a systematic polling error in the favour of the PC. Could vote efficiency save Stefanson? Maybe but she needs to expect the Liberals to either split the vote more or switch to her. All in all, it's pretty clear the safe bet is on a NDP majority tomorrow. Any other result would be a pretty bug surprise.

The NDP dominates in Winnipeg while the PC rules the rest of the province. However, the NDP is closer in the rest (10 points behind) than the PC is in Winnipeg (20 points behind). Northern Manitoba is also a huge source of rural seats for the NDP.

Ultimately, and keep in mind that I don't follow that much, but it seems to me that Stefanson failed to do what Danielle Smith did in Alberta: win the campaign (and the debate). The PC campaign hasn't been as good as the Smith's one and Stefanson didn't win the debate (Smith absolutely crushed it). To Stafanson's credit, it seems Manitoba doesn't have a Calgary, that is a conservative leaning city. We have seen at the federal level (both elections and polls) that Manitoba is shifting left and this is mostly driven by Winnipeg.

Manitoba follows Alberta in one way though: the left now seems united. The Green party has essentially disappeared and the Liberals will likely finish below 10%. It's impressive to see how the modern Left in Canada is willing to unite despite disagreements. Well in Manitoba, Alberta and BC, not in Ontario...

Here are the maps as well as the detailed projections by ridings.


While it looked like this Alberta could become a really close one, the reality after a full campaign is that there is a clear favorite: Danielle Smith and the UCP. Her chances aren't 100% but they are high enough for me to make a confident call. If you feel my polling average is wrong, just use your own numbers in the simulator. Also follow me on Twitter for more updates and data.

The NDP does have a chance but it's a very narrow path to 44 seats. Basically they would need to sweep all the projected close races in Calgary. That either requires an incredible vote efficiency and/or an underestimation by the polls. Given Alberta, the latter is quite unlikely. It's not impossible though and some polls (the ThinkHQ one for Calgary or the Mainstreet riding polls in the same city) have shown situations where the NDP was at +6 to +11 in the city and that could be enough to win 44+ seats. Forum released a poll late tonight and they had the NDP +2 in the CMA. That would likely mean +6-7 in the city. Their seat projections? 45 UCP, 42 NDP. My model is the same, if I modify the numbers to boost the NDP by 2 points in the Calgary CMA and decrease the UCP by 2, I get 44-43.

The math here shows two things. First, the regional polling average is such that the UCP is still leading in the Calgary region. And that means a UCP government. The NDP cannot win the election without winning in Calgary overall. Secondly, even if the polls are off by 4 points in total, I still think the UCP wins! So again, a surprise is possible but is far from likely. Especially since polls in Alberta have had a strong tendency to underestimate the Conservatives (5 points in 2019 and 2021; almost as much in 2015).

The real uncertainty is more about the size of the UCP majority. There are so many close races in Calgary, all with their own variables (candidates, demographics, etc) that it's not really possible to be sure what will happen. The difference between being right or wrong in your projections could very well come down to luck. I'd say that any result between 45-52 for the UCP would not surprise me. The confidence intervals you see below are at 95% confidence. If I were to reduce to 50% confidence, you indeed get 45-52. It only takes a few points in Calgary for the projections and the map to look very different. But it takes quite a polling miss for a NDP win.

This campaign didn't turn out to be a very interesting one in my opinion. The NDP failed to make a case as to why people should fire Smith beyond a few scandals here and there. They never successfully made the case Albertans would be better off under a NDP government. There was a time in the middle of the campaign where things looked to go the NDP way but it didn't last very long. Smith winning the debate also helped a lot, especially since Google Trends seem to indicate people paid the most attention during that time.

One odd thing with polls has been their tendency to see the NDP doing relatively well in the rest of Alberta (sometimes as high as 40%!; they got 21% in 2019) while the UCP is showing good numbers in Edmonton. My projections have Lesser Slave Lake close but I don't believe my projections (but hey, that's what the model says) and the NDP winning Lethbridge East. The UCP is holding strong in the Edmonton ring/donut and I know some UCP members are convinced they'll actually win seats in Edmonton. I doubt it but look at the South of the city if you are looking for a surprise.

Ultimately it comes down to Calgary and, as mentioned before, the polls are simply not showing the lead the NDP needs. Polls have been all over the place there but that would be consistent with the UCP and NDP being close to each other. I have worked a lot harder on Calgary. I looked at the areas that went left between 2019 and 2021 (federal level). I have made adjustments based on quadrants from the few polls we got. Still, as I mentioned previously, it's hard to be super confident on any close races.

So anyway, here are the projections. Thank you for following me (mostly on Twitter these days) and I hope you enjoyed the coverage of this election. It sure was more interesting than the Ontario and Quebec ones!

The map

Interactive version here.

Detailed projections:

Whenever I give an interview and am asked about my model, I always say the same thing: the most important variable to get right is the popular vote. If you nail the percentages for each party in a province, you are 90% there. People always believe most of my work is from building the model. It's not wrong in that it is where I spend most of my time, but it isn't the most important part. Put it another way: a simple model with the right percentages as inputs will do better than a 'sophisticated' model with demographics and what not but the incorrect percentages.

Why am I talking about this? Because for this Alberta election, the percentages you get depend on how you look at the polls. Let me explain. First of all, it is well known that polls in Alberta tend to underestimate the Conservatives. It was the case in 2019 (see below) and even in 2015 (even though nobody really noticed). It was also the case at the federal level in 2021 (more than 5 points underestimation for the Tories). Part of it is likely caused by turnout where older voters vote more. To deal with this issue, I already allocated a majority of undecided voters to the UCP. In this election, I allocate 60% to the UCP and 40% to the NDP. This alone makes the UCP's lead, province-wide, move from +1.8 to +2.9.

Performance of polls in Alberta in 2019

But there is something weirder this time. Polls, in general, are not internally consistent. When you take the raw polling average of the province-wide numbers, you currently get 47.3% vs 45.5%. But if you instead take the average by regions (Calgary, Edmonton and the rest) and you then average those 3 numbers (with the correct weights to reflect the number of voters in each region), you get 49.4% vs 43.4% (that is without adjusting the undecided, just the raw average of the numbers by regions as given by the pollsters).

It doesn't make sense and something must be off with the weights of some pollsters. The more ridiculous example of this is the most recent poll by Research Co. They have the UCP winning the rest of Alberta 63-31, losing Edmonton 35-61 (so it basically cancels out but the UCP still should have an edge) and then the UCP wins Calgary 52-44. Surely the UCP should be ahead province-wide, right? Average 52, 35 and 63 and that's higher than 44, 31 and 61, right? Nope! Research Co has the NDP winning the province 49-47! It makes no mathematical sense. It just can't be. Research Co is an extreme example but we have the same issue overall it seems.

So I'm now left with a decision: do I use the province-wide numbers as main inputs like I usually like (more accurate). After adjusting for the undecided and the lack of candidates for some parties, that would give me 49-46. Or I use the average of the 3 regions and that gives me (after adjustments), 51-44. (Note: no matter which province-wide numbers I use as input, I still make further adjustments to match the regional numbers; Right now it means increasing the NDP in Calgary as they seem up more than in the rest of the province).

You might think that 49-46 vs 51-44 isn't a big deal. Wrong! That's the difference between 43-44 projections and 50-37! It's really all because of Calgary, a few points can shift 5-6 seats. Since the riding polls are more consistent with the 51-44 scenario, I decided to use do an average and use 50-45 as my input. But yes, it does mean I'm quite far from a raw polling average. But at least I explain my reasoning and steps.

So, with the new numbers, here are the projections. They changed a lot from my recent ones on Twitter and I usually don't like this. But the permanent internal inconsistencies have convinced me I needed to do something. I might be wrong and the popular vote will be much closer. But that's a risk I'm willing to take.

The NDP still has a chance but it'll require the 'Mainstreet scenario' of winning Calgary by like 6-8 points. Other pollsters don't have such a lead. Ultimately 22% chances of winning align well with my subjective reading of the race. I think the NDP has better chances in Calgary Bow (strong candidate) and maybe in Elbow. Then add Lethbridge East and Morinville-St. Albert and that's 41. But right now, it's hard for me to see the NDP go over 41-42 seats unless polls were quite off in Calgary.

After a difficult week for Danielle Smith (multiple controversies and scandals), the recent polls have started to show a shift towards the NDP. The Abacus poll yesterday had the NDP ahead by 11 (!) province-wide while the (for subscribers only) Mainstreet numbers have the UCP ahead overall but trailing significantly in Calgary.

I still have other, older polls in my average (Leger, ThinkHQ, etc) but my projections now show a race that is literally too close to call. Now, let's be clear, polls in Alberta have had a strong tendency to underestimate the PC/UCP, so it's possible Smith is still favored. But I technically do partially account for this by allocating more undecided to the UCP.

I'd like to address the weird result where the NDP is ahead in the seat count but has lower chances of winning. This isn't a mistake. This is because the NDP is currently projected to win 6 out of 8 close races in Calgary. When I run simulations, I have some with the NDP beating its poll numbers while other simulations will have this party below. What is happening here is that if we look at what would happen if the NDP did better than the polls, it doesn't change much. The NDP is already winning basically everything it can. But if the we look at scenarios where the UCP beats the polls, then the UCP swings back to 48-49 seats. So overall, if we account for the uncertainty that exists, the UCP is still slightly favored.

The map

Interactive version here.

These days, I post a lot more on Twitter than on my site, so follow me there for more updates. Still, it's good to have posts on the site with updates throughout the election. So here's a quick post as a starting point for the 2023 Alberta election.

The polls have been better for the UCP over the last few months (after Kenney left and Danielle Smith took over) but it remains a dead heat for the popular vote. With that said, let's remember that polls have a strong tendency to underestimate the PC/UCP and overestimate the NDP in Alberta. In 2019, the polls were actually quite off, especially in the rest of Alberta. I do a simple average of the polls (no fancy weights based on the so-called reliability of the polling firm of whether the sample is a little bit bigger; It's all a waste of time as I have systematically got a better polling average than sites who use such fancy techniques) but I don't allocate undecided proportionally. I have talked extensively about this, but long story short, polls tend to underestimate incumbents and large parties. So, right now, I'm giving 60% of undecided to the UCP and 40% to the NDP. I might change that during the campaign but it makes the most sense to me right now.

As for the model, I use a simple uniform swing because it works great. I do make adjustments per region to account for within-province realignments. Right now, the provincial swing slightly underestimates the NDP in Calgary but overestimates it in Edmonton. You can always make your own adjustments in the simulator. One 'fancy' technique I'm using is I used the 2019 to 2021 swing at the federal level and I identified 7 ridings where the LPC+NDP swing was much higher (and the CPC decreased more). They are Calgary Cross, East, Falconridge, Foothills, McCall, North and North-East. I assume that this means these ridings are turning more progressive and I therefore adjust the NDP more. Yes provincial and federal politics aren't the same but the ridings identified here makes sense.

Anyway, here are the projections with the map and the riding by riding projections. It's close in the sense that a typical poling error could result in a NDP victory, but the UCP is clearly favored. See it this way, for the NDP to win, it needs to basically win 19 in Calgary (versus only 3 in 2019...). It could win 17 or 18 and make 1-2 extra gains in the Edmonton donuts (or win Lesser Slave Lake in the rest of Alberta). It's a path but it's a narrow one with basically no mistake allowed. I personally think that unless the NDP starts polling clearly ahead in Calgary (and it isn't right now), the UCP will prevail. But the simple fact that the UNITED Conservatives have 'only' a 72% chance of winning is pretty crazy.

Interactive version here:

Riding by riding can be found here or click on the picture below.