Canadian international-migration components intelligence (quarterly)
Agent-curated quarterly intelligence from Statistics Canada's keyless Web Data Service: immigrants / emigrants / returning emigrants / net emigration / net non-permanent residents per province and territory (table 17100040, 1946-Q1 -> present) joined with quarter-start population estimates (table 17100009) for per-1,000-resident rates. Fail-loud component identity gate; derived net international flow; trailing-4-quarter annualized component flows with year-over-year momentum; a documented dominant-driver categorical; a documented 0-100 inflow-pressure score ranked as inflow_pressure_rank; flow-reversal and record-high/low flags. Trailing 40 quarters published. Primary key: province_code + quarter. Cadence: quarterly.
- Rows
- 560
- Columns
- 32
- Source cadence
- Quarterly
- Last refreshed
- Sep 26, 2026
- Theme
- demographics
| Column | Type | Description |
|---|---|---|
| quarter | string | Quarter start (ISO date); the quarter's migration window. (unit: date) |
| country_code | string | Constant CAN. |
| province | string | Canonical province/territory name (StatCan verbatim). |
| province_code | string | Short code (NL/PE/NS/NB/QC/ON/MB/SK/AB/BC/YT/NT/NU; CA = national; NTNU = historical NWT including Nunavut, terminated 1991). |
| is_national | integer | 1 for the Canada national row (estimated independently upstream; not the provincial sum). (unit: 0/1) |
| immigrants | integer | Immigrants settling in the province in the quarter. (unit: persons) |
| emigrants | integer | Emigrants leaving the province in the quarter. (unit: persons) |
| returning_emigrants | integer | Emigrants returning to the province in the quarter. (unit: persons) |
| net_emigration | integer | Published net emigration (emigrants - returning_emigrants + net temporary emigration; the lagged component is pending for recent quarters and treated as 0, matching StatCan's own publication). (unit: persons) |
| net_npr | integer | Net non-permanent residents (inflows - outflows) in the quarter. (unit: persons) |
| net_international | integer | Derived net international flow: immigrants - net_emigration + net_npr. (unit: persons) |
| population | integer | Quarter-start population estimate (table 17100009). (unit: persons) |
| immigration_rate_per_1000 | float | 1000 * immigrants / population. (unit: per 1,000) |
| emigration_rate_per_1000 | float | 1000 * net_emigration / population. (unit: per 1,000) |
| npr_rate_per_1000 | float | 1000 * net_npr / population. (unit: per 1,000) |
| net_rate_per_1000 | float | 1000 * net_international / population. (unit: per 1,000) |
| immigr_4q | integer | Trailing-4-quarter immigrants (annualized inflow). (unit: persons) |
| emig_4q | integer | Trailing-4-quarter net emigration (annualized drag). (unit: persons) |
| npr_4q | integer | Trailing-4-quarter net non-permanent residents. (unit: persons) |
| net_4q | integer | Trailing-4-quarter net international flow (annualized). (unit: persons) |
| net_4q_rate_per_1000 | float | 1000 * net_4q / population. (unit: per 1,000) |
| momentum_4q | integer | net_4q minus net_4q four quarters earlier (YoY change in annualized net flow). (unit: persons) |
| momentum_rate_per_1000 | float | 1000 * momentum_4q / population. (unit: per 1,000) |
| dominant_driver | string | Largest-absolute 4Q component (immigration / emigration / npr), unless the top is less than 1.25x the runner-up, in which case 'balanced'. |
| inflow_pressure_score | float | 0-100 per-quarter score: winsorized (+/-30) min-max of net_4q_rate_per_1000 across provinces; null for the Canada national row. (unit: 0-100) |
| inflow_pressure_rank | float | Deterministic per-quarter rank: inflow_pressure_score desc, net_4q desc, province_code asc; null for the Canada national row. (unit: rank) |
| flow_reversal | integer | 1 when annualized net flow flips sign vs a year earlier. (unit: 0/1) |
| record_high | integer | 1 when net_4q is the province's max over the published 10-year panel. (unit: 0/1) |
| record_low | integer | 1 when net_4q is the province's min over the published 10-year panel. (unit: 0/1) |
| asof_quarter | string | Latest complete quarter in the panel. (unit: date) |
| source_table | string | StatCan table PIDs behind the row. |
| row_hash | string | Deterministic 16-hex row hash. |
First 10 sample rows — a preview, not the complete dataset.
| quarter | country_code | province | province_code | is_national | immigrants | emigrants | returning_emigrants | net_emigration | net_npr | net_international | population | immigration_rate_per_1000 | emigration_rate_per_1000 | npr_rate_per_1000 | net_rate_per_1000 | immigr_4q | emig_4q | npr_4q | net_4q | net_4q_rate_per_1000 | momentum_4q | momentum_rate_per_1000 | dominant_driver | inflow_pressure_score | inflow_pressure_rank | flow_reversal | record_high | record_low | asof_quarter | source_table | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2016-07-01 | CAN | Alberta | AB | 0 | 10,098 | 5,569 | 2,996 | 2,573 | -84 | 7,441 | 4,195,427 | 2.407 | 0.613 | -0.02 | 1.774 | 53,794 | 7,157 | -11,777 | 34,860 | 8.309 | 12,267 | 2.924 | immigration | 40.6 | 6 | 0 | 0 | 0 | 2026-04-01 | 17100040+17100009 | fc4a35210be1b8ea |
| 2016-07-01 | CAN | British Columbia | BC | 0 | 7,820 | 7,295 | 3,915 | 3,380 | 11,345 | 15,785 | 4,861,269 | 1.609 | 0.695 | 2.334 | 3.247 | 40,146 | 12,210 | 14,904 | 42,840 | 8.813 | 42,893 | 8.823 | immigration | 42.97 | 5 | 1 | 0 | 0 | 2026-04-01 | 17100040+17100009 | b1d8e0a801837a68 |
| 2016-07-01 | CAN | Canada | CA | 1 | 68,231 | 41,778 | 25,130 | 16,648 | 53,175 | 104,758 | 36,110,803 | 1.889 | 0.461 | 1.473 | 2.901 | 312,516 | 56,901 | 68,641 | 324,256 | 8.979 | 148,698 | 4.118 | immigration | — | — | 0 | 0 | 0 | 2026-04-01 | 17100040+17100009 | cafb7b78506202e4 |
| 2016-07-01 | CAN | Manitoba | MB | 0 | 4,195 | 1,086 | 744 | 342 | 1,963 | 5,816 | 1,314,140 | 3.192 | 0.26 | 1.494 | 4.426 | 17,570 | 1,040 | 4,697 | 21,227 | 16.153 | 3,277 | 2.494 | immigration | 77.49 | 2 | 0 | 0 | 0 | 2026-04-01 | 17100040+17100009 | 625563750ea49f03 |
| 2016-07-01 | CAN | New Brunswick | NB | 0 | 971 | 292 | 193 | 99 | 468 | 1,340 | 763,322 | 1.272 | 0.13 | 0.613 | 1.755 | 4,703 | 366 | 723 | 5,060 | 6.629 | 2,602 | 3.409 | immigration | 32.7 | 10 | 0 | 0 | 0 | 2026-04-01 | 17100040+17100009 | 6c6064a71cc66dad |
| 2016-07-01 | CAN | Newfoundland and Labrador | NL | 0 | 262 | 260 | 117 | 143 | 732 | 851 | 529,586 | 0.495 | 0.27 | 1.382 | 1.607 | 1,401 | 370 | 953 | 1,984 | 3.746 | 834 | 1.575 | immigration | 19.14 | 12 | 0 | 0 | 0 | 2026-04-01 | 17100040+17100009 | c05f1cf02525701f |
| 2016-07-01 | CAN | Nova Scotia | NS | 0 | 1,127 | 749 | 470 | 279 | 1,711 | 2,559 | 942,984 | 1.195 | 0.296 | 1.814 | 2.714 | 5,542 | 723 | 2,256 | 7,075 | 7.503 | 1,913 | 2.029 | immigration | 36.81 | 7 | 0 | 0 | 0 | 2026-04-01 | 17100040+17100009 | a2f92532136f8526 |
| 2016-07-01 | CAN | Northwest Territories | NT | 0 | 35 | 20 | 11 | 9 | 40 | 66 | 44,624 | 0.784 | 0.202 | 0.896 | 1.479 | 187 | 40 | 37 | 184 | 4.123 | 9 | 0.202 | immigration | 20.92 | 11 | 0 | 0 | 0 | 2026-04-01 | 17100040+17100009 | 1ca0d4395767df89 |
| 2016-07-01 | CAN | Nunavut | NU | 0 | 10 | 4 | 17 | -13 | -13 | 10 | 36,979 | 0.27 | -0.352 | -0.352 | 0.27 | 42 | 7 | -47 | -12 | -0.325 | -22 | -0.595 | balanced | 0 | 13 | 1 | 0 | 0 | 2026-04-01 | 17100040+17100009 | 43d53c36b36b145d |
| 2016-07-01 | CAN | Ontario | ON | 0 | 24,800 | 19,021 | 12,323 | 6,698 | 29,196 | 47,298 | 13,876,500 | 1.787 | 0.483 | 2.104 | 3.408 | 115,253 | 24,795 | 44,602 | 135,060 | 9.733 | 59,876 | 4.315 | immigration | 47.3 | 4 | 0 | 0 | 0 | 2026-04-01 | 17100040+17100009 | 247690af77c0d0ff |
- Current
20260926T112659Z-0aaa1cee45d0 · sha256 0aaa1cee45d0…
560 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/intl_migration_signals/ca_international_migration_components_quarterly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/intl_migration_signals/ca_international_migration_components_quarterly").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/intl_migration_signals/ca_international_migration_components_quarterly
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20260926T112659Z-0aaa1cee45d0 and its content hash, so readers get exactly the data you used.
Canadian international-migration components intelligence (agent-curated). (2026). Canadian international-migration components intelligence (quarterly) [Data set, snapshot 20260926T112659Z-0aaa1cee45d0, sha256 0aaa1cee45d0]. Datazimuts. Retrieved 2026-09-26, from https://datazimuts.com/en/datasets/intl_migration_signals/ca_international_migration_components_quarterly?snapshot=20260926T112659Z-0aaa1cee45d0
@misc{dz_intl_migration_signals_ca_international__0aaa1cee,
title = {{Canadian international-migration components intelligence (quarterly)}},
author = {{Canadian international-migration components intelligence (agent-curated)}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/intl_migration_signals/ca_international_migration_components_quarterly?snapshot=20260926T112659Z-0aaa1cee45d0}},
note = {Snapshot 20260926T112659Z-0aaa1cee45d0, sha256 0aaa1cee45d08d72ac74e568c86087aafcf6e043287f65577fe020ea07e69418; accessed 2026-09-26}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=intl_migration_signals%2Fca_international_migration_components_quarterly&lang=en&theme=auto&snapshot=20260926T112659Z-0aaa1cee45d0&x=quarter&y=is_national&agg=avg" title="Canadian international-migration components intelligence (quarterly)" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.