Short-Term Statistics - STS

Data - ECB

Info

Last observation: Q: 2025-Q3 (N = 50) · M: 2025-09 (N = 882) · A: 2024 (N = 2)

First observation: M: 1960-01 (N = 2) · Q: 1970-Q1 (N = 3) · A: 1990 (N = 176)

Last data update: 17 aoû 2026, 03:37. Last compile: 18 aoû 2026, 01:52

Structure

PROD - Industrial Production Index

Table

Code
STS |>
  filter(STS_CONCEPT == "PROD",
         FREQ == "M",
         REF_AREA == "I7") |>
  group_by(KEY, STS_CLASS, Sts_class, UNIT, TITLE, TITLE_COMPL) |>
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

INWR - Negociated Wage Rates

Table

Code
STS |>
  filter(STS_CONCEPT == "INWR",
         FREQ == "Q") |>
  group_by(KEY, STS_CLASS, Sts_class, UNIT, TITLE, TITLE_COMPL) |>
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Quarterly

Code
STS |>
  filter(STS_CONCEPT == "INWR") |>
  filter(FREQ == "Q") |>
  quarter_to_date() |>
  select(date, OBS_VALUE, REF_AREA) |>
  ggplot() +  ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = REF_AREA)) +
  #scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.65, 0.15),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = percent_format(accuracy = 1))

Annual

Code
STS |>
  filter(STS_CONCEPT == "INWR") |>
  filter(FREQ == "A") |>
  year_to_date() |>
  select(date, OBS_VALUE, REF_AREA) |>
  ggplot() +  ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = REF_AREA)) +
  #scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.65, 0.15),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = percent_format(accuracy = 1))

U2

All

Code
STS |>
  filter(KEY %in% c("STS.Q.U2.N.INWR.000000.3.ANR")) |>
  quarter_to_date() |>
  select(date, OBS_VALUE, REF_AREA) |>
  ggplot() +  ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE/100)) +
  #scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.65, 0.15),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = percent_format(accuracy = 1))

2017

Code
STS |>
  filter(KEY %in% c("STS.Q.U2.N.INWR.000000.3.ANR")) |>
  quarter_to_date() |>
  filter(date >= as.Date("2017-01-01")) |>
  select(date, OBS_VALUE, REF_AREA) |>
  ggplot() +  ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = OBS_VALUE/100)) +
  #scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.65, 0.15),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = percent_format(accuracy = 1))