A few things you didn’t know about the 2019 Canadian Election

Gareth MacLeod
6 min readDec 17, 2019

I spent a few hours last week working with the riding-by-riding data from the last Canadian election. I found lots I could write about. In fact, for a relatively small dataset (essentially 338 rows of 5 numbers each), it seemed like almost every angle I took on this data told me something I hadn’t known before. Sometimes this was putting a surprising number to well-known phenomenon (like Conservative dominance in Alberta), but other times it was an entirely new fact I hadn’t guessed. I’ve laid out just a few simple results below.

About half the effort of this was first finding the right data in the maze of Elections Canada’s website, and then converting it to a format that was simple to use. I have no idea why they had to make it so difficult, so I’ve left the data in this github repo along with all the code used to generate these results and visualizations in this post.

Half this election was the Bloc Quebecois

This election wasn’t very active in terms of seat handovers. Only 20% of seats (64) changed hands. Of the handovers that took place, nearly half of them were in Quebec, and a third were Bloc victories.

The NDP’s problems run deeper than Quebec

The NDP had a disastrous 2019, losing almost half of their seats. The reasons for this are probably very complicated. With this data alone we can’t get too deep into the “why” of this, but we can find more detail about the what.

An obvious theory to this is that it is simply Quebec. A resurgent Bloc has been retaking seats they held pre-2011, at the expense of the NDP and Liberals. But is this the whole story? Let’s look at which parties the NDP lost seats to, categorized by province.

It’s clear that the NDP’s losses in Quebec were massive. They were reduced from 15 seats to just 1. This wasn’t just at the hands of the Bloc however. 4 seats flipped NDP to Liberal in the province as well.

Outside of Quebec the picture isn’t any better. They lost badly in BC, Ontario, and Saskatchewan. These defeats represented almost 40% of the total seat losses, and interestingly, they were mostly at the hand of the Conservatives.

To me, this paints a picture of a party with deeper issues than a single region or macro-cause. There are lots of theories floating around about why this is but it’s unlikely we’d be able to come to a satisfying answer with just this dataset. Suffice is to say the NDP has some work to do.

A Unified Green-NDP Party might have done better, but it’s not clear

One idea I heard a lot this campaign was that the Green Party and NDP would do better if they merged. That would allow them to win more seats in ridings where the progressive vote was split, and they could focus more of their energy on challenging the larger parties rather than each other.

We can test this idea in a simple way by just assigning the sum of the NDP and Greens’ vote share to a fictional third party and re-calculating the results for reach riding. I’ve called this party the “Green Democratic Party”. Here are the results:

For the purposes of this graphic I’ve labelled both NDP and Green seats in the actual 43rd house as ‘GDP’.

This result is better, but not better enough. The unified party wins 8 more seats, mostly at the expense of the Liberals, but this doesn’t meaningfully change the distribution of power in government. With 35 seats the GDP doesn’t have the numbers to force the Liberals or Conservatives into a coalition, and the Liberals can still look to the Bloc to support them in a minority government.

Let’s add one more assumption into the mix. It’s plausible that a unified-left party would look like “a better horse to back” than either the Greens or NDP separately. This in turn could woo some strategic voters away from the Liberals. So let’s recalculate the results one more time with the assumption that any riding they lost by less than a 5% swing becomes a win.

This is more like it, the GDP now controls 64 seats, having grabbed a big chunk from the Liberals. They now control the balance of power, and can choose to work with either the Liberals or the Conservatives to form a coalition.

This seems like a tantalizing result. A progressive balance of power could do a lot of good in the country. But it’s dangerous to draw too many conclusions without a deeper analysis.

Conservative control of the Prairies is even deeper than you think

I wondered if there was any pattern to ridings where one party is extremely dominant (60% or better vote share), but I wasn’t prepared for the starkness of the result.

The 35 most dominated ridings in the country are all conservative, and all in the prairies. The CPC won many of these ridings with vote-shares above 80%.

It’s well-known that the Alberta is a conservative stronghold, but the magnitude of these wins was still surprising to me. As well, the party’s strength in Saskatchewan and Manitoba is under-reported.

I suspect this effect is responsible for the gap between the Conservative’s popular vote win and seat-count loss. The concentration of conservative voters in these ridings is hurting the party’s results nationally.

Bonus: Seat Change Heatmap

I thought it might be clever to categorize all the seat handovers by their transition, e.g. all the seats that changed LPC -> CPC, all the changes LPC -> Bloc, and so on, and then plot the whole thing as a heatmap.

I don’t think this tells us anything new I haven’t already mentioned, but it acts well as a single visual summary for how power shifted in the House of Commons. You can see the NDP heavy loss column, the Bloc’s heavy win column, and the CPC/LPC battle is very prominent.

Do you have other ideas about interesting ways to look at these results? I’d love to hear them in a comment or message. There’s lots to improve upon here, I haven’t used any of the neighbourhood-level data that Elections Canada provides: and I’m sure there are interesting things to find if we look at the pre-election polling too. Alternatively, you could download the results yourself and find your own insights.

Thanks for reading!