Canadian new motor vehicle sales intelligence (monthly)
Monthly new motor vehicle sales intelligence for Canada and the 10 provinces (Statistics Canada table 20-10-0085, unadjusted): new-vehicle units by type (total, passenger cars, trucks) and sales dollars, with average transaction price, truck share, YoY and 12-month moving-average trend momentum, 12-month trend record highs, boom/bust flags, cars+trucks==total identity gates, and a documented 0-100 sales-strength score ranked per month (s1 strong .. s4 weak). Trailing 36 complete months. Statistics Canada Open Licence (commercial reuse allowed); source: Statistics Canada.
- Rows
- 396
- Columns
- 26
- Source cadence
- Monthly
- Last refreshed
- Sep 26, 2026
- Theme
- economy
| Column | Type | Description |
|---|---|---|
| geo_name | string | English geography name (Canada + 10 provinces; BC is grouped with the territories). |
| geo_code | string | StatCan 2-letter code (CAN for Canada; BCT = BC + territories). |
| country_code | string | ISO alpha-3 country code (CAN for all rows). |
| month | string | Reference month, first day of month (ISO date). |
| as_of | string | Last complete month in the snapshot (pinned for idempotent re-runs). |
| units_total | float | New motor vehicles sold (all fuel types, all origins). (unit: units) |
| units_cars | float | Passenger cars sold. (unit: units) |
| units_trucks | float | Trucks sold (incl. minivans, SUVs, vans, buses). (unit: units) |
| dollars_total_mcad | float | Total new motor vehicle sales, normalized from thousands. (unit: millions of CAD) |
| avg_price_cad | float | Average transaction price: 1e6 * dollars_total_mcad / units_total. (unit: CAD per vehicle) |
| truck_share_pct | float | Trucks as a share of total units. (unit: percent) |
| yoy_pct_units_total | float | Year-over-year percent change of total units (season-free). (unit: percent) |
| yoy_pct_units_cars | float | Year-over-year percent change of passenger-car units. (unit: percent) |
| yoy_pct_units_trucks | float | Year-over-year percent change of truck units. (unit: percent) |
| yoy_pct_avg_price | float | Year-over-year percent change of the average transaction price. (unit: percent) |
| yoy_pp_truck_share | float | Year-over-year change of the truck share, percentage points. (unit: percentage points) |
| units_12m_ma | float | Trailing 12-month moving average of total units (de-seasonalized trend level). (unit: units) |
| trend_3m_ann | float | 3-month change of the 12-month moving average, annualized. (unit: percent per year) |
| record_high_12m_trend | boolean | True when the 12-month moving average is the trailing-12-month maximum. |
| boom_flag | boolean | True when YoY total-unit growth >= 15%. |
| bust_flag | boolean | True when YoY total-unit growth <= -15%. |
| strength_score | string | 0-100 sales-strength score: 100*(0.50*min-max YoY total units + 0.30*min-max 3-month annualized trend + 0.20*min-max YoY average transaction price), each component winsorized (+/-60%, +/-40%, +/-30%) and min-max normalized across geographies within the month; 50 when degenerate. Null when any component is unavailable for that geography-month. (unit: score) |
| strength_rank | string | Per-month strength rank across geographies (1 = strongest); deterministic tie-breaks on total units then geography name. Null when the score is null. |
| strength_tier | string | s1 strong (>=70) / s2 firm (>=45) / s3 soft (>=20) / s4 weak (<20); null when the score is null. |
| row_hash | string | SHA-256 (truncated) of the row's content fields. |
| source_retrieved | string | Source data vintage: latest reference month present in the retrieved vectors (content-pinned so identical re-fetches hash identically). |
First 10 sample rows — a preview, not the complete dataset.
| geo_name | geo_code | country_code | month | as_of | units_total | units_cars | units_trucks | dollars_total_mcad | avg_price_cad | truck_share_pct | yoy_pct_units_total | yoy_pct_units_cars | yoy_pct_units_trucks | yoy_pct_avg_price | yoy_pp_truck_share | units_12m_ma | trend_3m_ann | record_high_12m_trend | boom_flag | bust_flag | strength_score | strength_rank | strength_tier | row_hash | source_retrieved |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Prince Edward Island | PE | CAN | 2023-08-01 | 2026-07-01 | 700 | 104 | 596 | 34.171 | 48,815.714 | 85.143 | 22.164 | -7.143 | 29.284 | 4.648 | 4.689 | 596.25 | 13.896 | true | true | false | 88.86 | 1 | s1 | d9731e01d1a40f31 | 2026-07-01 |
| British Columbia and the Territories | BCT | CAN | 2023-08-01 | 2026-07-01 | 18,605 | 3,252 | 15,353 | 1,099.005 | 59,070.411 | 82.521 | 20.491 | -14.489 | 31.921 | 4.288 | 7.15 | 16,053.75 | 14.916 | true | true | false | 87.17 | 2 | s1 | cb3577e36192f70c | 2026-07-01 |
| Quebec | QC | CAN | 2023-08-01 | 2026-07-01 | 38,561 | 6,771 | 31,790 | 2,016.807 | 52,301.73 | 82.441 | 18.137 | -16.981 | 29.835 | 4.506 | 7.428 | 32,832.167 | 16.846 | true | true | false | 86.32 | 3 | s1 | 72f10017a466e772 | 2026-07-01 |
| Ontario | ON | CAN | 2023-08-01 | 2026-07-01 | 65,175 | 10,296 | 54,879 | 3,643.465 | 55,902.8 | 84.203 | 17.259 | -10.251 | 24.414 | 3.384 | 4.842 | 57,512.833 | 14.861 | true | true | false | 80.47 | 4 | s1 | f9f4cb1a4cd46506 | 2026-07-01 |
| Canada | CAN | CAN | 2023-08-01 | 2026-07-01 | 159,668 | 23,947 | 135,721 | 8,926.326 | 55,905.541 | 85.002 | 16.704 | -13.276 | 24.284 | 3.625 | 5.185 | 139,131.583 | 13.513 | true | true | false | 77.63 | 5 | s1 | a2e8fc641cf80494 | 2026-07-01 |
| New Brunswick | NB | CAN | 2023-08-01 | 2026-07-01 | 3,476 | 373 | 3,103 | 186.592 | 53,680.092 | 89.269 | 16.644 | -10.979 | 21.164 | 7.539 | 3.33 | 2,972.583 | 9.976 | true | true | false | 76.05 | 6 | s1 | a7eeadd138f72ace | 2026-07-01 |
| Alberta | AB | CAN | 2023-08-01 | 2026-07-01 | 19,191 | 1,622 | 17,569 | 1,169.776 | 60,954.406 | 91.548 | 19.458 | -1.697 | 21.88 | 1.354 | 1.819 | 16,261.083 | 10.892 | true | true | false | 75.93 | 7 | s1 | 3ab941ccf591fb0d | 2026-07-01 |
| Manitoba | MB | CAN | 2023-08-01 | 2026-07-01 | 4,124 | 350 | 3,774 | 242.787 | 58,871.726 | 91.513 | 7.2 | -38.811 | 15.237 | 3.749 | 6.382 | 3,903.75 | 6.558 | false | false | false | 50.15 | 8 | s2 | 9bdcd5edcd74b940 | 2026-07-01 |
| Nova Scotia | NS | CAN | 2023-08-01 | 2026-07-01 | 3,631 | 599 | 3,032 | 179.423 | 49,414.211 | 83.503 | 7.204 | -20.027 | 14.936 | 3.802 | 5.617 | 3,344.333 | 4.099 | true | false | false | 46.33 | 9 | s2 | 05eab06119b87613 | 2026-07-01 |
| Saskatchewan | SK | CAN | 2023-08-01 | 2026-07-01 | 3,776 | 241 | 3,535 | 237.006 | 62,766.419 | 93.618 | 1.944 | -27.19 | 4.803 | 10.828 | 2.554 | 3,491.5 | -2.166 | false | false | false | 34.6 | 10 | s3 | 1ca918ab0fc3a7c0 | 2026-07-01 |
- Current
20260926T150642Z-646efcc917ba · sha256 646efcc917ba…
396 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/statcan_motor_vehicle_signals/motor_vehicle_sales_intel_monthly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/statcan_motor_vehicle_signals/motor_vehicle_sales_intel_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/statcan_motor_vehicle_signals/motor_vehicle_sales_intel_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 20260926T150642Z-646efcc917ba and its content hash, so readers get exactly the data you used.
Statistics Canada new motor vehicle sales intelligence. (2026). Canadian new motor vehicle sales intelligence (monthly) [Data set, snapshot 20260926T150642Z-646efcc917ba, sha256 646efcc917ba]. Datazimuts. Retrieved 2026-09-26, from https://datazimuts.com/en/datasets/statcan_motor_vehicle_signals/motor_vehicle_sales_intel_monthly?snapshot=20260926T150642Z-646efcc917ba
@misc{dz_statcan_motor_vehicle_signals_motor_vehi_646efcc9,
title = {{Canadian new motor vehicle sales intelligence (monthly)}},
author = {{Statistics Canada new motor vehicle sales intelligence}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/statcan_motor_vehicle_signals/motor_vehicle_sales_intel_monthly?snapshot=20260926T150642Z-646efcc917ba}},
note = {Snapshot 20260926T150642Z-646efcc917ba, sha256 646efcc917bae5c147ccbd80c550e25252fbc0f1d997768150dc1927ed3138b2; 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=statcan_motor_vehicle_signals%2Fmotor_vehicle_sales_intel_monthly&lang=en&theme=auto&snapshot=20260926T150642Z-646efcc917ba&x=geo_name&y=units_total&agg=avg" title="Canadian new motor vehicle sales intelligence (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.