Obviously, you could slice and dice the election results along age and revenue, spoken language, religion and ethnic origin. But that requires looking at surveys and taking into account margin of errors.
But the way cool interactive electoral cbc.ca map is more dramatic. The map is interactive, so don't be afraid of clicking on the different regions.
Here is some analysis:
The NDP did well in urban cores. Winnipeg (3), Vancouver (5), Victoria (1), Toronto (2), Ottawa (1), Montreal (1), Edmonton (1), Saint John's (1), Halifax (1), London (1), Hamilton (3). They almost won a seat in Saskatoon and an other in Gatineau. The smaller the riding (because of population density) the higher the likelihood it went to the NDP.
Let's call this the beggar effect. If you encounter beggars every day of your life (or almost), you are more likely to care about poverty and universal health care.
But certain rural areas voted NDP as well. The most striking example is Northern Ontario. Collapse of the forestry industry and the realisation that the Employment Insurance program is deficient? All the rural regions where the NDP did well also have an ongoing depopulation. But that could be said about many rural regions where the Conservatives won.