Mapping the results of the 2025 Canadian Federal Election

Yes, it’s finally here. I’ve generated the maps for the 2025 federal election wherein Mark Carney’s Liberal Party elected enough MPs to form a minority Parliament defeating Pierre Poilievre’s Conservatives in a stunning upset that was precipitated by Trump tariffs and the sudden departure of Justin Trudeau from Liberal leadership and the Prime Minister’s Office.

This resource has the national, riding, and polling-level results and is highly interactive and educational. Wow!

Canada: economically depressed but elbows up
2025 Canadian General election results – National map

It’s no small task assembling spreadsheet data for 343 ridings and tens of thousands of polling divisions from Elections Canada with GIS data from Natural Resources Canada. Over the years, I’ve written quite a few NodeJS scripts and assembled quite a database which has survived the move between computers, cities, and cloud companies.

Enter the new era of AI.

Adapting old scripts to new data (and new ridings) was made into a task of hours instead of days in order to produce our maps. So please be my guest! Take a look at the vector maps that defined the 2025 Canadian federal election. Zoom in to a riding map to reveal poll-by-poll resolution to find out how your neighbours voted, or appreciate the gradients of partisan support that exist across economically diverse electoral districts.

My blog’s been a bit sleepy for a few years now and every once and a while I check in on what people are searching in order to arrive at stephentaylor.ca. The maps have certainly taken over long-tail search. There are 343 ridings now, after all.

Let’s take a closer look.

Mark Carney formed government winning 169 seats, falling just short of a majority government. He contested and won the riding of Nepean.

Nepean - 2025 Candian General Election
Nepean election results – 2025 Candian General Election

Next door in Carleton, Pierre Poilievre suffered a loss of his own riding that he had held for over 20 years.

Carelton results - 2025 Canadian General Election
Carelton election results – 2025 Canadian General Election

Though managing to increase the Conservative seat total in the 2025 Canadian general election to 144 seats, this long was particularly painful on election night. Poilievre would later go on and contest Battle-River–Crowfoot after the Conservative victor on election night, Damien Kurek, stepped aside for the party boss.

Battle River—Crowfoot results - 2025 Canadian General Election
Battle River—Crowfoot election results – 2025 Canadian General Election

Poilievre wasn’t the only federal leader to lose their seat on election night. NDP leader Jagmeet Singh led his party to its worse result since the party’s founding in 1961.

Until I took a closer look when writing this post, I hadn’t realized he’d lost every poll in his riding of Burnaby Central except for one.

Burnaby Central results - 2025 Canadian General Election
Burnaby Central election results – 2025 Canadian General Election

Justin Trudeau was a deeply unpopular leader who was propped up by Singh’s party who feared a profound election defeat. It turned out that when Trudeau left, Singh was left representing the era he helped defined – and Canadians punished the NDP. Historians will note that Singh didn’t just lose votes to the Liberals but a large chunk of his coalition voted Conservative in 2025. Indeed, parts of Windsor – like Windsor West – went blue for the first time.

Windsor West results - 2025 Candian General Election
Windsor West election results – 2025 Candian General Election

Conservatives predict that we’ll be into an election again soon enough. Carney will want to take advantage of a Conservative Party that is doing some soul-searching and feet-finding while the Trump uncertainty still exists over tariffs and the broader economy. Carney also sees himself as the international deal-maker. Those deals have yet to come to fruition but setting his travel schedule according to the Parliamentary and his government’s razor thin advantage there is going to get old soon for him if it hasn’t already.

Ottawa West-Nepean fight gets heated

A couple of days ago, I attended the all-candidates debate at the Nepean Sportsplex where incumbent John Baird faced former Liberal minister David Pratt, Marlene Rivier from the NDP and Green party candidate Frances Coates. Despite their politics, I was quite impressed by the debating ability of Rivier and Coates. Pratt came off as a bit of a curmudgeon as he took almost opportunity to attack Stephen Harper and John Baird. It’s understandable from his perspective as he hopes to be the giant killer, but in a campaign many have labeled as negative, Pratt just fueled people’s perceptions of the same.

I’m not convinced that too many undecided voters attend all-candidates meetings. In fact, I’m certain that there were only a handful there. The theatrical display in that hall a few nights ago was put on in front of political partisans who tried to out-cheer or out-boo the other side’s cheerers and booers. A long train of people rushed to the microphone when it was time for questions from the audience; there was no chance that everyone would be heard as this section was alloted approximately one hour and each question would take the panel about four minutes to answer. Predictably, the moderator kept to time and a shorter but still extensive line of people behind the lucky last person to ask a question seemed disappointed and returned to their seats. After the panel had answered the last question, a woman grabbed the microphone and realizing she wouldn’t be recognized by the moderator, started yelling in the mic at John Baird which was followed by a shower of boos from the audience towards the woman that disrespected Baird but more importantly the room which patiently respected the process. She kept yelling and was largely inaudible with the surrounding boos and cameramen present rushed to capture a story in progress. The timekeeper, sitting next to the microphone grabbed the mic and pulled the micstand down. Then the woman tried wrestling the microphone away from the timekeeper bending down to shout into the mic now clasped in his hands. Flustered, she turned around and turned around and quickly paced to the door leaving the room.

Outside, a reporter wanted to get her story. Apparently, she was upset about the Conservative government’s record on science, technology and innovation. The reporter asked for her name to which she replied “Christine”. “And your last name?”, the reporter asked. After hesitation she responded “Pratt”. “Is that a coincidence,” asked the reporter.

“No, I’m his sister”


Pratt’s sister yells at John Baird


She tried to wrestle the microphone from the man who holds the stopwatch and the yellow and red cards to indicate time to the candidates.

Here’s the perspective of another blogger that was there,

I attended my riding all candidates debate last night. Stupid politics. It made the news this morning to. I am now more mixed up than ever. David Pratt did not handle himself at all well. He did nothing but attack Baird and the conservatives (ok….to an extent, rightly so, but there is a time and place, and a way to balance it), and spent very little time on talking about what he would do, even when asked directly “What would you do for X, Y, or Z”. He also frequently ran over his time, and powered through to the end of his statement with the moderator trying to talk over him saying his time was up. John Baird is actually a pretty clever man despite my abhorrence of his policies. He came off looking like he had a clear moral high ground, stayed polite, stayed in time, played some very clever political theatre for the crowd, and kept attacks on Stephane Dion to a minimum. Baird’s supporters on the other hand were a disgrace. Yelling, heckling, drowning out Pratt and making him use up his time, shouting down people asking questions critical of Baird, they were quite frankly an embarassment. Pratt had his own embarassment however, after the moderator declared we were out of time except closing statements, a woman muscled her way to the microphone and start yelling at Baird (only to be outright verbally abused by Baird’s supporters for her efforts). I learned this morning, she was David Pratt’s sister, and it was a very stupid move to do when the moderator had already closed down questions from the audience, and David made no attempt to dissuade her.

I am seriously questioning my volunteer contribution to Pratt’s campaign office. I still want to see Baird out of a job, and Pratt has the only real chance to pull that off, but right now, I’d have trouble being sincere doing door to door canvassing. “Please sir or madam, I’d like to ask if David can count on your vote, even though his performance at the debate probably didn’t earn it”

Liberal SOS in Ottawa West Nepean?

The other week, I wrote about the potential appointment process of a candidate in Ottawa West Nepean as Bob Chiarelli was eyeing the riding to the dismay of former defense minister David Pratt.

Today I received a tip from a couple of sources that describe discord among Liberal EDA board members in Ottawa West Nepean and their leader as the board is complaining that former Ottawa mayor Bob Chiarelli has asked Liberal leader Stephane Dion to forgo the nomination process and appoint him as the candidate in that riding to face-off against Conservative Environment Minister John Baird. This is obviously undemocratic as former Martin Defense Minister David Pratt is known to want the candidacy.

The story received quite a bit of attention and appeared on the popular online news aggregator run by Pierre Bourque and the story made the pages of the Ottawa Sun the next day. Perhaps it gave the riding executive some chance to reflect.

Pratt was ultimately appointed due to a rushed election call and this caused some upset for contestants in Ottawa West Nepean that were hoping for a nomination meeting. One of those would-be nomination contestants Nour El-Kadri is said to have sold some 800 memberships over the past few months and a nomination meeting could have been held for some time. Supporters of El-Kadri and another former-hopeful Adriano Guzzo are said to be devastated.

Perhaps this is why the Pratt campaign is having some difficulty getting off the ground in Ottawa West Nepean. The sign war has heated up with Conservatives, NDP and Greens hammering the stakes of their wooden signs into the ground. Little red has made an appearance at this time. Pratt’s team has finally found a campaign office tucked away in the back of a local mini-mall but this photo indicates that there may be despair in the ranks.


Be sure to click the image to enlarge the photo (thanks for the tip to David in the comments)