Economic data

Choose a country, explore its source history, and compare compatible readings. Keep date-filtered workspaces on this browser and download data with source evidence. Units, national exceptions and publishing schedules remain explicit.

Industrial production B-D growth, year on year, calendar adjusted

% · Monthly · Eurostat

EUROSTAT.INDPRO.BD.YOY.CA.M

History: European Union (27 countries, from 2020) (EU27). Dates filter the start of each reference period.

JSON & evidence
European Union (27 countries, from 2020): Download CSV · Source manifest
Recorded state & recording cutoff

Capture the latest complete SOTW recording, or replay an exact UTC cutoff and transaction revision. Imported historical observations may precede the recording archive.

Timestamp fractions and revision digits are retained exactly. Calendar dates alone are not recording cutoffs.

Loading source readings…

Definition, coverage & attribution

Native PRD NACE Rev.2 B-D scope; common Eurostat STS metadata excludes D353 (steam and air conditioning supply) and E. Construction is separate. German national B-D description does not resolve the D353 caveat. Selected rate is CA, not SCA or a 2021=100 index. Source native flags retained; an absent flag does not establish Final. Acquisition and dataset update clocks do not establish exact publisher availability or historical vintages. Display precision follows observed JSON number tokens, not a fixed future publisher precision.

Source: Eurostat, https://ec.europa.eu/eurostat/databrowser/view/sts_inpr_m/default/table?lang=en, accessed 2026-10-13. SOTW selects the reviewed countries and distinct source aggregates, preserves native rates and flags, and does not recalculate values. Eurostat is not responsible for this republication.

Selected Eurostat-owned statistical numerical facts for the current reviewed EU/EFTA/official-candidate country cohort and distinct Eurostat-created EU/euro-area aggregates, in SOTW own schema and presentation. UK, Kosovo and other unreviewed countries, third-party material, confidential/nonpublication/secrecy numerical values, forecasts and logos are excluded. Statistical-data permission remains distinct from editorial CC BY 4.0.

Eurostat statistical-data reuse conditions · SOTW’s reviewed country and aggregate interpretation. Third-party, country and trade exceptions still apply; editorial CC BY is separate. The narrow scope is retained in CSV rows.

Reuse terms: EU-2011-833. Effective resale permission: permitted under the provider terms.

Series-wide coverage: 1981-01-01 to 2026-08-01. SOTW publication: 2026-10-13T14:40:11.863475+00:00.

Acquisition and dataset-update dates do not establish original publication dates. This view shows current source readings. Use a recorded-state pin to replay SOTW’s archive from its activation boundary.

Compare the same native Eurostat rate across reviewed country or aggregate identities. Keep seasonal/calendar adjustment, industry scope, national-method differences, flags and aggregate composition visible; rates do not compare economic size. Original historical national-method continuity is not established.

{
  "unit": "%",
  "dataset": "sts_inpr_m",
  "selection": {
    "freq": "M",
    "unit": "PCH_SM",
    "s_adj": "CA",
    "nace_r2": "B-D",
    "indic_bt": "PRD"
  },
  "rights_url": "https://ec.europa.eu/eurostat/en/help/copyright-notice",
  "status_rule": "Native lowercase flags retained exactly in attributes; normalized observation status uppercase. Absence has no inferred finality. Method-level German provisional context is not an invented observation flag.",
  "growth_basis": "Native production-volume percentage change from the same month one year earlier (PCH_SM); no SOTW index calculation",
  "rights_scope": "Selected Eurostat-owned statistical numerical facts for the current reviewed EU/EFTA/official-candidate country cohort and distinct Eurostat-created EU/euro-area aggregates, in SOTW own schema and presentation. UK, Kosovo and other unreviewed countries, third-party material, confidential/nonpublication/secrecy numerical values, forecasts and logos are excluded. Statistical-data permission remains distinct from editorial CC BY 4.0.",
  "history_origin": "1953-01",
  "method_sources": [
    {
      "url": "https://ec.europa.eu/eurostat/cache/metadata/EN/sts_esms.htm",
      "applies_to": "reviewed common Eurostat definition",
      "source_body_sha256": "11c40adce544f1bdd791250a364c96c330b264fdf90ee64ec49735bdc2507dd4"
    },
    {
      "url": "https://ec.europa.eu/eurostat/cache/metadata/EN/sts_ind_prod_esms_de.htm",
      "applies_to": "DE only; national method context",
      "source_body_sha256": "eb8d22f3f1762e02c533dda082be8d108d87421361c2c4b6292e5b420ecf26e0"
    }
  ],
  "source_updated": {
    "full_grid_cells": 37128,
    "native_flag_cells": 1226,
    "source_body_sha256": "56ed55fd4587c3039312e735bcdae6f2731ab434d2fa848ce2c869eb88c82ed4",
    "source_flag_labels": {
      "i": "value imputed by Eurostat or other receiving agencies",
      "p": "provisional",
      "|C": "|confidential"
    },
    "native_numeric_cells": 13826,
    "dataset_update_literal": "2026-10-13T11:00:00+0200",
    "latest_global_axis_period": "2026-08",
    "native_explicit_null_cells": 0,
    "native_sparse_absent_cells": 23302,
    "source_clock_interpretation": "dataset-wide update literal; not individual release or exact availability",
    "actual_source_availability_at": null,
    "original_publisher_release_at": null,
    "per_geography_private_grid_summary": [
      {
        "numeric": 415,
        "forecast": 0,
        "native_geo": "EU27_2020",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "EU27",
        "sparse_absent": 469,
        "public_observations": 415,
        "leading_trailing_sparse": 469
      },
      {
        "numeric": 337,
        "forecast": 0,
        "native_geo": "EU28",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "EU28",
        "sparse_absent": 547,
        "public_observations": 337,
        "leading_trailing_sparse": 547
      },
      {
        "numeric": 415,
        "forecast": 0,
        "native_geo": "EA21",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "EA21",
        "sparse_absent": 469,
        "public_observations": 415,
        "leading_trailing_sparse": 469
      },
      {
        "numeric": 415,
        "forecast": 0,
        "native_geo": "EA20",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "EA20",
        "sparse_absent": 469,
        "public_observations": 415,
        "leading_trailing_sparse": 469
      },
      {
        "numeric": 392,
        "forecast": 0,
        "native_geo": "EA19",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "EA19",
        "sparse_absent": 492,
        "public_observations": 392,
        "leading_trailing_sparse": 492
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "BE",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "BEL",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "BG",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "BGR",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "CZ",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "CZE",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "DK",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "DNK",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 416,
        "forecast": 0,
        "native_geo": "DE",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "DEU",
        "sparse_absent": 468,
        "public_observations": 416,
        "leading_trailing_sparse": 468
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "EE",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "EST",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 548,
        "forecast": 0,
        "native_geo": "IE",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "IRL",
        "sparse_absent": 336,
        "public_observations": 548,
        "leading_trailing_sparse": 336
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "EL",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "GRC",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 404,
        "forecast": 0,
        "native_geo": "ES",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "ESP",
        "sparse_absent": 480,
        "public_observations": 404,
        "leading_trailing_sparse": 480
      },
      {
        "numeric": 428,
        "forecast": 0,
        "native_geo": "FR",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "FRA",
        "sparse_absent": 456,
        "public_observations": 428,
        "leading_trailing_sparse": 456
      },
      {
        "numeric": 332,
        "forecast": 0,
        "native_geo": "HR",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "HRV",
        "sparse_absent": 552,
        "public_observations": 332,
        "leading_trailing_sparse": 552
      },
      {
        "numeric": 428,
        "forecast": 0,
        "native_geo": "IT",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "ITA",
        "sparse_absent": 456,
        "public_observations": 428,
        "leading_trailing_sparse": 456
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "CY",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "CYP",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "LV",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "LVA",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 332,
        "forecast": 0,
        "native_geo": "LT",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "LTU",
        "sparse_absent": 552,
        "public_observations": 332,
        "leading_trailing_sparse": 552
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "LU",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "LUX",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "HU",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "HUN",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "MT",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "MLT",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "NL",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "NLD",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 356,
        "forecast": 0,
        "native_geo": "AT",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "AUT",
        "sparse_absent": 528,
        "public_observations": 356,
        "leading_trailing_sparse": 528
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "PL",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "POL",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "PT",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "PRT",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 307,
        "forecast": 0,
        "native_geo": "RO",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "ROU",
        "sparse_absent": 577,
        "public_observations": 307,
        "leading_trailing_sparse": 577
      },
      {
        "numeric": 332,
        "forecast": 0,
        "native_geo": "SI",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "SVN",
        "sparse_absent": 552,
        "public_observations": 332,
        "leading_trailing_sparse": 552
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "SK",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "SVK",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 368,
        "forecast": 0,
        "native_geo": "FI",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "FIN",
        "sparse_absent": 516,
        "public_observations": 368,
        "leading_trailing_sparse": 516
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "SE",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "SWE",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 368,
        "forecast": 0,
        "native_geo": "NO",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "NOR",
        "sparse_absent": 516,
        "public_observations": 368,
        "leading_trailing_sparse": 516
      },
      {
        "numeric": 177,
        "forecast": 0,
        "native_geo": "CH",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "CHE",
        "sparse_absent": 707,
        "public_observations": 177,
        "leading_trailing_sparse": 707
      },
      {
        "numeric": 262,
        "forecast": 0,
        "native_geo": "UK",
        "confidential": 12,
        "explicit_null": 0,
        "published_geo": null,
        "sparse_absent": 622,
        "public_observations": 0,
        "leading_trailing_sparse": 610
      },
      {
        "numeric": 236,
        "forecast": 0,
        "native_geo": "BA",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "BIH",
        "sparse_absent": 648,
        "public_observations": 236,
        "leading_trailing_sparse": 648
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "ME",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "MNE",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "MK",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "MKD",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 174,
        "forecast": 0,
        "native_geo": "AL",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "ALB",
        "sparse_absent": 710,
        "public_observations": 174,
        "leading_trailing_sparse": 710
      },
      {
        "numeric": 308,
        "forecast": 0,
        "native_geo": "RS",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "SRB",
        "sparse_absent": 576,
        "public_observations": 308,
        "leading_trailing_sparse": 576
      },
      {
        "numeric": 476,
        "forecast": 0,
        "native_geo": "TR",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "TUR",
        "sparse_absent": 408,
        "public_observations": 476,
        "leading_trailing_sparse": 408
      },
      {
        "numeric": 56,
        "forecast": 0,
        "native_geo": "UA",
        "confidential": 0,
        "explicit_null": 0,
        "published_geo": "UKR",
        "sparse_absent": 828,
        "public_observations": 56,
        "leading_trailing_sparse": 828
      }
    ],
    "historical_publisher_vintages_preserved": false
  },
  "missingness_rule": "Explicit JSON null and sparse absence retained distinctly within each source geography observed number/flag coordinate extent. Leading/trailing global-axis padding remains private, including dense-array padding nulls, and is not invented as public missing history or empty-country coverage. Changed source bodies may withdraw or recover cells; retained older bodies/anchors remain immutable.",
  "native_precision": "Original JSON number lexeme and its decimal places retained individually; no fixed future one-decimal precision assumed",
  "selection_labels": {
    "freq": {
      "label": "Time frequency",
      "category": {
        "index": {
          "M": 0
        },
        "label": {
          "M": "Monthly"
        }
      }
    },
    "unit": {
      "label": "Unit of measure",
      "category": {
        "index": {
          "PCH_SM": 0
        },
        "label": {
          "PCH_SM": "Percentage change compared to same period in previous year"
        }
      }
    },
    "s_adj": {
      "label": "Seasonal adjustment",
      "category": {
        "index": {
          "CA": 0
        },
        "label": {
          "CA": "Calendar adjusted data, not seasonally adjusted data"
        }
      }
    },
    "nace_r2": {
      "label": "Statistical classification of economic activities in the European Community (NACE Rev. 2)",
      "category": {
        "index": {
          "B-D": 0
        },
        "label": {
          "B-D": "Mining and quarrying; manufacturing; electricity, gas, steam and air conditioning supply"
        }
      }
    },
    "indic_bt": {
      "label": "Business trend indicator",
      "category": {
        "index": {
          "PRD": 0
        },
        "label": {
          "PRD": "Production (volume)"
        }
      }
    }
  },
  "geography_mapping": {
    "AL": "ALB",
    "AT": "AUT",
    "BA": "BIH",
    "BE": "BEL",
    "BG": "BGR",
    "CH": "CHE",
    "CY": "CYP",
    "CZ": "CZE",
    "DE": "DEU",
    "DK": "DNK",
    "EA": "EA",
    "EE": "EST",
    "EL": "GRC",
    "ES": "ESP",
    "FI": "FIN",
    "FR": "FRA",
    "GE": "GEO",
    "HR": "HRV",
    "HU": "HUN",
    "IE": "IRL",
    "IS": "ISL",
    "IT": "ITA",
    "LI": "LIE",
    "LT": "LTU",
    "LU": "LUX",
    "LV": "LVA",
    "MD": "MDA",
    "ME": "MNE",
    "MK": "MKD",
    "MT": "MLT",
    "NL": "NLD",
    "NO": "NOR",
    "PL": "POL",
    "PT": "PRT",
    "RO": "ROU",
    "RS": "SRB",
    "SE": "SWE",
    "SI": "SVN",
    "SK": "SVK",
    "TR": "TUR",
    "UA": "UKR",
    "EA12": "EA12",
    "EA19": "EA19",
    "EA20": "EA20",
    "EA21": "EA21",
    "EU28": "EU28",
    "EU27_2020": "EU27"
  },
  "rights_conditions": [
    "Credit Eurostat and dataset link with access date",
    "Describe SOTW selection and any modifications without misrepresenting the source",
    "State Eurostat is not responsible for SOTW republication",
    "No permission inferred for third-party materials, logos or excluded countries"
  ],
  "source_annualized": false,
  "source_dimensions": [
    "freq",
    "indic_bt",
    "nace_r2",
    "s_adj",
    "unit",
    "geo",
    "time"
  ],
  "publication_policy": "Full-grid values, statuses and no-data geometry validated before eligible-geography projection. Confidential/nonpublication/secrecy and forecasts never expose their numerical token; reviewed coordinates remain null with exact flags and exclusion reason.",
  "scope_review_sha256": "7040020a9221176a858ba96ebfe316d636353ddc35cf451d26696ae5f9312792",
  "seasonal_adjustment": "Calendar adjusted, not seasonally adjusted (CA)",
  "germany_only_context": {
    "rate_unit_is_index_base": false,
    "raw_measurement_context": "Monthly production survey is exhaustive above its 50-employee local-unit cutoff; small units and nonresponse are treated by published national estimation methods, not invented as direct census readings.",
    "applies_to_native_geography": "DE",
    "industry_scope_detail_caveat": "National B-D description versus Eurostat D353 exclusion is not silently harmonized",
    "historical_method_applicability": "Current reviewed national metadata; no unverified earlier publisher edition or method continuity inferred",
    "source_method_current_base_year": 2021,
    "current_history_territory_context": "National industrial metadata says current-base consistent series begin 1991; earlier series refer to former West Germany. Returned growth values begin 1992 and no pre-1991 territory splice is made.",
    "national_method_provisional_context": "German metadata describes monthly production indices as provisional; this is method-level context and is not invented as an original per-observation API flag.",
    "seasonal_adjustment_procedure_context": "German national metadata identifies calendar/seasonal adjustment using X13 in JDemetra+ 2.2, manual model selection and monthly parameter updates; the selected CA rate is not relabelled SCA."
  },
  "rights_review_sha256": "4df5813499230e44e41d2a2cd68bd3b8850953de0d71d5c2afb624736aa6dc18",
  "aggregate_composition": {
    "EA": "Euro area (EA11-1999, EA12-2001, EA13-2007, EA15-2008, EA16-2009, EA17-2011, EA18-2014, EA19-2015, EA20-2023, EA21-2026)",
    "EA12": "Euro area - 12 countries (2001-2006)",
    "EA19": "Euro area - 19 countries  (2015-2022)",
    "EA20": "Euro area – 20 countries (2023-2025)",
    "EA21": "Euro area – 21 countries (from 2026)",
    "EU28": "European Union - 28 countries (2013-2020)",
    "EU27_2020": "European Union - 27 countries (from 2020)"
  },
  "scalar_factor_applied": false,
  "source_geography_labels": {
    "AL": "Albania",
    "AT": "Austria",
    "BA": "Bosnia and Herzegovina",
    "BE": "Belgium",
    "BG": "Bulgaria",
    "CH": "Switzerland",
    "CY": "Cyprus",
    "CZ": "Czechia",
    "DE": "Germany",
    "DK": "Denmark",
    "EE": "Estonia",
    "EL": "Greece",
    "ES": "Spain",
    "FI": "Finland",
    "FR": "France",
    "HR": "Croatia",
    "HU": "Hungary",
    "IE": "Ireland",
    "IT": "Italy",
    "LT": "Lithuania",
    "LU": "Luxembourg",
    "LV": "Latvia",
    "ME": "Montenegro",
    "MK": "North Macedonia",
    "MT": "Malta",
    "NL": "Netherlands",
    "NO": "Norway",
    "PL": "Poland",
    "PT": "Portugal",
    "RO": "Romania",
    "RS": "Serbia",
    "SE": "Sweden",
    "SI": "Slovenia",
    "SK": "Slovakia",
    "TR": "Türkiye",
    "UA": "Ukraine",
    "UK": "United Kingdom",
    "EA19": "Euro area - 19 countries  (2015-2022)",
    "EA20": "Euro area – 20 countries (2023-2025)",
    "EA21": "Euro area – 21 countries (from 2026)",
    "EU28": "European Union - 28 countries (2013-2020)",
    "EU27_2020": "European Union - 27 countries (from 2020)"
  },
  "membership_review_sha256": "8066e5fee0414ccf4eddff1df2e30644bc0686a1d944e8cec738d6296347a9f5",
  "native_values_recomputed": false,
  "rights_legal_interpretation": true,
  "private_source_contract_sha256": "bd2528e201aff1de94a31a94736451595dcde22775340d077ea0b9d2aa91cfae",
  "private_raw_source_bodies_publicly_redistributed": false,
  "editorial_cc_by_4_clause_applies_to_selected_statistical_data": false
}