
The Calgary-Shaw by-election was supposed to be a sleepy race and an easy win for the United Conservative Party but it ended up being a nail-biter with a surprise NDP win.
The Alberta NDP’s Kyle Campbell did what many political watchers believed would never happen by beating UCP candidate Mike Derry to win the by-election in the south Calgary riding that was a UCP stronghold under former cabinet minister Rebecca Schulz.
Campbell is an employee benefits professional and former Somerset residents’ association president who made health care, affordability, and opposition to Alberta’s separation from Canada a key part of his campaign’s message in the by-election.
This is the first time the UCP has lost a by-election in a seat it won in the previous election and the first time the NDP has won a by-election in a government-held riding since Garth Turcott won in Pincher Creek-Crowsnest in 1966.
Calgary-Shaw by-election results
Kyle Campbell, NDP: 7,461 votes (46.6%)
Mike Derry, UCP: 6,879 votes (43%)
Kyle Joseph, Progressive Tory: 978 votes (6.1%)
John Roggeveen, Liberal: 602 votes (3.8%)
Rolly Ashdown, Independent: 82 votes (0.5%)
Here are my quick thoughts about the by-election results and what they might mean:
It is impossible not to interpret the Calgary-Shaw by-election results as a backlash by Calgary voters against Premier Danielle Smith’s Alberta separation referendum. The NDP focused a big part of their campaign targeting Derry’s connections to prominent separatist organizers inside the UCP. But even if voters didn’t buy the Derry separatist connections argument, Smith’s lethargic support for Alberta staying in Canada has rubbed Calgary voters the wrong way. Smith’s enthusiastic tolerance of the separatists in her party has now become an electoral liability that should concern Calgary’s UCP MLAs about their own political futures.
NDP leader Naheed Nenshi has delivered on his pitch to increase the NDP’s support in Calgary. The former three-term Calgary mayor had been the target of internal grumbling by longtime party members unhappy with his sometimes sluggish leadership style, but this by-election win in a former UCP stronghold should quiet critics who thought losing this vote could spell his end. Nenshi’s NDP has juice in Calgary.
The UCP seriously underperformed in this by-election. Schulz won the riding with a 40 point margin of victory in 2019 and a 13.9 point margin of victory in 2023. Numerous campaign visits by Smith, a handful of cabinet ministers, and local conservative luminaries like Cynthia Moore and Jeff Davison signalled the UCP was pouring the party’s Calgary organization into this by-election. It might be that the divisive nomination contest that saw Derry defeat City Councillor and Schulz-loyalist Dan McLean might have sucked some wind out of the party’s local organization.
Peter Guthrie’s Progressive Tory Party didn’t come anywhere close to winning in Calgary-Shaw but candidate Kyle Joseph earned nearly a thousand votes in his pitch to conservative voters disenchanted with Smith’s UCP but not willing to vote for Nenshi’s NDP. The UCP recognized this threat and Derry campaign manager Craig Chandler was spotted placing anti-vote split lawn signs near Joseph’s signs on public spaces in the riding.
Sometimes by-elections can be a sign of things to come, sometimes they can be a flash in the pan, and sometimes it’s too soon to tell.
It’s getting late so this is all for now. I will have more to write in the next few days.




I went door knocking a couple of times for Kyle, and he's a great candidate and will be a great MLA. Both the NDP and the UCP threw a lot of resources into this race, which won't happen in the general election. Kudos to Kyle!
I agree with your analysis, much of what people were telling us at the doors was the separatist pandering was a huge problem for the UCP.
I did want to say something about the vote splitting. I have to roll my eyes a little when Mr Chandler gets on the "no vote splitting" train. The biggest contribution to vote splitting is running candidates on the further right part of the political spectrum. It's great to try and shame soft right voters to not vote split, but that's the position you put these voters in. Sometimes it does work for them, but often it doesn't.
Last point, you can see now why the UCP is gerrymandering ridings, even in the south of Calgary. Voter profiles in these suburbs is changing, so there are more ridings that would be in play.
Actual last point.....I think momentum plays a big role. One thing you hear a lot at the doors in South Calgary is that people might vote NDP, but dont want a lawn sign, because they are worried about conflict with their neighbours. But once NDP signs start popping up, people realize there are a lot more people who are also supportive.
Okay I’ll be honest…I kinda had my doubts about this one, maybe it’s just the pessimism talking but I was sure it was gonna be a narrow conservative win but then again my political predictions have always been garbage so I’m happy to be proven wrong in this case