Quebec and Atlantic provinces - 9.8 million population
Ontario - 12.1 million population
British Columbia - 4.1 million population
Other west - 5.4 million population
vs.
New England (minus CT, RI) - 9.5 million population
Michigan - 10 million population
Washington - 6 million population
Minnesota - 4.9 million population
Minnesota is a faster way to count it, but if you like you can replace it with a mix of western states from the great plains and mountain regions - Nebraska, the Dakotas, Montana and Idaho, with or without Alaska (635k) - and you get about the same result, to within $25-30 billion in overall GDP for the set.
Those US regions have a combined population of 30.4 million, vs. 31.4 million for Canada. Or 31 million if you throw in Alaska. Their combined GDP is $1.1 trillion to $1.15 trillion. Which is about the same as Canadian GDP in Canadian rather than US dollars. In US dollars, their GDP is only 64% as large.
It can't be blamed on different regions. The correspondance in actual populated areas is quite close. British Columbia is a bit smaller than Washington state population wise, but Ontario is the same amount larger than Michigan and makes up for it.
There are indeed regions of Canada that are strongly affected by much colder climate, but they don't enter the picture at all because they are essentially uninhabited. The entire Yukon, Northwest Territories, and tundra regions have a combined population of only 100,000, less than 1/6th that of Alaska (with its mostly maritime settlement).
A more telling difference may be the respective sizes of the government sector in the two economies. Government at all levels takes 30% of US GDP. In Canada, government takes 40% of GDP. (In both cases, about half of that is the federal level and half is state or region plus local). Canada spends only 1% of GDP on the military, while the US spends around 3%. Non-military government expense is thus almost 50% higher in Canada than in the US - with only two thirds the per capita income to pay for it.
I hope this is interesting.