By: Brian Klunder, Senior Counsel
Well, that was fun.
After a five-week campaign, Canadians were delivered a Mark Carney minority Liberal government. The fact that in December 2024, we would have expected the Liberal Party to be decimated to potentially an all time low in seats makes this outcome remarkable.
In terms of projections, I correctly called the winner but overestimated the number of seats the Liberal Party would receive and underestimated the Conservative seat total. This is consistent with the other seat projection models I have seen since the election was completed.
My projection was not off due to the polling average being wrong, in fact my polling average was very close to the final result nationally and regionally (see below). Where problems arose, it was generally in sub-regional areas – southwestern Ontario, portions of the GTA, and Newfoundland.

*A positive number shows an increase from my final polling averages.
Seat Projection
I accurately predicted the winner in 87.7% of the races, getting 301 out of 343 races correct nationwide. Where my model fell short was in capturing the 905 and Niagara region upswing for the CPC, leading to an accurate projection in 102 out of 122 ridings in Ontario.
Big misses were the Conservative win in Vaughan—Woodbridge and the Liberal win in Carleton (where Pierre Poilievre lost). Also, while correctly calling the likelihood of the NDP losing its long-held seat in Windsor West, I did not see any chance of the Conservatives jumping up to take the seat.
At the same time, the model made strong calls in ridings like Sault Ste. Marie—Algoma, Bay of Quinte and Trois-Rivières. I was able to recognize the closeness of these races and called out their significance in my insight pieces.

Polling Average
Using polling averages throughout the election campaign smoothed out variation between pollsters and contributed to the accuracy of my final results. As noted, where I missed was due primarily to sub-regional variations. For instance, Liberal Party candidates generally overperformed projections in large urban centres like Montreal, Ottawa, Toronto, Winnipeg and Vancouver. Outside of these centres, the party was either closer to the average or under performed.
The reasons for this are perhaps the biggest unanswered questions of this campaign and something that will preoccupy party strategists. Early analysis has often suggested that NDP voters in more blue-collar ridings – like Windsor West – went to the Conservatives rather than the Liberals. This can certainly be seen in a number of ridings, but perhaps as important as the complete collapse of the NDP was the collapse of the People’s Party (PPC), which, from my analysis, may have allowed the Conservatives to win at least five seats from the Liberals. I have also found at least two ridings where the PPC vote likely helped the Conservatives defend close races. I look at each of the ridings below.

Seat Analysis
Throughout this election, I wondered why the Conservative Leader Pierre Poilievre was playing to his base so much. But it is clear this play to the base, helped ensure the PPC vote stayed down and helped them secure at least seven ridings. These seven seats helped cost the Liberal Party their majority.
Cambridge – Cambridge has been held by the Liberals since 2015. In 2021, the PPC was able to obtain 7.2% of the vote. They did not run a candidate in 2025, so this vote was up for grabs. The Conservatives won by 2.3% and required the entirety of the PPC vote – on top of a large portion of the NDP vote – in order to beat incumbent Brian May.
Hamilton East—Stoney Creek – This represents one of the blue-collar ridings where analysts have indicated the NDP vote moved past the Liberals and to the Conservatives. The Conservatives certainly received the NDP vote (which decreased from 21.7% in 2021 to 3.6% in 2025), but given that the Liberal vote share also went up by 7.3%, it is clear the NDP vote was not enough to give the Conservatives the win. Instead, the PPC having its vote decrease by 6.1% of the total vote, allowed the Conservatives to win by 2.4%.
Kitchener Centre – Green Party MP Mike Morrice held Kitchener Centre. Mr. Morrice held his 2021 vote share but was surpassed by the Conservatives and lost the seat by 0.7% of the vote. The NDP vote share dropped by 15.5%, and the Liberal candidate saw their vote share increase by 12%. The Conservatives undoubtedly received some NDP vote but required the PPC vote share to decrease by 6% to win the seat.
Newmarket—Aurora – The Conservatives won Newmarket—Aurora by 4% with 50.8% of the total vote after having received 38.2% of the vote in 2021. The NDP vote collapsed and went from 11.6% to 2.4%. – a loss of 9.2%. The Liberal vote went up by 3% to 46.8%. The remaining NDP vote was not enough to give the Conservatives the win and required the 4.2% of the PPC vote share (they did not have a candidate in the riding in 2025) to pull this off.
Niagara South – Niagara South was expected to be a close race and it certainly was – although perhaps not as close as some expected. Both the Liberals and Conservatives saw their vote share increase by over 10% – while the NDP, Green and PPC lost 17.2%, 1% and 7.4% respectively. The collapse of these three smaller Parties led to a two-horse race between the Liberals and Conservatives with the PPC playing an outsized role in the Conservatives ultimate victory.”
Simcoe North – Simcoe North is a largely rural riding just south of the Muskoka Region in Ontario. Adam Chambers was the incumbent heading into the election and regained the seat for the Conservatives by 3.4%. The Liberal vote share increased by 14.1%, which was more than the NDP decrease of 12.3%. To win, Mr. Chambers need the PPC vote share to fall by the 6.6% it did, which closely corresponds to the 6.1% increase in vote share he received.
Kildonan—St. Paul – This was a close Conservative hold that caught some by surprise, given the strong performance of Raquel Dancho as the Conservative Public Safety Critic in the House of Commons. Ms. Dancho was able to hold off the Liberal challenge and win by 3%. This required her to have the PPC vote share fall from 5.4% to 0.9%, given that the Liberals gained almost all of the NDP’s vote share, dropping by 16.9%.
What It Means
Campaigns matter. The 2025 election was incredibly difficult to forecast. In the pre-writ period, some polls showed the Conservatives up by as much as 25%. During the campaign, we saw polls showing the Liberals ahead by 10% or more. In the end, we had a close race between two parties, with the other parties fighting for significantly fewer votes and seats.
As we look ahead to an election that will take place no later than October 2029, the most critical consideration will be whether the battleground remains between the Liberals and Conservatives or if the ‘third parties’ are able to regain lost ground.
Final Words
I hope you have enjoyed these insight pieces and my seat projection for the federal election. Our team at TSA brings a strategic lens to the advocacy we do on behalf of our clients, and we would love the opportunity to speak to you about how we can advance your advocacy efforts.
Methodology – The TSA Seat projection was calculated based on national polls taken over the previous week. Each riding result is based on the results of the 2019 and 2021 elections and transposed to the new seat boundaries. Thanks to the work Phillipe Fournier has done at 338Canada to transpose votes for both 2019 and 2021. Riding results are compared to regional results in 2019 and 2021 to calculate a projected result for each riding.