As an aside, you'll notice there that all the minor parties overpolled (in the PPC's case by almost twice their actual result), and the two main parties underpolled (quite significantly in the CPC's case).
That's normal. There's always a segment of minor party supporters who, while they tell pollsters they're going to vote for the minor party, have a change of heart on election day and decide at the last minute not to throw their votes away.
They polled on average 7.4% just before the 2019 election and came out with 6.5% of the actual vote.
https://i.imgur.com/g6IAyUe.png
As an aside, you'll notice there that all the minor parties overpolled (in the PPC's case by almost twice their actual result), and the two main parties underpolled (quite significantly in the CPC's case).
That's normal. There's always a segment of minor party supporters who, while they tell pollsters they're going to vote for the minor party, have a change of heart on election day and decide at the last minute not to throw their votes away.
2004 election: NDP & Greens over polled.
2006 election: NDP & Greens over polled.
2008 election: NDP & Greens over polled.
2011 election: NDP & Greens over polled.
2015 election: NDP & Greens over polled.
2019 election: NDP & Greens over polled.
(The Bloc is a wildcard since they're province-specific party)
How far back do you want to go?