I’ll start out by saying that I find politics to be a sort of ridiculous game.
As voters, we are typically stuck choosing between the lesser of evils, while politicians spend the weeks leading up to an election acting like children, mudslinging, and hurling petty insults at one another.
Anyway – while I don’t love politics (or politicians) much, the current 2024 provincial election in BC is shaping up to be a doozy.
Coles Notes
In case you’ve missed the news that’s seemingly everywhere at the moment, the BC Conservative party has mounted quite an incredible feat.
Just a few years ago, the BC Conservatives were basically on nobody’s radar. They typically polled well below the BC Greens.
Fast forward to today however, they are now the only legitimate challenge to the incumbent BC NDP party in this upcoming election.
How they did that is a long story, but the short version is the BC Liberals rebranded to “BC United”, which didn’t work out for them very well.
They basically imploded and the BC Conservatives (apparently) picked up most of the BC United party’s voters.
Model Setup
I’ve been watching the polls lately, mostly because this swing is so wild it will go down in the history books no matter how the election pans out.
Something I’ve noticed is that there’s all kinds of pollsters with “projections”, and it seems each one employs some kind of slightly different secret sauce to their modeling.
So I figured, “what the hay?!” – I’ll build my own (simple) model and see how it does.
Here’s the basic idea behind my model setup:
- Grab previous election results.
- Tally up the popular vote in the previous election, and use recent polling data of the popular vote to estimate the split in the upcoming election.
- Calculate the shift in the popular vote among parties between the previous election and the current one (using the polls).
- Uniformly apply this shift to the previous election results to project the winner by Electoral District.
- Roll those results up to project the seat count for each party.
That’s pretty much it.
There’s a few semi-complicated details relating to the problem of dealing with the implosion (non-existence) of BC United in the model (which presumably also affects other pollsters), but it’s really just that simple.
It’s an incredibly naïve model.
The Verdict
At the time of writing, the latest polls seem to have the popular vote split across the main parties like so:
Political Party | Share of Popular Vote |
---|---|
BC NDP | 42% |
BC Conservatives | 44% |
BC Greens | 9% |
Using these polling numbers, and plugging them into my model, here’s what the seat projection looks like right now:
I’ll maybe update this as we get closer to election day to see what it spits out, and will maybe do a follow up post to see how my model performed vis-a-vis “professional” pollsters.
Go Ham
For those interested in fiddling with the model themselves, or adapting it to suit a different election, the model can be found at the following github repo.