Industry - monthly data - index (2015 = 100) (NACE Rev. 2) - ei_isin_m

Data - Eurostat

Info

DOWNLOAD_TIME

Code
tibble(DOWNLOAD_TIME = as.Date(file.info("~/iCloud/website/data/eurostat/ei_isin_m.RData")$mtime)) %>%
  print_table_conditional()
DOWNLOAD_TIME
2025-05-18

Last

Code
ei_isin_m %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(1) %>%
  print_table_conditional()
time Nobs
2025M04 100

indic

French

Code
load_data("eurostat/indic_fr.RData")
ei_isin_m %>%
  left_join(indic, by = "indic") %>%
  group_by(indic, Indic) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
indic Indic Nobs
IS-IP Indice de production 592854
IS-ITT Indice du chiffre d'affaires - total 567171
IS-ITD Indice du chiffre d'affaires - marché intérieur 556260
IS-ITND Indice du chiffre d'affaires - marché extérieur 360234
IS-PPI Prix à la production de l'indice du marché intérieur (Indice des prix à la production) (NSA) 258730
IS-WSI Indice des salaires et traitements bruts 135112
IS-EPI Indice du nombre de personnes occupées 110566
IS-HWI Indice des heures travaillées 108542
IS-IMPR Indices des prix à l'importation (NSA) 107434
IS-IMPX Indices des prix à l'importation - hors zone euro (NSA) 67328
IS-IMPZ Indices des prix à l'importation - zone euro (NSA) 61566

English

Code
ei_isin_m %>%
  left_join(indic, by = "indic") %>%
  group_by(indic, Indic) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
indic Indic Nobs
IS-IP Indice de production 592854
IS-ITT Indice du chiffre d'affaires - total 567171
IS-ITD Indice du chiffre d'affaires - marché intérieur 556260
IS-ITND Indice du chiffre d'affaires - marché extérieur 360234
IS-PPI Prix à la production de l'indice du marché intérieur (Indice des prix à la production) (NSA) 258730
IS-WSI Indice des salaires et traitements bruts 135112
IS-EPI Indice du nombre de personnes occupées 110566
IS-HWI Indice des heures travaillées 108542
IS-IMPR Indices des prix à l'importation (NSA) 107434
IS-IMPX Indices des prix à l'importation - hors zone euro (NSA) 67328
IS-IMPZ Indices des prix à l'importation - zone euro (NSA) 61566

nace_r2

Code
load_data("eurostat/indic.RData")
ei_isin_m %>%
  left_join(nace_r2, by = "nace_r2") %>%
  group_by(nace_r2, Nace_r2) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

s_adj

Code
ei_isin_m %>%
  left_join(s_adj, by = "s_adj") %>%
  group_by(s_adj, S_adj) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
s_adj S_adj Nobs
NSA Unadjusted data (i.e. neither seasonally adjusted nor calendar adjusted data) 1193866
SCA Seasonally and calendar adjusted data 1047987
CA Calendar adjusted data, not seasonally adjusted data 683944

unit

Code
ei_isin_m %>%
  left_join(unit, by = "unit") %>%
  group_by(unit, Unit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
unit Unit Nobs
I2015 Index, 2015=100 1465020
I2021 NA 1460777

geo

Code
ei_isin_m %>%
  left_join(geo, by = "geo") %>%
  group_by(geo, Geo) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

time

Code
ei_isin_m %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

C - Manufacturing

IS-IP - Industrial Production

Code
ei_isin_m %>%
  filter(nace_r2 == "C",
         indic == "IS-IP",
         geo %in% c("FR", "DE", "IT"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "1997M01"]) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  month_to_date %>%
  ggplot() + ylab("Industrial Production") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) + add_3flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(-60, 300, 10))

IS-ITT - Turnover index - total

  • INSEE Definition. html

Turnover indices serve to provide a monthly measurement of trends in the activity of companies in the industrial, construction, retail, personal services, wholesale and miscellaneous services to enterprises sectors. They are elaborated each month from the monthly declarations (CA3) made by enterprises falling within the normal tax arrangements for the payment of value added tax (VAT). These indices are determined at the finest level of the French classification of activities (that is, the sub-classes of NAF rev.2) then aggregated to provide indices for the different levels of the composite nomenclatures (NA, NACE). The resultant indices are in volume in the retail and personal services sectors, and in value in the other sectors. The series are disseminated raw or seasonally and calendar effect adjusted.

Code
ei_isin_m %>%
  filter(nace_r2 == "C",
         indic == "IS-ITT",
         geo %in% c("FR", "DE", "IT"),
         s_adj == "SCA") %>%
  filter(!is.na(values)) %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "2005M01"]) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  month_to_date %>%
  ggplot() + ylab("Turnover index - total") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) + add_3flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

IS-ITD - Indice du chiffre d’affaires - marché intérieur

Code
ei_isin_m %>%
  filter(nace_r2 == "C",
         indic == "IS-ITD",
         geo %in% c("FR", "DE", "IT"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "2005M01"]) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  month_to_date %>%
  ggplot() + ylab("Turnover index - domestic market") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) + add_3flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

IS-ITND - Indice du chiffre d’affaires - marché extérieur

Code
ei_isin_m %>%
  filter(nace_r2 == "C",
         indic == "IS-ITND",
         geo %in% c("FR", "DE", "IT"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "2005M01"]) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  month_to_date %>%
  ggplot() + ylab("Turnover index - non-domestic market") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) +  add_3flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

MIG_DCOG - Durable Goods

IS-IP - Industrial Production

Code
ei_isin_m %>%
  filter(nace_r2 == "MIG_DCOG",
         indic == "IS-IP",
         geo %in% c("FR", "DE", "IT"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "1997M01"]) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  month_to_date %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + ylab("Durable Goods - Industrial Production") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

MIG_COG - Consumer Goods

IS-IP - Industrial Production

Code
ei_isin_m %>%
  filter(nace_r2 == "MIG_COG",
         indic == "IS-IP",
         geo %in% c("FR", "DE", "IT"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "1997M01"]) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  month_to_date %>%
  ggplot() + ylab("Consumer Goods - Industrial Production") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) + add_3flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

MIG_CAG - Capital Goods

IS-IP - Industrial Production

Code
ei_isin_m %>%
  filter(nace_r2 == "MIG_CAG",
         indic == "IS-IP",
         geo %in% c("FR", "DE", "IT"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "1997M01"]) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  month_to_date %>%
  ggplot() + ylab("Capital Goods - Industrial Production") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) + add_3flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

Covid-19 - Turnover index (Indice de CA)

Total

Dérivée

Code
ei_isin_m %>%
  filter(nace_r2 == "C",
         indic == "IS-ITT",
         geo %in% c("FR", "DE", "IT", "ES"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "2020M02"]) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  month_to_date %>%
  filter(date >= as.Date("2020-02-01")) %>%
  ggplot() + ylab("Turnover index - all") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) + add_4flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45", "#C60B1E")) +
  scale_x_date(breaks = "2 months",
               labels = date_format("%b %y")) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

Intégrale

Code
ei_isin_m %>%
  filter(nace_r2 == "C",
         indic == "IS-ITT",
         geo %in% c("FR", "DE", "IT", "ES"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "2020M02"]) %>%
  left_join(geo, by = "geo") %>%
  month_to_date %>%
  filter(date >= as.Date("2020-02-01")) %>%
  group_by(Geo) %>%
  arrange(date) %>%
  mutate(values = values-100,
         values = cumsum(values)) %>%
  ggplot() + ylab("Turnover index - all (Cum. Sum)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) + add_4flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45", "#C60B1E")) +
  scale_x_date(breaks = "2 months",
               labels = date_format("%b %y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(-300, 300, 10))

Marché Externe

Dérivée

Code
ei_isin_m %>%
  filter(nace_r2 == "C",
         indic == "IS-ITND",
         geo %in% c("FR", "DE", "IT", "ES"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "2020M02"]) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  month_to_date %>%
  filter(date >= as.Date("2020-02-01")) %>%
  ggplot() + ylab("Turnover index - external market") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) + add_3flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45", "#C60B1E")) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %y")) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

Intégrale

Code
ei_isin_m %>%
  filter(nace_r2 == "C",
         indic == "IS-ITND",
         geo %in% c("FR", "DE", "IT", "ES"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "2020M02"]) %>%
  left_join(geo, by = "geo") %>%
  month_to_date %>%
  filter(date >= as.Date("2020-02-01")) %>%
  group_by(Geo) %>%
  arrange(date) %>%
  mutate(values = values-100,
         values = cumsum(values)) %>%
  ggplot() + ylab("Turnover index - external market (Cum. Sum)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) + add_4flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45", "#C60B1E")) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(-300, 300, 10))

Marché Intérieur

Dérivée

Code
ei_isin_m %>%
  filter(nace_r2 == "C",
         indic == "IS-ITD",
         geo %in% c("FR", "DE", "IT", "ES"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "2020M02"]) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  month_to_date %>%
  filter(date >= as.Date("2020-02-01")) %>%
  ggplot() + ylab("Turnover index - internal market") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) + add_4flags +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45", "#C60B1E")) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %y")) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

Intégrale

Code
ei_isin_m %>%
  filter(nace_r2 == "C",
         indic == "IS-ITD",
         geo %in% c("FR", "DE", "IT", "ES"),
         s_adj == "SCA") %>%
  select(geo, time, values) %>%
  group_by(geo) %>%
  mutate(values = 100*values/values[time == "2020M02"]) %>%
  left_join(geo, by = "geo") %>%
  month_to_date %>%
  filter(date >= as.Date("2020-02-01")) %>%
  group_by(Geo) %>%
  arrange(date) %>%
  mutate(values = values-100,
         values = cumsum(values)) %>%
  ggplot() + ylab("Turnover index - internal market (Cum. Sum)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = Geo)) +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45", "#C60B1E")) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %y")) + add_4flags +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(-300, 300, 10))