Canadian cannabis retail momentum (monthly)
Monthly Canadian cannabis-retail intelligence from Statistics Canada (table 20-10-0056-01, unadjusted, 2018-10 onward — the legalization month): province x month cannabis sales with per-capita normalization (quarterly population estimates interpolated to monthly), share of total retail, MoM/YoY growth, a documented 0-100 cannabis momentum score (0.6 YoY growth + 0.4 per-capita level, min-maxed in each geo's own trailing-36m window) with strong/firm/steady/soft/weak bands, provincial ranks, and expanding/record-high/preliminary flags. Who joins this: B2B sales teams selling into cannabis retail join (province_code, month) to prioritize expanding provinces; online shops in adjacent categories join provincial momentum to regional demand forecasting; subscription businesses read per-capita demand for market sizing. Caveats: values in thousands of dollars; latest month preliminary; unadjusted — use YoY not MoM for trends; NT/NU excluded (NT discontinued 2021-05, NU fully suppressed). Statistics Canada Open Licence (commercial reuse allowed); source: Statistics Canada.
- Source
- Statistics Canada
- Rows
- 1,128
- Columns
- 22
- Source cadence
- Monthly
- Last refreshed
- Oct 1, 2026
- Theme
- economy
| Column | Type | Description |
|---|---|---|
| month | date | Reference month, first day, ISO date. (unit: ISO date) |
| country_code | string | ISO alpha-3 code (CAN every row). (unit: ISO 3166-1) |
| geo_name | string | Geography name, StatCan verbatim. |
| province_code | string | ISO 3166-2 code (CA-ON); 'CA' national. Join key. (unit: ISO 3166-2) |
| province_abbr | string | Two-letter abbr (CA = national). |
| is_national | boolean | True on the Canada aggregate row. (unit: boolean) |
| cannabis_sales_thousands | float | Monthly cannabis-retailer sales, unadjusted, thousands of CAD. Latest month preliminary. (unit: thousands of CAD) |
| total_retail_sales_thousands | float | Monthly total retail sales [44-45], unadjusted, thousands of CAD. (unit: thousands of CAD) |
| share_of_retail_pct | float | Cannabis share of total retail, same geo+month. (unit: percent) |
| population | float | Estimated residents (quarterly, interpolated). (unit: persons) |
| cannabis_sales_per_1000_residents | float | Monthly cannabis sales per 1,000 residents. (unit: CAD per 1k residents) |
| mom_pct | float | Month-over-month change in cannabis sales. (unit: percent) |
| yoy_pct | float | Year-over-year change in cannabis sales. (unit: percent) |
| cannabis_momentum_score | float | 0-100 composite: 0.6 winsorized YoY + 0.4 per-capita, trailing-36m window. (unit: score 0-100) |
| momentum_band | string | Band of the score: strong/firm/steady/soft/weak. |
| cannabis_rank | string | Score rank across provinces (1 = strongest). (unit: rank) |
| expanding_yoy_flag | boolean | True when yoy_pct > 0. (unit: boolean) |
| record_high_12m_flag | boolean | True when the month is the trailing-12m sales high. (unit: boolean) |
| preliminary_flag | boolean | True on the latest (revisable) month. (unit: boolean) |
| thin_history_flag | boolean | True with < 24 monthly observations. (unit: boolean) |
| source_table | string | StatCan table product id (20-10-0056-01). |
| row_hash | string | Deterministic 16-hex SHA-256 of (geo, month, sales, share, population). (unit: hash) |
First 10 sample rows — a preview, not the complete dataset.
| month | country_code | geo_name | province_code | province_abbr | is_national | cannabis_sales_thousands | total_retail_sales_thousands | share_of_retail_pct | population | cannabis_sales_per_1000_residents | mom_pct | yoy_pct | cannabis_momentum_score | momentum_band | cannabis_rank | expanding_yoy_flag | record_high_12m_flag | preliminary_flag | thin_history_flag | source_table | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2018-10-01 | CAN | Canada | CA | CA | true | 42,084 | 54,953,509 | 0.077 | 37,259,485 | 1,129.48 | — | — | — | — | — | false | true | false | false | 20-10-0056-01 | 1e3da92052e19f0f |
| 2018-10-01 | CAN | Newfoundland and Labrador | CA-NL | NL | false | 2,144 | 779,030 | 0.275 | 528,926 | 4,053.5 | — | — | — | — | — | false | true | false | false | 20-10-0056-01 | f8bdb2cd414c63a1 |
| 2018-10-01 | CAN | Prince Edward Island | CA-PE | PE | false | 850 | 210,610 | 0.404 | 153,906 | 5,522.85 | — | — | — | — | — | false | true | false | false | 20-10-0056-01 | f00f74528cda3980 |
| 2018-10-01 | CAN | Nova Scotia | CA-NS | NS | false | 4,272 | 1,400,878 | 0.305 | 967,578 | 4,415.15 | — | — | — | — | — | false | true | false | false | 20-10-0056-01 | 7842686c83d54542 |
| 2018-10-01 | CAN | New Brunswick | CA-NB | NB | false | 2,190 | 1,141,074 | 0.192 | 772,793 | 2,833.88 | — | — | — | — | — | false | true | false | false | 20-10-0056-01 | 97dd6f0dd7956231 |
| 2018-10-01 | CAN | Quebec | CA-QC | QC | false | 9,927 | 11,881,351 | 0.084 | 8,418,646 | 1,179.17 | — | — | — | — | — | false | true | false | false | 20-10-0056-01 | 034761ee77169ad9 |
| 2018-10-01 | CAN | Ontario | CA-ON | ON | false | 11,454 | 21,236,430 | 0.054 | 14,413,055 | 794.7 | — | — | — | — | — | false | true | false | false | 20-10-0056-01 | 965e29da4a85844b |
| 2018-10-01 | CAN | Manitoba | CA-MB | MB | false | — | 1,789,874 | — | 1,357,856 | — | — | — | — | — | — | false | false | false | false | 20-10-0056-01 | 9539ca9abff41cb8 |
| 2018-10-01 | CAN | Saskatchewan | CA-SK | SK | false | 2,462 | 1,688,354 | 0.146 | 1,159,648 | 2,123.06 | — | — | — | — | — | false | true | false | false | 20-10-0056-01 | c97b631dda06339b |
| 2018-10-01 | CAN | Alberta | CA-AB | AB | false | 5,701 | 7,001,425 | 0.081 | 4,311,439 | 1,322.3 | — | — | — | — | — | false | true | false | false | 20-10-0056-01 | 7cd7167a95f1989d |
Profiled Oct 1, 2026 from snapshot 20261001T142718Z-265a4adf8a74
Measured- Completeness
- 94.6%
- Rows
- 1,128
- Columns
- 22
- Columns with gaps
- 8
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| monthdate | 0% | 81 | Oct 1, 2018 → Jul 1, 2026 | — |
| country_codevarchar | 0% | 1 | — |
|
| geo_namevarchar | 0% | 12 | — |
|
| province_codevarchar | 0% | 13 | — |
|
| province_abbrvarchar | 0% | 12 | — |
|
| is_nationalboolean | 0% | 2 | — |
|
| cannabis_sales_thousandsdouble | 2% | 1,002 | 280 → 516,398median 13,673 | 24 outside 1st–99th percentile |
| total_retail_sales_thousandsdouble | 0% | 1,177 | 55,020 → 79,927,499median 2,092,930 | 24 outside 1st–99th percentile |
| share_of_retail_pctdouble | 2% | 1,066 | 0.0071 → 1.45median 0.612 | 24 outside 1st–99th percentile |
| populationdouble | 0% | 1,031 | 40,533 → 41,798,407median 1,318,129 | 24 outside 1st–99th percentile |
| cannabis_sales_per_1000_residentsdouble | 2% | 801 | 106.69 → 31,297median 10,050 | 24 outside 1st–99th percentile |
| mom_pctdouble | 3.2% | 1,205 | -63.69 → 155.88median 2.03 | 22 outside 1st–99th percentile |
| yoy_pctdouble | 16.3% | 925 | -62.92 → 2,300median 13.23 | 20 outside 1st–99th percentile |
| cannabis_momentum_scoredouble | 29.5% | 761 | 0 → 100median 49.6 | 16 outside 1st–99th percentile |
| momentum_bandvarchar | 24.5% | 5 | — |
|
| cannabis_rankbigint | 39.9% | 11 | 1 → 10median 5 | |
| expanding_yoy_flagboolean | 0% | 2 | — |
|
| record_high_12m_flagboolean | 0% | 2 | — |
|
| preliminary_flagboolean | 0% | 2 | — |
|
| thin_history_flagboolean | 0% | 1 | — |
|
| source_tablevarchar | 0% | 1 | — |
|
| row_hashvarchar | 0% | 1,036 | — |
|
- Current
20261001T142718Z-265a4adf8a74 · sha256 265a4adf8a74…
1,128 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/ca_cannabis_retail_intel/ca_cannabis_retail_momentum_monthly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/ca_cannabis_retail_intel/ca_cannabis_retail_momentum_monthly").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/ca_cannabis_retail_intel/ca_cannabis_retail_momentum_monthly
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 20261001T142718Z-265a4adf8a74 and its content hash, so readers get exactly the data you used.
Statistics Canada. (2026). Canadian cannabis retail momentum (monthly) [Data set, snapshot 20261001T142718Z-265a4adf8a74, sha256 265a4adf8a74]. Datazimuts. Retrieved 2026-10-02, from https://datazimuts.com/en/datasets/ca_cannabis_retail_intel/ca_cannabis_retail_momentum_monthly?snapshot=20261001T142718Z-265a4adf8a74
@misc{dz_ca_cannabis_retail_intel_ca_cannabis_ret_265a4adf,
title = {{Canadian cannabis retail momentum (monthly)}},
author = {{Statistics Canada}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/ca_cannabis_retail_intel/ca_cannabis_retail_momentum_monthly?snapshot=20261001T142718Z-265a4adf8a74}},
note = {Snapshot 20261001T142718Z-265a4adf8a74, sha256 265a4adf8a741e6e2e1cc4a4211564ebbf80ca298982d0a94f34c2e5b09212ed; accessed 2026-10-02}
}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=ca_cannabis_retail_intel%2Fca_cannabis_retail_momentum_monthly&lang=en&theme=auto&snapshot=20261001T142718Z-265a4adf8a74&x=month&y=cannabis_sales_thousands&agg=avg" title="Canadian cannabis retail momentum (monthly)" 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.