KOF Economic Barometer signals (monthly)
Downloads are disabled for this dataset: its license prohibits commercial use. The documentation, schema and sample rows stay available here.
Monthly Swiss business-cycle pulse from the KOF Swiss Economic Institute's Economic Barometer (keyless official TSDB API, 1991 to present): the institute's leading indicator for the Swiss economy, long-term average 100, with a trailing 3-month moving average, month-over-month / year-over-year momentum, deviation from 100, a trailing-10-year z-score, documented above/below-average regime labels, rapid-heating/cooling flags, trailing-10-year record-high/low flags and a below-average streak counter. An online shop joins orders to month for demand-regime features, a subscription business joins churn/dunning cohorts, and a sales team joins pipeline timing. Caveats: a survey-based leading indicator, not observed GDP — single-month prints are noisy; history is revised by the publisher. KOF/ETH Zurich: non-commercial reuse with attribution; commercial reuse needs prior written consent.
- Rows
- 429
- Columns
- 16
- Source cadence
- Monthly
- Last refreshed
- Oct 9, 2026
- Theme
- economy
| Column | Type | Description |
|---|---|---|
| month | string | Observation month (first day of the month, ISO date); panel join key. KOF publishes the barometer near month-end. (unit: date) |
| country_code | string | ISO 3166-1 alpha-2 country code; always 'CH' (Switzerland). (unit: string) |
| barometer | float | KOF Economic Barometer index, kept verbatim as published (key ch.kof.barometer). A leading indicator for the Swiss business cycle; long-term average 100. (unit: index points) |
| barometer_3m_ma | float | Trailing 3-month moving average of the barometer (the steadier read; single-month prints are noisy). (unit: index points) |
| barometer_mom_pp | float | Month-over-month change of the barometer, in index points. (unit: index points) |
| barometer_yoy_pp | float | Year-over-year change of the barometer, in index points. (unit: index points) |
| dev_from_100 | float | Barometer minus 100: distance from the long-term average (positive = above-average growth outlook). (unit: index points) |
| barometer_z10y | float | Trailing-10-year z-score of the barometer (minimum 24 observations): how hot or cold the cycle runs versus the past decade. (unit: z-score) |
| cycle_regime | string | Documented regime on the 100 anchor: 'above_average' (barometer >= 100) or 'below_average' (barometer < 100). (unit: string) |
| above_avg_flag | integer | 1 when the barometer is at or above its long-term average of 100. (unit: boolean) |
| rapid_cooling_flag | integer | 1 when the month-over-month change is -3.0 index points or worse (a sharp monthly deterioration). (unit: boolean) |
| rapid_heating_flag | integer | 1 when the month-over-month change is +3.0 index points or better (a sharp monthly improvement). (unit: boolean) |
| record_high_10y_flag | integer | 1 when the print is the trailing-10-year maximum (minimum 60 observations). (unit: boolean) |
| record_low_10y_flag | integer | 1 when the print is the trailing-10-year minimum (minimum 60 observations). (unit: boolean) |
| below_avg_streak | integer | Consecutive months with the barometer below 100 ending this month (0 when the month itself is >= 100): the soft-patch clock. (unit: months) |
| row_hash | string | Deterministic 16-hex sha256 of the month (idempotency key). (unit: string) |
First 10 sample rows — a preview, not the complete dataset.
| month | country_code | barometer | barometer_3m_ma | barometer_mom_pp | barometer_yoy_pp | dev_from_100 | barometer_z10y | cycle_regime | above_avg_flag | rapid_cooling_flag | rapid_heating_flag | record_high_10y_flag | record_low_10y_flag | below_avg_streak | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1991-01-01 | CH | 89.856 | — | — | — | -10.144 | — | below_average | 0 | 0 | 0 | 0 | 0 | 1 | cccd2ad3090d926c |
| 1991-02-01 | CH | 74.728 | — | -15.128 | — | -25.272 | — | below_average | 0 | 1 | 0 | 0 | 0 | 2 | 20dc93d7b2f16efd |
| 1991-03-01 | CH | 87.774 | 84.119 | 13.046 | — | -12.226 | — | below_average | 0 | 0 | 1 | 0 | 0 | 3 | 5b9b581e4bc8905c |
| 1991-04-01 | CH | 94.058 | 85.52 | 6.285 | — | -5.942 | — | below_average | 0 | 0 | 1 | 0 | 0 | 4 | da2789d2eddbceb0 |
| 1991-05-01 | CH | 96.204 | 92.679 | 2.145 | — | -3.796 | — | below_average | 0 | 0 | 0 | 0 | 0 | 5 | 4af6cf6e190de275 |
| 1991-06-01 | CH | 92.203 | 94.155 | -4 | — | -7.797 | — | below_average | 0 | 1 | 0 | 0 | 0 | 6 | a727200486ea7970 |
| 1991-07-01 | CH | 93.318 | 93.908 | 1.115 | — | -6.682 | — | below_average | 0 | 0 | 0 | 0 | 0 | 7 | d5603380e3423320 |
| 1991-08-01 | CH | 94.091 | 93.204 | 0.772 | — | -5.909 | — | below_average | 0 | 0 | 0 | 0 | 0 | 8 | 0a9f31e36bf4a8d6 |
| 1991-09-01 | CH | 98.57 | 95.326 | 4.479 | — | -1.43 | — | below_average | 0 | 0 | 1 | 0 | 0 | 9 | 0648c4811d7bd618 |
| 1991-10-01 | CH | 100.238 | 97.633 | 1.667 | — | 0.238 | — | above_average | 1 | 0 | 0 | 0 | 0 | 0 | 5c260986905b11c1 |
Profiled Oct 9, 2026 from snapshot 20261009T204026Z-084280e3cd46
Measured- Completeness
- 99.4%
- Rows
- 429
- Columns
- 16
- Columns with gaps
- 4
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| monthvarchar | 0% | 392 | — |
|
| country_codevarchar | 0% | 1 | — |
|
| barometerdouble | 0% | 383 | 48.3 → 128.46median 99.97 | 10 outside 1st–99th percentile |
| barometer_3m_madouble | 0.47% | 444 | 64.28 → 125.03median 99.98 | 10 outside 1st–99th percentile |
| barometer_mom_ppdouble | 0.23% | 409 | -32 → 29.15median 0.054 | 10 outside 1st–99th percentile |
| barometer_yoy_ppdouble | 2.8% | 408 | -48.78 → 80.16median 0.7606 | 10 outside 1st–99th percentile |
| dev_from_100double | 0% | 401 | -51.7 → 28.46median -0.0338 | 10 outside 1st–99th percentile |
| barometer_z10ydouble | 5.4% | 405 | -6.09 → 3.05median 0.0729 | 10 outside 1st–99th percentile |
| cycle_regimevarchar | 0% | 2 | — |
|
| above_avg_flagbigint | 0% | 2 | 0 → 1median 0 | |
| rapid_cooling_flagbigint | 0% | 2 | 0 → 1median 0 | |
| rapid_heating_flagbigint | 0% | 2 | 0 → 1median 0 | |
| record_high_10y_flagbigint | 0% | 2 | 0 → 1median 0 | |
| record_low_10y_flagbigint | 0% | 2 | 0 → 1median 0 | |
| below_avg_streakbigint | 0% | 27 | 0 → 25median 1 | 3 outside 1st–99th percentile |
| row_hashvarchar | 0% | 392 | — |
|
- Current
20261009T204026Z-084280e3cd46 · sha256 084280e3cd46…
429 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/kof_barometer_intel/kof_barometer_monthly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/kof_barometer_intel/kof_barometer_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/kof_barometer_intel/kof_barometer_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 20261009T204026Z-084280e3cd46 and its content hash, so readers get exactly the data you used.
KOF Swiss Economic Institute (ETH Zurich). (2026). KOF Economic Barometer signals (monthly) [Data set, snapshot 20261009T204026Z-084280e3cd46, sha256 084280e3cd46]. Datazimuts. Retrieved 2026-10-10, from https://datazimuts.com/en/datasets/kof_barometer_intel/kof_barometer_monthly?snapshot=20261009T204026Z-084280e3cd46
@misc{dz_kof_barometer_intel_kof_barometer_monthl_084280e3,
title = {{KOF Economic Barometer signals (monthly)}},
author = {{KOF Swiss Economic Institute (ETH Zurich)}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/kof_barometer_intel/kof_barometer_monthly?snapshot=20261009T204026Z-084280e3cd46}},
note = {Snapshot 20261009T204026Z-084280e3cd46, sha256 084280e3cd46d96fe05d796cb91bb5492d3fe870d5f189979331e989286c1f88; accessed 2026-10-10}
}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=kof_barometer_intel%2Fkof_barometer_monthly&lang=en&theme=auto&snapshot=20261009T204026Z-084280e3cd46&x=month&y=barometer&agg=avg" title="KOF Economic Barometer signals (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.