Canadian small-business sentiment intelligence (monthly)
Downloads are disabled for this dataset: its license prohibits commercial use. The documentation, schema and sample rows stay available here.
Monthly Canadian small-business sentiment panel, 2009-02 onward, from the CFIB Monthly Business Barometer (keyless XLSX datafile): the 12-month and 3-month outlook indexes for Canada and the 10 provinces (0-100 scale, 50 = neutral), pivoted to one row per (month, geo, horizon). Method: MoM/3m/YoY momentum in percentage points, trailing-36-month z-score, documented sentiment regimes, province-vs-Canada gaps, per-month province ranks, 36-month record-high flags; COVID twice-monthly surveys (2020-03/04/05) averaged; NL/PE 12-month and other provinces 3-month moving averages documented per row. commercial_use=no (CFIB terms prohibit commercial redistribution without consent): documented and searchable, never published or bulk-served.
- Rows
- 4,664
- Columns
- 21
- Source cadence
- Monthly
- Last refreshed
- Sep 30, 2026
- Theme
- economy
| Column | Type | Description |
|---|---|---|
| month | string | Reference month (ISO YYYY-MM), the CFIB survey month. |
| country_code | string | ISO alpha-3 country code (CAN on every row). |
| geo_name | string | Geography name: Canada or the province name. |
| province_code | string | ISO-3166-2 province code (CA-ON, ...); null for Canada. |
| geo_level | string | country (Canada) or province. |
| horizon | string | long_term_12m (12-month outlook) or short_term_3m (3-month outlook). |
| barometer_index | float | CFIB Business Barometer index, 0-100 (CFIB: below 50 means owners expecting weaker performance outnumber those expecting stronger). Verbatim from the datafile except the 2020-03/04/05 COVID split months, which average the two half-month surveys. |
| moving_avg_window | integer | CFIB smoothing window in months: 12 for NL/PE, 3 for the other provinces, 0 for Canada (no smoothing). |
| split_month_flag | boolean | True for 2020-03/04/05, when CFIB ran two surveys per month (1st/2nd half); the index averages both halves. |
| index_mom_pp | float | Month-over-month change of the index, percentage points. |
| index_3m_change_pp | float | 3-month change of the index, percentage points. |
| index_yoy_pp | float | 12-month change of the index, percentage points. |
| index_z36 | float | Trailing-36-month z-score of the index (null for the first 35 months of each series). |
| sentiment_regime | string | Documented bands on the index: strong_optimism >= 65, optimism 55-65, neutral 45-55, pessimism 35-45, deep_pessimism < 35. |
| vs_canada_pp | float | Province index minus the Canada index for the same month/horizon (null on Canada rows). |
| province_rank | integer | Rank of the province index within the month/horizon (1 = highest; null on Canada rows). |
| record_high_36m_flag | boolean | True when the index is at its trailing-36-month maximum. |
| source_url | string | The monthly XLSX datafile URL this snapshot was built from. |
| observed_date | string | Datafile vintage: first day of its latest survey month (ISO date). |
| as_of | string | Datafile vintage: first day of its latest survey month (ISO date). Pinned to the source file (not the fetch clock) so an unchanged file re-ingests as a no-op. |
| row_hash | string | Deterministic 16-hex hash of (source, month, geo, horizon). |
First 10 sample rows — a preview, not the complete dataset.
| month | country_code | geo_name | province_code | geo_level | horizon | barometer_index | moving_avg_window | split_month_flag | index_mom_pp | index_3m_change_pp | index_yoy_pp | index_z36 | sentiment_regime | vs_canada_pp | province_rank | record_high_36m_flag | source_url | observed_date | as_of | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009-02 | CAN | Alberta | CA-AB | province | long_term_12m | — | 3 | false | — | — | — | — | deep_pessimism | — | — | false | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx | 2026-09-01 | 2026-09-01 | d063daf3c3cd983b |
| 2009-03 | CAN | Alberta | CA-AB | province | long_term_12m | — | 3 | false | — | — | — | — | deep_pessimism | — | — | false | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx | 2026-09-01 | 2026-09-01 | d9b4e801560eba24 |
| 2009-04 | CAN | Alberta | CA-AB | province | long_term_12m | 43.173 | 3 | false | — | — | — | — | pessimism | -11.808 | 8 | false | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx | 2026-09-01 | 2026-09-01 | ae101a8895c8f83e |
| 2009-05 | CAN | Alberta | CA-AB | province | long_term_12m | 52.982 | 3 | false | 9.809 | — | — | — | neutral | -7.363 | 6 | false | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx | 2026-09-01 | 2026-09-01 | 9667a82d0c605b95 |
| 2009-06 | CAN | Alberta | CA-AB | province | long_term_12m | 61.224 | 3 | false | 8.243 | — | — | — | optimism | 2.803 | 4 | false | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx | 2026-09-01 | 2026-09-01 | fc8f2cf094756145 |
| 2009-07 | CAN | Alberta | CA-AB | province | long_term_12m | 60.613 | 3 | false | -0.611 | 17.441 | — | — | optimism | 2.035 | 5 | false | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx | 2026-09-01 | 2026-09-01 | d7b1cc8f0ae346be |
| 2009-08 | CAN | Alberta | CA-AB | province | long_term_12m | 59.362 | 3 | false | -1.252 | 6.38 | — | — | optimism | -6.368 | 7 | false | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx | 2026-09-01 | 2026-09-01 | 023d4103cd5cac70 |
| 2009-09 | CAN | Alberta | CA-AB | province | long_term_12m | 65.419 | 3 | false | 6.057 | 4.194 | — | — | strong_optimism | -3.242 | 5 | false | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx | 2026-09-01 | 2026-09-01 | d7447e05618156c2 |
| 2009-10 | CAN | Alberta | CA-AB | province | long_term_12m | 71.556 | 3 | false | 6.137 | 10.942 | — | — | strong_optimism | 4.556 | 2 | false | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx | 2026-09-01 | 2026-09-01 | fbcf01520aadf50d |
| 2009-11 | CAN | Alberta | CA-AB | province | long_term_12m | 70.976 | 3 | false | -0.58 | 11.614 | — | — | strong_optimism | 2.949 | 2 | false | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx | 2026-09-01 | 2026-09-01 | 3cdff5f46d20e732 |
Profiled Oct 1, 2026 from snapshot 20260930T151016Z-4b6b5bb7d850
Measured- Completeness
- 97%
- Rows
- 4,664
- Columns
- 21
- Columns with gaps
- 8
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| monthvarchar | 0% | 211 | — |
|
| country_codevarchar | 0% | 1 | — |
|
| geo_namevarchar | 0% | 11 | — |
|
| province_codevarchar | 9.1% | 11 | — |
|
| geo_levelvarchar | 0% | 2 | — |
|
| horizonvarchar | 0% | 2 | — |
|
| barometer_indexdouble | 1.6% | 4,368 | 7.64 → 76.79median 57.8 | 92 outside 1st–99th percentile |
| moving_avg_windowbigint | 0% | 3 | 0 → 12median 3 | |
| split_month_flagboolean | 0% | 2 | — |
|
| index_mom_ppdouble | 2.1% | 4,682 | -45.53 → 22.5median 0 | 92 outside 1st–99th percentile |
| index_3m_change_ppdouble | 3% | 4,816 | -51.6 → 36.11median -0.0112 | 92 outside 1st–99th percentile |
| index_yoy_ppdouble | 7.3% | 5,219 | -56.75 → 44.67median -0.53 | 88 outside 1st–99th percentile |
| index_z36double | 18.1% | 4,076 | -5.58 → 3.05median -0.0422 | 78 outside 1st–99th percentile |
| sentiment_regimevarchar | 0% | 5 | — |
|
| vs_canada_ppdouble | 10.7% | 3,984 | -31.83 → 28.03median 0.405 | 84 outside 1st–99th percentile |
| province_rankbigint | 10.7% | 11 | 1 → 10median 5 | |
| record_high_36m_flagboolean | 0% | 2 | — |
|
| source_urlvarchar | 0% | 1 | — |
|
| observed_datevarchar | 0% | 1 | — |
|
| as_ofvarchar | 0% | 1 | — |
|
| row_hashvarchar | 0% | 5,659 | — |
|
- Current
20260930T151016Z-4b6b5bb7d850 · sha256 4b6b5bb7d850…
4,664 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/cfib_business_barometer_intel/ca_smb_sentiment_monthly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/cfib_business_barometer_intel/ca_smb_sentiment_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/cfib_business_barometer_intel/ca_smb_sentiment_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 20260930T151016Z-4b6b5bb7d850 and its content hash, so readers get exactly the data you used.
Canadian Federation of Independent Business (CFIB). (2026). Canadian small-business sentiment intelligence (monthly) [Data set, snapshot 20260930T151016Z-4b6b5bb7d850, sha256 4b6b5bb7d850]. Datazimuts. Retrieved 2026-10-01, from https://datazimuts.com/en/datasets/cfib_business_barometer_intel/ca_smb_sentiment_monthly?snapshot=20260930T151016Z-4b6b5bb7d850
@misc{dz_cfib_business_barometer_intel_ca_smb_sen_4b6b5bb7,
title = {{Canadian small-business sentiment intelligence (monthly)}},
author = {{Canadian Federation of Independent Business (CFIB)}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/cfib_business_barometer_intel/ca_smb_sentiment_monthly?snapshot=20260930T151016Z-4b6b5bb7d850}},
note = {Snapshot 20260930T151016Z-4b6b5bb7d850, sha256 4b6b5bb7d8509bfe3f296e7d86f4625984168b6543241b0d4606c89007573e0a; accessed 2026-10-01}
}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=cfib_business_barometer_intel%2Fca_smb_sentiment_monthly&lang=en&theme=auto&snapshot=20260930T151016Z-4b6b5bb7d850&x=sentiment_regime&y=barometer_index&agg=avg" title="Canadian small-business sentiment 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.