Last observation: août 2026 (N = 196)
First observation: janv. 1980 (N = 76)
Last data update: 23 sept. 2026, 21:45
Last compile: 23 sept. 2026, 22:14
indic <- read_parquet("indic_fr.parquet")
ei_isin_m |>
group_by(indic, Indic) |>
summarise(Nobs = n()) |>
arrange(-Nobs) %>%
{if (is_html_output()) print_table(.) else .}| indic | Indic | Nobs |
|---|---|---|
| IS-IP | Production index | 622096 |
| IS-ITT | Turnover index - total | 590002 |
| IS-ITD | Turnover index - domestic market | 578611 |
| IS-ITND | Turnover index - non-domestic market | 373970 |
| IS-PPI | Output prices of the domestic market index (producer price index) (NSA) | 269088 |
| IS-WSI | Gross wages and salaries index | 138918 |
| IS-IMPR | Import price index (NSA) | 113912 |
| IS-EPI | Number of persons employed index | 113158 |
| IS-HWI | Hours worked index | 111198 |
| IS-IMPX | Import price index - non euro area (NSA) | 72485 |
| IS-IMPZ | Import price index - euro area (NSA) | 66380 |
ei_isin_m |>
filter(nace_r2 == "C",
indic == "IS-IP",
geo %in% c("FR", "DE", "IT"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "1997M01"]) |>
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_flags +
scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(-60, 300, 10))
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.
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, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "2005M01"]) |>
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_flags +
scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none") +
scale_y_log10(breaks = seq(-60, 300, 10))
ei_isin_m |>
filter(nace_r2 == "C",
indic == "IS-ITD",
geo %in% c("FR", "DE", "IT"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "2005M01"]) |>
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_flags +
scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none") +
scale_y_log10(breaks = seq(-60, 300, 10))
ei_isin_m |>
filter(nace_r2 == "C",
indic == "IS-ITND",
geo %in% c("FR", "DE", "IT"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "2005M01"]) |>
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_flags +
scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none") +
scale_y_log10(breaks = seq(-60, 300, 10))
ei_isin_m |>
filter(nace_r2 == "MIG_DCOG",
indic == "IS-IP",
geo %in% c("FR", "DE", "IT"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "1997M01"]) |>
mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
month_to_date() |>
add_flag_color("Geo") |>
ggplot() + ylab("Durable Goods - Industrial Production") + xlab("") + theme_minimal() +
geom_line(aes(x = date, y = values, color = color)) + add_flags +
scale_color_identity() +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none") +
scale_y_log10(breaks = seq(-60, 300, 10))
ei_isin_m |>
filter(nace_r2 == "MIG_COG",
indic == "IS-IP",
geo %in% c("FR", "DE", "IT"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "1997M01"]) |>
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_flags +
scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none") +
scale_y_log10(breaks = seq(-60, 300, 10))
ei_isin_m |>
filter(nace_r2 == "MIG_CAG",
indic == "IS-IP",
geo %in% c("FR", "DE", "IT"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "1997M01"]) |>
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_flags +
scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none") +
scale_y_log10(breaks = seq(-60, 300, 10))
ei_isin_m |>
filter(nace_r2 == "C",
indic == "IS-ITT",
geo %in% c("FR", "DE", "IT", "ES"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "2020M02"]) |>
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_flags +
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))
ei_isin_m |>
filter(nace_r2 == "C",
indic == "IS-ITT",
geo %in% c("FR", "DE", "IT", "ES"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "2020M02"]) |>
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_flags +
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))
ei_isin_m |>
filter(nace_r2 == "C",
indic == "IS-ITND",
geo %in% c("FR", "DE", "IT", "ES"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "2020M02"]) |>
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_flags +
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))
ei_isin_m |>
filter(nace_r2 == "C",
indic == "IS-ITND",
geo %in% c("FR", "DE", "IT", "ES"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "2020M02"]) |>
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_flags +
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))
ei_isin_m |>
filter(nace_r2 == "C",
indic == "IS-ITD",
geo %in% c("FR", "DE", "IT", "ES"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "2020M02"]) |>
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_flags +
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))
ei_isin_m |>
filter(nace_r2 == "C",
indic == "IS-ITD",
geo %in% c("FR", "DE", "IT", "ES"),
s_adj == "SCA") |>
select(geo, Geo, time, values) |>
group_by(geo) |>
mutate(values = 100*values/values[time == "2020M02"]) |>
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_flags +
theme(legend.position = "none") +
scale_y_continuous(breaks = seq(-300, 300, 10))