North America small-business sentiment panel (monthly)
Monthly North America small-business sentiment panel, 2021-01 onward: US NFIB Small Business Economic Trends optimism index (SA, 1986=100) + uncertainty index, and Canada CFIB Business Barometer 12-month + 3-month outlook indices (0-100 diffusion), with MoM/YoY point changes, trailing-12m z-scores, reference-line flags (NFIB 52-year avg 98.0 / historical uncertainty avg 68; CFIB diffusion neutral 50), the z-scored US-minus-Canada optimism gap, and expanding/contracting regimes. Sources: NFIB monthly SBET report PDF (history tables, gated against the report's own summary sentences) and the CFIB monthly data workbook xlsx (gated against the landing page's headline numbers) — both keyless. Panel window is the union of the two release schedules; cross-country features are null where a side is missing, never interpolated. One row per month x country. Who joins this: sales teams join pipeline on year_month (+ country_code) to model SMB demand; online shops join B2B orders on year_month + country_code.
- Rows
- 138
- Columns
- 22
- Source cadence
- Monthly
- Last refreshed
- Sep 29, 2026
- Theme
- economy
| Column | Type | Description |
|---|---|---|
| year_month | string | Calendar month as YYYY-MM (panel join key). (unit: string) |
| month_start | date | First day of the calendar month. (unit: date) |
| country | string | Country name (shared normalization layer). (unit: string) |
| country_code | string | ISO 3166-1 alpha-3 country code (USA/CAN). (unit: string) |
| optimism_index | float | Headline small-business optimism index. USA: NFIB Small Business Optimism Index (seasonally adjusted, 1986=100, ten survey indicators). Canada: CFIB Business Barometer 12-month outlook index (0-100 diffusion; > 50 = more owners expect stronger performance). Native scales differ — compare via index_z12, flags, and optimism_gap_z12. (unit: index) |
| secondary_index | float | Companion gauge. USA: NFIB Uncertainty Index (sum of 'Don't Know' & 'Uncertain' answers on 6 questions). Canada: CFIB 3-month outlook index (0-100 diffusion). (unit: index) |
| index_mom_pp | float | 1-month point change of optimism_index. (unit: points) |
| index_yoy_pp | float | 12-month point change of optimism_index (first year null, never back-filled). (unit: points) |
| secondary_mom_pp | float | 1-month point change of secondary_index. (unit: points) |
| secondary_yoy_pp | float | 12-month point change of secondary_index (first year null, never back-filled). (unit: points) |
| index_z12 | float | Trailing-12-month z-score of optimism_index: (x - mean(last 12)) / std(last 12, ddof=1); first 11 months null. (unit: z-score) |
| secondary_z12 | float | Trailing-12-month z-score of secondary_index; first 11 months null. (unit: z-score) |
| below_reference_flag | boolean | True when optimism sits below the documented reference line: USA < 98.0 (NFIB's published 52-year average); Canada < 50 (diffusion neutral). (unit: boolean) |
| secondary_flag | boolean | True when the companion gauge signals stress: USA uncertainty > 68 (NFIB's published historical average); Canada 3-month outlook < 50. (unit: boolean) |
| optimism_gap_z12 | float | US-minus-Canada optimism gap on standardized scales: us_index_z12 - ca_index_z12 for the same month. Positive = US small-business optimism running hotter relative to its own recent history than Canada's. Null when either side is missing. (unit: z-score) |
| us_regime | string | US optimism regime for the row's month: expanding (NFIB optimism >= 98.0), contracting, or pending (not yet released). (unit: string) |
| ca_regime | string | Canada optimism regime for the row's month: expanding (CFIB 12m >= 50), contracting, or pending. (unit: string) |
| row_regime | string | Combined regime label: us_<us_regime>__ca_<ca_regime>. (unit: string) |
| n_responses | float | CFIB survey response count for the month (Canada rows only; null on USA rows). (unit: count) |
| margin_of_error | float | CFIB margin of error in percentage points (Canada rows only; null on USA rows). (unit: percentage points) |
| row_hash | string | Deterministic 16-hex sha256 of year_month + country_code + the two index levels (idempotency key). (unit: string) |
| source_url | string | Exact upstream URL behind this row's country series (NFIB SBET report PDF or CFIB data workbook). (unit: url) |
First 10 sample rows — a preview, not the complete dataset.
| year_month | month_start | country | country_code | optimism_index | secondary_index | index_mom_pp | index_yoy_pp | secondary_mom_pp | secondary_yoy_pp | index_z12 | secondary_z12 | below_reference_flag | secondary_flag | optimism_gap_z12 | us_regime | ca_regime | row_regime | n_responses | margin_of_error | row_hash | source_url |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2021-01 | 2021-01-01 | Canada | CAN | 58.57 | 31.395 | — | — | — | — | — | — | false | true | — | contracting | expanding | us_contracting__ca_expanding | 1,371 | 2.647 | 3cd9dee2bca6ae6f | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx |
| 2021-01 | 2021-01-01 | United States | USA | 95 | 80 | — | — | — | — | — | — | true | true | — | contracting | expanding | us_contracting__ca_expanding | — | — | 0ca097834f628383 | https://www.nfib.com/wp-content/uploads/2026/09/NFIB-SBET-Report-August-2026.pdf |
| 2021-02 | 2021-02-01 | Canada | CAN | 62.479 | 42.129 | 3.908 | — | 10.733 | — | — | — | false | true | — | contracting | expanding | us_contracting__ca_expanding | 1,174 | 2.86 | 0e0d20b73a4917cb | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx |
| 2021-02 | 2021-02-01 | United States | USA | 95.8 | 75 | 0.8 | — | -5 | — | — | — | true | true | — | contracting | expanding | us_contracting__ca_expanding | — | — | a52c4da582881122 | https://www.nfib.com/wp-content/uploads/2026/09/NFIB-SBET-Report-August-2026.pdf |
| 2021-03 | 2021-03-01 | Canada | CAN | 68.283 | 52.215 | 5.804 | — | 10.086 | — | — | — | false | false | — | expanding | expanding | us_expanding__ca_expanding | 990 | 3.115 | 7257c4c722a1f5e2 | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx |
| 2021-03 | 2021-03-01 | United States | USA | 98.2 | 81 | 2.4 | — | 6 | — | — | — | false | true | — | expanding | expanding | us_expanding__ca_expanding | — | — | 56fff65da82e6cb1 | https://www.nfib.com/wp-content/uploads/2026/09/NFIB-SBET-Report-August-2026.pdf |
| 2021-04 | 2021-04-01 | Canada | CAN | 63.247 | 50.702 | -5.035 | — | -1.513 | — | — | — | false | false | — | expanding | expanding | us_expanding__ca_expanding | 970 | 3.147 | 0e55f53356c81cfc | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx |
| 2021-04 | 2021-04-01 | United States | USA | 99.8 | 80 | 1.6 | — | -1 | — | — | — | false | true | — | expanding | expanding | us_expanding__ca_expanding | — | — | 0af5e2b2541ffef0 | https://www.nfib.com/wp-content/uploads/2026/09/NFIB-SBET-Report-August-2026.pdf |
| 2021-05 | 2021-05-01 | Canada | CAN | 66.218 | 51.51 | 2.97 | — | 0.808 | — | — | — | false | false | — | expanding | expanding | us_expanding__ca_expanding | 1,002 | 3.096 | cf474aa87949395f | https://www.cfib-fcei.ca/hubfs/research/mbb/2026/Sept2026/CFIB_MBB-data-donnes-2026-09.xlsx |
| 2021-05 | 2021-05-01 | United States | USA | 99.6 | 79 | -0.2 | — | -1 | — | — | — | false | true | — | expanding | expanding | us_expanding__ca_expanding | — | — | f1c9652a00696a4d | https://www.nfib.com/wp-content/uploads/2026/09/NFIB-SBET-Report-August-2026.pdf |
- Current
20260929T104253Z-32e8f17b9623 · sha256 32e8f17b9623…
138 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/na_smallbiz_sentiment/na_smallbiz_sentiment_panel" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/na_smallbiz_sentiment/na_smallbiz_sentiment_panel").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/na_smallbiz_sentiment/na_smallbiz_sentiment_panel
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 20260929T104253Z-32e8f17b9623 and its content hash, so readers get exactly the data you used.
North America small-business sentiment (NFIB + CFIB, keyless). (2026). North America small-business sentiment panel (monthly) [Data set, snapshot 20260929T104253Z-32e8f17b9623, sha256 32e8f17b9623]. Datazimuts. Retrieved 2026-09-30, from https://datazimuts.com/en/datasets/na_smallbiz_sentiment/na_smallbiz_sentiment_panel?snapshot=20260929T104253Z-32e8f17b9623
@misc{dz_na_smallbiz_sentiment_na_smallbiz_sentim_32e8f17b,
title = {{North America small-business sentiment panel (monthly)}},
author = {{North America small-business sentiment (NFIB + CFIB, keyless)}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/na_smallbiz_sentiment/na_smallbiz_sentiment_panel?snapshot=20260929T104253Z-32e8f17b9623}},
note = {Snapshot 20260929T104253Z-32e8f17b9623, sha256 32e8f17b962362955670f46eeb0f56169cd79217f8b29e56fbdb6f7165c0db16; accessed 2026-09-30}
}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=na_smallbiz_sentiment%2Fna_smallbiz_sentiment_panel&lang=en&theme=auto&snapshot=20260929T104253Z-32e8f17b9623&x=year_month&y=optimism_index&agg=avg" title="North America small-business sentiment panel (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.