Cefic Iris by Cefic
Data and methodology

How Iris is built

← Back to editions

Iris is reproducible from public Eurostat data end-to-end. The sections below list every input series, the calculations that turn them into indicators, the pipeline that drafts and publishes the edition, and the editorial rules that govern the prose.

1. Data sources

Production index

sts_inpr_m
NACE C20 (Chemicals, 2-digit) Benchmarks C, C21, C24, C29 Geo EU27_2020 + 27 states Unit I21 (2021 = 100) s_adj SCA (seasonally + working-day adjusted)

Monthly index of industrial production. Chemicals only (NACE C20); pharmaceuticals (C21), basic metals (C24), motor vehicles (C29) pulled as peer-sector benchmarks. Feeds the Output sparkline and the per-country YoY bar list in the Macro brief tab.

Eurostat databrowser, sts_inpr_m

Producer prices

sts_inppd_m
NACE C20 Market domestic Geo EU27_2020 + 27 states Unit I21 (2021 = 100)

Monthly index of producer prices in industry (domestic market), NACE C20, EU27 aggregate and member states. Feeds the Prices sparkline and the country price-decline ranking in trade commentary.

Eurostat databrowser, sts_inppd_m

Chemical sales (turnover)

sts_intv_m
NACE C20 Geo EU27_2020 + 27 states Unit I21 (2021 = 100)

Monthly turnover index in industry, NACE C20. Published with a slightly longer lag than production and prices (typically T+7 to T+8 weeks); the macro brief flags the lag window when the turnover reference month trails the production reference month.

Eurostat databrowser, sts_intv_m

Trade flows (exports/imports)

Comext
Declarant EU (EU27 as reporter) PartnerEU27 (extra-EU only) Products 1,372 CN 8-digit codes Flows 1 = imports, 2 = exports

Chemistry filter maps CPA 2015 → CN 2025 via the Cefic SubstanceId.csv lookup. Coverage by NACE 4-digit class:

  • NACE 20.11-20.17 basic chemicals (industrial gases, dyes, inorganic and organic chemicals, fertilisers, primary plastics, synthetic rubber)
  • NACE 20.20 pesticides and other agrochemical products
  • NACE 20.30 paints, varnishes, printing inks
  • NACE 20.41-20.42 soaps, detergents, cleaning and polishing preparations, perfumes
  • NACE 20.51-20.59 other chemical products (explosives, glues, essential oils, photographic chemicals)
  • NACE 20.60 man-made fibres
  • NACE 21.10 basic pharmaceutical products (active pharmaceutical ingredients). NACE 21.20 finished drugs is excluded.

Source of the 60-month balance chart, the exports-by-partner chart, the US/CN/GB partner cards, and the CN 8-digit waterfall charts.

Eurostat, Comext database

Key scope difference. The industrial-indicator path (production, prices, sales) is strict C20 and never picks up pharmaceuticals. The trade path reaches into 21.10 because the Cefic chemistry map explicitly includes active pharmaceutical ingredients. Expect imports from the United States and China to skew high on polypeptide hormones and heterocyclic compounds for that reason.

2. Classifications

3. Calculations

Year-on-year (YoY)
(current − previous) ÷ previous × 100

Current period value against the same period one year earlier. Default window for monthly indicators.

Year-to-date (YTD)
Σ(first N months of Y) ÷ Σ(first N months of Y-1) − 1

Used for trade flows where a single-month reading is too noisy. Never mixed with single-month figures in the same sentence without an explicit scope prefix.

Pre-crisis baseline
avg(2014 … 2019)

Six-year average (2014-2019) used to measure the structural gap opened by the 2022 energy shock. Quoted as "X below pre-crisis levels (2014-2019 average)".

Partner drill-down
Σ(value_current − value_prev) by CN8

For US, CN, GB: top 3 positive movers, top 3 negative movers, residual "Other" bar so the totals reconcile. Labels from the Comext nomenclature.

Pareto concentration
top-N cumulative share ≥ 50% of Σ|Δ|

Triggers the Pareto framing in prose only when concentrated. Flat distributions get a chapter-level breakdown instead.

Base-effect guards
5 signals → severity ∈ {none, watch, warn, critical}

Trade shock without industrial co-movement, ≤ 2 partners carrying > 75% of the variation, comparison base > 2 sigma above its 12-month rolling mean, Δ vs N-2 less than half Δ vs N-1, value/volume divergence > 2×.

4. Pipeline

  1. Fetch

    Pulls monthly STS series from the Eurostat JSON API for C20 production, prices, and turnover, across the EU27 and the 27 member states. Trade data reads from a sibling Comext ETL parquet, already filtered to chemistry (14M+ rows, 2002-present, monthly). Raw cache written to a local folder keyed by reference month.

  2. Process

    Computes YoY, YTD, pre-crisis deltas, per-country and per-sector breakdowns, partner drill-downs, 60-month historical series, and the anomaly report. Outputs are one self-contained fiche per section (output, prices, sales, trade_exports, trade_imports, macro_brief) that drives both the prose drafting and the site rendering.

  3. Draft

    Five sections drafted by Claude Sonnet with a canonical system prompt and the fiche JSON as user message. Each draft is quality-gated (word count, banned connectors, zero em dashes, zero bullets in the macro brief); on gate failure the request re-runs on Opus and the best of the two is kept.

  4. Macro brief

    The opening headline and 80-120 word paragraph are drafted from the already-reconciled sections, under a dedicated prompt overlay. Anomaly-active mode expands the word ceiling to 150 when a base-effect caveat is mandatory.

  5. Visualise

    Index series and country bars are rendered as static SVG via matplotlib; long-arc line charts, partner breakdowns, and waterfalls are rendered inline at site build time from the fiches, so they scale cleanly in the zoom lightbox and accept hover tooltips.

  6. Build

    The pipeline emits a consolidated edition Markdown file into the Astro content collection. Astro's static build wires charts, fiches, and the MDX body into the dashboard template and the print-layout page.

  7. Publish

    The static site is deployed to Azure Static Web Apps, redeploying iris.cefic.org within 1-2 minutes of the publish trigger. The PDF is generated by a headless Chromium pass over the print-layout page and committed alongside the edition.

5. Scheduled jobs

6. Editorial engine

All prose is written by an LLM under a 500-line style guide derived from Cefic's Facts & Figures and Chemical Trends Reports corpus, synthesised into 24 editorial patterns. Twenty MUST rules and a dozen SHOULD rules shape the Iris voice.

Iris is published under the Cefic economics team byline. For questions, corrections, or data revisions, reach the team via cefic.org/media-corner.