US state business conditions, biweekly (Census BTOS)
Biweekly business-conditions intelligence for the 50 US states, DC, Puerto Rico and the BTOS multi-unit national grouping, from the Census Bureau Business Trends and Outlook Survey (~1.2M employer businesses): the 15 published BTOS diffusion indexes (current performance, revenues, demand, employees, hours, input/output prices, delivery time, plus 6-month outlooks) as idx_* columns, one row per (state, biweekly cycle), cycles 202319 to latest (Sep 2023 -> Sep 2026), each joined to its survey reference-period dates. Disclosure-suppressed cells are explicit nulls (never imputed; cycles 202521-202523 were hit by the Oct-Nov 2025 federal funding lapse). Adds three documented composite scores (current-conditions, outlook, business-health), their cycle-over-cycle momentum, per-cycle health ranks and tiers, trailing-year z-scores and expansion/contraction flags — a (date, state) demand driver for retail forecasting, churn models and territory planning. BTOS is the fastest official read on Main-Street conditions, biweekly where monthly series lag by weeks.
- Rows
- 4,187
- Columns
- 34
- Source cadence
- Weekly
- Last refreshed
- Oct 1, 2026
- Theme
- economy
| Column | Type | Description |
|---|---|---|
| state_code | string | BTOS state code: 50 states + DC + PR + XX. |
| state_name | string | State / grouping name. |
| geo_type | string | 'state' | 'district' (DC) | 'territory' (PR) | 'multiunit_national' (XX: BTOS multi-unit companies national grouping, not a geography). |
| country_code | string | ISO alpha-3: USA (PRI for Puerto Rico). |
| cycle | string | BTOS biweekly cycle label YYYYPP (PP = 01..26 biweekly periods per year). |
| ref_period_start | date | Reference-period start: the survey's prior-two-week reference window. |
| ref_period_end | date | Reference-period end (join key for demand). |
| idx_current_performance | float | BTOS diffusion index 'Current performance' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_delivery_time | float | BTOS diffusion index 'Delivery time' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_demand | float | BTOS diffusion index 'Demand' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_employees | float | BTOS diffusion index 'Employees' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_future_delivery_time | float | BTOS diffusion index 'Future delivery time' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_future_demand | float | BTOS diffusion index 'Future demand' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_future_employees | float | BTOS diffusion index 'Future employees' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_future_hours | float | BTOS diffusion index 'Future hours' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_future_input_prices | float | BTOS diffusion index 'Future input prices' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_future_output_prices | float | BTOS diffusion index 'Future output prices' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_future_performance | float | BTOS diffusion index 'Future performance' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_hours | float | BTOS diffusion index 'Hours' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_input_prices | float | BTOS diffusion index 'Input prices' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_output_prices | float | BTOS diffusion index 'Output prices' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| idx_revenues | float | BTOS diffusion index 'Revenues' (0-100; 50 = neutral; 100*(1*p_increase + 0.5*p_same)). Null = disclosure-suppressed upstream. |
| current_conditions_score | float | Documented composite: mean(idx_current_performance, idx_revenues, idx_demand, idx_employees, idx_hours). Null unless all five components are non-null. |
| outlook_score | float | Documented composite: mean of the four future idx_* columns. Null unless all four are non-null. |
| business_health_score | float | Documented composite: mean(current_conditions_score, outlook_score). Null unless both are non-null. |
| current_mom_pp | float | Cycle-over-cycle change (points) of current_conditions_score per state; null on the base cycle. |
| outlook_mom_pp | float | Cycle-over-cycle change (points) of outlook_score per state; null on the base cycle. |
| health_mom_pp | float | Cycle-over-cycle change (points) of business_health_score per state; null on the base cycle. |
| health_rank | integer | Per-cycle competition rank of business_health_score across geos (1 = healthiest). |
| health_tier | integer | Fixed-cut tier on business_health_score: 4 strong (>= 55), 3 firm (>= 52), 2 soft (>= 50), 1 weak (< 50). |
| health_zscore_1y | float | business_health_score vs trailing-26-cycle mean/std per state (min 8 obs); null during warmup. |
| expanding_flag | boolean | True when business_health_score >= 52; null when the composite is null. |
| contracting_flag | boolean | True when business_health_score < 48; null when the composite is null. |
| row_hash | string | Deterministic 16-hex sha256 over 'BTOS|<state_code>|<cycle>'. |
First 10 sample rows — a preview, not the complete dataset.
| state_code | state_name | geo_type | country_code | cycle | ref_period_start | ref_period_end | idx_current_performance | idx_delivery_time | idx_demand | idx_employees | idx_future_delivery_time | idx_future_demand | idx_future_employees | idx_future_hours | idx_future_input_prices | idx_future_output_prices | idx_future_performance | idx_hours | idx_input_prices | idx_output_prices | idx_revenues | current_conditions_score | outlook_score | business_health_score | current_mom_pp | outlook_mom_pp | health_mom_pp | health_rank | health_tier | health_zscore_1y | expanding_flag | contracting_flag | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AK | Alaska | state | USA | 202319 | 2023-08-28 | 2023-09-10 | 62 | 55.2 | 40.8 | 39.4 | 59.3 | 52.8 | 47.7 | 44.4 | 82.1 | 66.2 | 59.1 | 39.6 | 74.2 | 54.1 | 34.5 | 43.26 | 51 | 47.13 | — | — | — | 53 | 1 | — | false | true | e4043a94349b9751 |
| AK | Alaska | state | USA | 202320 | 2023-09-11 | 2023-09-24 | 55.3 | 50.7 | 43 | 45 | 53.4 | 52.6 | 52.3 | 42.9 | 82.1 | 68 | 52.2 | 42.6 | 71.2 | 52.1 | 37.6 | 44.7 | 50 | 47.35 | 1.44 | -1 | 0.22 | 53 | 1 | — | false | true | 3321eb0c5be21f9c |
| AK | Alaska | state | USA | 202321 | 2023-09-25 | 2023-10-08 | 62.8 | 53.5 | 50.1 | 48 | 56.1 | 53.7 | 53.8 | 48.4 | 78.3 | 66.1 | 57.5 | 46.4 | 65.4 | 50.9 | 48.4 | 51.14 | 53.35 | 52.245 | 6.44 | 3.35 | 4.895 | 6 | 3 | — | true | false | 171b7097696bebd6 |
| AK | Alaska | state | USA | 202322 | 2023-10-09 | 2023-10-22 | 57.4 | 54.4 | 43.3 | 47.2 | 57.8 | 56 | 53.4 | 52.3 | 78.3 | 68 | 55.1 | 45 | 60.2 | 54.9 | 46.1 | 47.8 | 54.2 | 51 | -3.34 | 0.85 | -1.245 | 26 | 2 | — | false | false | 30158299a1cd943b |
| AK | Alaska | state | USA | 202323 | 2023-10-23 | 2023-11-05 | 59.4 | 57.2 | 41.6 | 45.9 | 56.4 | 56.2 | 53.7 | 53 | 82.3 | 66.6 | 53 | 43.4 | 69.4 | 57.2 | 35 | 45.06 | 53.975 | 49.518 | -2.74 | -0.225 | -1.483 | 42 | 1 | — | false | false | 75c6c05bad48c0ac |
| AK | Alaska | state | USA | 202324 | 2023-11-06 | 2023-11-19 | 58 | 55 | 43.2 | 46.7 | 55.4 | 62.5 | 57.3 | 59.5 | 78 | 68.6 | 54 | 42.7 | 68.8 | 55.7 | 40.9 | 46.3 | 58.325 | 52.313 | 1.24 | 4.35 | 2.795 | 5 | 3 | — | true | false | 21aa7f22d8150b06 |
| AK | Alaska | state | USA | 202325 | 2023-11-20 | 2023-12-03 | 59.8 | 61.2 | 44.9 | 45.9 | 51.7 | 59.1 | 58.5 | 56.3 | 76.4 | 68.4 | 59.9 | 43.5 | 66.1 | 54.1 | 42.3 | 47.28 | 58.45 | 52.865 | 0.98 | 0.125 | 0.553 | 3 | 3 | — | true | false | d04dc58ccd3d8e9d |
| AK | Alaska | state | USA | 202326 | 2023-12-04 | 2023-12-17 | 56.3 | 56.3 | 46.6 | 48.7 | 49.5 | 66 | 59.7 | 62.6 | 80.2 | 65.6 | 59.2 | 47.7 | 65.1 | 56 | 47.8 | 49.42 | 61.875 | 55.647 | 2.14 | 3.425 | 2.782 | 2 | 4 | 1.6 | true | false | 4a399aa6a6941528 |
| AK | Alaska | state | USA | 202401 | 2023-12-18 | 2023-12-31 | 59.2 | 61.6 | 45.8 | 46.1 | 58.8 | 62.3 | 57.5 | 60.9 | 69.6 | 64.7 | 58.4 | 38.5 | 63.8 | 53 | 40.2 | 45.96 | 59.775 | 52.867 | -3.46 | -2.1 | -2.78 | 4 | 3 | 0.594 | true | false | 80344da108d637bf |
| AK | Alaska | state | USA | 202402 | 2024-01-01 | 2024-01-14 | 55.5 | 53.9 | 42.2 | 44.7 | 42.6 | 53.8 | 58.8 | 57.8 | 76.1 | 66 | 53.7 | 43.6 | 71.1 | 56.9 | 38.1 | 44.82 | 56.025 | 50.423 | -1.14 | -3.75 | -2.445 | 26 | 2 | -0.271 | false | false | 392cbe724b2fd8b9 |
Profiled Oct 1, 2026 from snapshot 20261001T230958Z-b14a7a65f768
Measured- Completeness
- 96.6%
- Rows
- 4,187
- Columns
- 34
- Columns with gaps
- 26
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| state_codevarchar | 0% | 58 | — |
|
| state_namevarchar | 0% | 60 | — |
|
| geo_typevarchar | 0% | 3 | — |
|
| country_codevarchar | 0% | 2 | — |
|
| cyclevarchar | 0% | 77 | — |
|
| ref_period_startdate | 0% | 100 | Aug 28, 2023 → Aug 24, 2026 | — |
| ref_period_enddate | 0% | 91 | Sep 10, 2023 → Sep 6, 2026 | — |
| idx_current_performancedouble | 3.8% | 243 | 44 → 69median 55.4 | 82 outside 1st–99th percentile |
| idx_delivery_timedouble | 3.8% | 167 | 36.7 → 65.7median 52.7 | 81 outside 1st–99th percentile |
| idx_demanddouble | 3.8% | 217 | 32.5 → 59.4median 44.8 | 81 outside 1st–99th percentile |
| idx_employeesdouble | 3.8% | 146 | 38 → 58median 47.9 | 77 outside 1st–99th percentile |
| idx_future_delivery_timedouble | 3.8% | 184 | 39 → 69.8median 53 | 78 outside 1st–99th percentile |
| idx_future_demanddouble | 3.8% | 304 | 35.8 → 70.2median 54 | 81 outside 1st–99th percentile |
| idx_future_employeesdouble | 3.8% | 217 | 39.4 → 67.1median 52.4 | 81 outside 1st–99th percentile |
| idx_future_hoursdouble | 3.8% | 250 | 36.6 → 66.9median 51.75 | 79 outside 1st–99th percentile |
| idx_future_input_pricesdouble | 3.8% | 204 | 60.5 → 90.7median 75.2 | 82 outside 1st–99th percentile |
| idx_future_output_pricesdouble | 3.8% | 206 | 50.9 → 77.2median 64.5 | 79 outside 1st–99th percentile |
| idx_future_performancedouble | 3.8% | 204 | 45.4 → 68.6median 55.2 | 81 outside 1st–99th percentile |
| idx_hoursdouble | 3.8% | 214 | 32.4 → 57.4median 46.3 | 77 outside 1st–99th percentile |
| idx_input_pricesdouble | 3.8% | 213 | 52.8 → 87.3median 68.1 | 82 outside 1st–99th percentile |
| idx_output_pricesdouble | 3.8% | 148 | 43.4 → 68.1median 55.2 | 80 outside 1st–99th percentile |
| idx_revenuesdouble | 3.8% | 246 | 27.4 → 57.1median 42.2 | 80 outside 1st–99th percentile |
| current_conditions_scoredouble | 3.8% | 1,061 | 38.3 → 56.46median 47.32 | 82 outside 1st–99th percentile |
| outlook_scoredouble | 3.8% | 1,140 | 41.8 → 64.93median 53.35 | 80 outside 1st–99th percentile |
| business_health_scoredouble | 3.8% | 3,253 | 42.5 → 59.53median 50.43 | 82 outside 1st–99th percentile |
| current_mom_ppdouble | 6.3% | 1,502 | -11.84 → 9.8median 0.02 | 80 outside 1st–99th percentile |
| outlook_mom_ppdouble | 6.3% | 1,119 | -12.13 → 11.25median 0 | 80 outside 1st–99th percentile |
| health_mom_ppdouble | 6.3% | 2,812 | -9.51 → 8.5median -0.0088 | 80 outside 1st–99th percentile |
| health_rankbigint | 3.8% | 47 | 1 → 53median 27 | |
| health_tierbigint | 3.8% | 4 | 1 → 4median 2 | |
| health_zscore_1ydouble | 12.7% | 3,630 | -3.14 → 2.93median 0.0165 | 74 outside 1st–99th percentile |
| expanding_flagboolean | 3.8% | 2 | — |
|
| contracting_flagboolean | 3.8% | 2 | — |
|
| row_hashvarchar | 0% | 3,955 | — |
|
- Current
20261001T230958Z-b14a7a65f768 · sha256 b14a7a65f768…
4,187 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/btos_state_business_intel/us_state_business_conditions_biweekly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/btos_state_business_intel/us_state_business_conditions_biweekly").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/btos_state_business_intel/us_state_business_conditions_biweekly
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 20261001T230958Z-b14a7a65f768 and its content hash, so readers get exactly the data you used.
U.S. Census Bureau Business Trends and Outlook Survey (BTOS) — state business-conditions intelligence. (2026). US state business conditions, biweekly (Census BTOS) [Data set, snapshot 20261001T230958Z-b14a7a65f768, sha256 b14a7a65f768]. Datazimuts. Retrieved 2026-10-02, from https://datazimuts.com/en/datasets/btos_state_business_intel/us_state_business_conditions_biweekly?snapshot=20261001T230958Z-b14a7a65f768
@misc{dz_btos_state_business_intel_us_state_busin_b14a7a65,
title = {{US state business conditions, biweekly (Census BTOS)}},
author = {{U.S. Census Bureau Business Trends and Outlook Survey (BTOS) — state business-conditions intelligence}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/btos_state_business_intel/us_state_business_conditions_biweekly?snapshot=20261001T230958Z-b14a7a65f768}},
note = {Snapshot 20261001T230958Z-b14a7a65f768, sha256 b14a7a65f768e1c48bd471a0da749b809da26a29b0c5cee7872e20bebbe88369; 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=btos_state_business_intel%2Fus_state_business_conditions_biweekly&lang=en&theme=auto&snapshot=20261001T230958Z-b14a7a65f768&x=ref_period_start&y=idx_current_performance&agg=avg" title="US state business conditions, biweekly (Census BTOS)" 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.