To reiterate my opinion, and brings things back on topics, immigration is one of the biggest, costliest programs the federal government operates. Yet decisions on how many immigrants and what type are made by cabinet for political reasons. Witness Trudeau promising more family class (the second worst performing group, economically) increasing refugees (the worst performing group) and bringing in more seniors, who will require expensive health care but won't be paying anything into it.
Canadian immigration numbers and types ought to be decided by professionals in keeping with demographic and economic analyses. The immigrants brought here should be, except in humanitarian cases, able to support themselves and contribute to the tax base in at least equal amounts to what they receive in services. That means we should recruit and give preference to those with the most marketable skills from the regions which produce the most economically successful, and culturally comparable immigrants.
At the moment, given government figures, that means Europe, India, and the Philippines should be given preference. People from the Middle East, China and North Africa should be given a much lower priority, as government figures show these areas produce the least economically successful immigrants and their cultures are not a harmonious fit with ours.