Trying to predict the BC election with Twitter

Polls have started showing the BC Liberals ahead but we'll have to wait until Monday and the final set of numbers to make a definitive call. In the meantime, let's try to predict this election using other indicators.

I already did Google Trends before and I have an update later today. Let's try Twitter for now.

I went and collected the number of followers of every candidate (well of the main three parties) in the 87 ridings. The idea being that this could potentially serve as a closer indicator of the strength of the respective campaigns than using province-wide polling numbers. Doing so, I noticed a few things:

- There are quite a lot of candidates who don't really have a social media presence or campaign. This is especially the case outside of the Lower Mainland. I was surprised, for instance, to see many NDP candidates without an official Twitter account (when you click on the twitter logo on the page, it redirects you to the NDP's official twitter). You'd think that in 2017 every candidate would have some sort of social media campaign.

- In some situations, especially outside the Lower Mainland, some candidates were clearly focusing more on Facebook than Twitter. So in these situations, I used the number of "like" on their page instead.

- You can use most of the non-existing campaigns to get an idea of which seat each party isn't even challenging for. There are exceptions but overall, the pattern is there.

- I feel like the Twitter approach is most likely better suited to get an insight on the races in the Lower Mainland.

- Incumbents have a huge lead over newcomers. This isn't surprising but the extend of the difference was, at least to me.


Because of the last point, we can't simply compare the number of Twitter followers directly. If you did, you'd mostly get that every seat will be won by the incumbent. Specifically, you'd get the following results if you simply predict whoever has the most followers to win:

BC Liberals: 50
BC NDP: 29
BC Green: 8

I'm sure some of you want to know where are the 8 Green seats. Here is the list:

Cowichan-Valley
Maple Ridge - Pitt Meadows
Oak Bay - Gordon Head
Richmond South Centre
Saanich North and the Islands
Vancouver False creek
Vancouver Langara

Ok so Cowichan Valley, Saanich and OBGH can all make sense. Maple Ridge and Richmond? I don't think there is a snowball chance in hell of the Green winning there.

The real issue with the exercise here is the advantage of the incumbent. Some might argue that this edge actually exists but I disagree. Just think about it: if the BC Liberals were last in the polls at 20%, using the raw number of followers would still project a ton of seats to go Liberals. Simply because these followers existed before and most likely didn't unfollow. We need to find a way to correct for this problem.

So here is what I did:

1. Calculate the average number of followers by region (Lower Mainland, Vancouver Island and Rest of BC) for incumbents and non-incumbents.

2. Calculate the average ratio of followers for incumbents to non-incumbents, in each region. If you are curious, in the Lower Mainland, a typical incumbent would have 3500 followers while a challenger would be at 500, that's a ratio of 6.9. The ratio is 4.9 on the Island and 4.3 in the Interior (Note: I excluded Christy Clark from the average because her 93k followers were just skewing the average; Clark is a super star and very different from anybody else in BC politics).

3. For each incumbent, divide their number of followers by the ratio of the region. Again, this is done in order to scale the numbers to be able to compare them.

4. Look who has the highest number of followers in a riding and declare this person the winner.

Doing so gave me the following results:

BC Liberals: 42 seats
BC NDP: 28 seats
BC Green: 17

Compared to my most recent projections, the call is different in 41 ridings! Here are some examples.

Abbotsford South. Projections have the Liberals Darryl Plecas with a 100% chance of winning. But he only has 2475 followers. For an incumbent in the Lower Mainland, that isn't very impressive. Plus he's facing a Green candidate, Aird Flavelle, who had 1012 followers when I collected the data. Once we remove the advantage of being the incumbent, we'd actually have the Green candidate ahead.

Another example is Burnaby Loogheed where former morning news anchor at Global, Steve Darling, is running for the Liberals. With 21k followers, he has the second highest total in BC behind Christy Clark. And he's well ahead of anybody else running there (there isn't an incumbent). Yet the projections have the seat leaning NDP (and yes, the model does take into account the loss of the incumbent for the NDP).

So, does it work? Quick answer: not really. Or at least I haven't found a way to really use the data. Because it doesn't make sense for 41 seats out of 87 to be projected differently (even in a bad night my model won't make that many mistakes). And there is just no way the Green party will win 17 seats with around 20% of the vote (of course, maybe the Twitter numbers are telling us the polls are wrong but they'd have to be really dead wrong).

Are the Twitter followers completely useless? No, I don't think so. First of all, going over one by one, it allowed me to identify some strong candidates in some key ridings. Steve Darling has the profile of a star candidate, so does Barb Desjardin in Esquimalt-Metchosin (three terms mayor). So is Jenny Sims in Surrey Panorama. There are some cases where it's obvious the Twitter followers are indicative of something. The problem is that there are many cases where it most likely doesn't provide any indication at all.

As a last try, what about looking only at the ridings without an incumbent? For instance the new ridings or the ones where the incumbent retired. here is the list:

Burnaby Lougheed: As mentioned, projections have NDP, Twitter has Liberals

Columbia River - Revelstoke: leaning NDP for both

Courtenay - Comox: leaning Liberals in both

Cowichan - Valley: Green in both

Delta South: Liberals in both

Esquimalt - Metchosin: NDP in the projections, Liberals for Twitter

Kamloops - North Thompson: Liberals

Kootenay East: Liberals in both

Peace River North: Liberals in both (Note: also, Twitter shows us that the independent candidate will likely do a good score)

Richmond - Queensborough: Liberals in both (but all three candidates have a relatively high number of Twitter followers)

Skeena: NDP according to projections, leaning Liberals in followers

Surrey - Green Timbers: Liberals in followers, NDP in proj.

Surrey - White Rock: Dead heat in followers, easily Liberals in projections

Vancouver - Langara: Leaning Liberals in projections (with NDP close behind), heavily Green based on followers


So that's 14 ridings. With 4-5 (depending on how you look at Surrey-White Rock) with a different prediction. Interesting that a lot of the discrepancies are in Surrey, where advance voting seems to indicate a rise in turnout. I guess we'll have to keep an eye on Surrey this Tuesday.

I also think that the Twitter followers might indicate a tough path for the Green in their conquest of more than 3 seats. While it confirms that they are in the race in Cowichan-Valley and that Saanich and the Islands seems to have a really popular Green candidate -so the two seats we are already projecting to go Green - it also shows them way behind in Esquimalt-Metchosin, Saanich South or in the two Victoria ridings. So at this point, I don't have any compelling reason to boost the Green candidates in those ridings. Sure this party might win these seats on Tuesday, but I can't start simply making up boosts without any valid reason.