Retail trade - monthly data - index (2015 = 100) (NACE Rev. 2) - ei_isrt_m

Data - Eurostat

Info

Last observation: 2026M06 (N = 808)

First observation: 1991M01 (N = 32)

Last data update: 15 aoû 2026, 22:51. Last compile: 18 aoû 2026, 00:38

Structure

France, Germany, Italy

Retail trade, except of motor vehicles and motorcycles

Code
ei_isrt_m |>
  filter(nace_r2 == "G47",
         geo %in% c("FR", "DE", "IT"),
         indic_bt == "NETTUR",
         s_adj == "SCA") |>
  select(geo, Geo, time, values) |>
  group_by(geo) |>
  mutate(values = 100*values/values[time == "2019M12"]) |>
  
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
  month_to_date() |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + ylab("Retail trade, except of motor vehicles and motorcycles") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + 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")) +
  geom_image(data = . %>%
               filter(date == as.Date("2004-01-01")) %>%
               mutate(date = as.Date("2004-01-01"),
                      image = paste0("../../icon/flag/", str_to_lower(Geo), ".png")),
             aes(x = date, y = values, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

Retail sale of food, beverages and tobacco

Code
ei_isrt_m |>
  filter(nace_r2 == "G47_FOOD",
         geo %in% c("FR", "DE", "IT"),
         indic_bt == "NETTUR",
         s_adj == "SCA") |>
  select(geo, Geo, time, values) |>
  group_by(geo) |>
  mutate(values = 100*values/values[time == "2019M12"]) |>
  
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
  month_to_date() |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + ylab("Retail sale of food, beverages and tobacco") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + 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")) +
  geom_image(data = . %>%
               filter(date == as.Date("2004-01-01")) %>%
               mutate(date = as.Date("2004-01-01"),
                      image = paste0("../../icon/flag/", str_to_lower(Geo), ".png")),
             aes(x = date, y = values, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

Retail sale of non-food products (including fuel)

Code
ei_isrt_m |>
  filter(nace_r2 == "G47_NFOOD",
         geo %in% c("FR", "DE", "IT"),
         indic_bt == "NETTUR",
         s_adj == "SCA") |>
  select(geo, Geo, time, values) |>
  group_by(geo) |>
  mutate(values = 100*values/values[time == "2019M12"]) |>
  
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
  month_to_date() |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + ylab(" Retail sale of non-food products (including fuel)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + 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")) +
  geom_image(data = . %>%
               filter(date == as.Date("2004-01-01")) %>%
               mutate(date = as.Date("2004-01-01"),
                      image = paste0("../../icon/flag/", str_to_lower(Geo), ".png")),
             aes(x = date, y = values, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

Retail sale of non-food products (except fuel)

Code
ei_isrt_m |>
  filter(nace_r2 == "G47_NFOOD_X_G473",
         geo %in% c("FR", "DE", "IT"),
         indic_bt == "NETTUR",
         s_adj == "SCA") |>
  select(geo, Geo, time, values) |>
  group_by(geo) |>
  mutate(values = 100*values/values[time == "2019M12"]) |>
  
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
  month_to_date() |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + ylab("Retail sale of non-food products (except fuel)") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + 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")) +
  geom_image(data = . %>%
               filter(date == as.Date("2004-01-01")) %>%
               mutate(date = as.Date("2004-01-01"),
                      image = paste0("../../icon/flag/", str_to_lower(Geo), ".png")),
             aes(x = date, y = values, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

Retail trade, except of motor vehicles, motorcyles and fuel

Code
ei_isrt_m |>
  filter(nace_r2 == "G47_X_G473",
         geo %in% c("FR", "DE", "IT"),
         indic_bt == "NETTUR",
         s_adj == "SCA") |>
  select(geo, Geo, time, values) |>
  group_by(geo) |>
  mutate(values = 100*values/values[time == "2019M12"]) |>
  
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
  month_to_date() |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + ylab("Retail trade, except of motor vehicles, motorcyles and fuel") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + 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")) +
  geom_image(data = . %>%
               filter(date == as.Date("2004-01-01")) %>%
               mutate(date = as.Date("2004-01-01"),
                      image = paste0("../../icon/flag/", str_to_lower(Geo), ".png")),
             aes(x = date, y = values, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))

Retail sale of automotive fuel in specialised stores

Code
ei_isrt_m |>
  filter(nace_r2 == "G473",
         geo %in% c("FR", "DE", "IT"),
         indic_bt == "NETTUR",
         s_adj == "SCA") |>
  select(geo, Geo, time, values) |>
  group_by(geo) |>
  mutate(values = 100*values/values[time == "2019M12"]) |>
  
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) |>
  month_to_date() |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + ylab("Retail sale of automotive fuel in specialised stores") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + 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")) +
  geom_image(data = . %>%
               filter(date == as.Date("2005-01-01")) %>%
               mutate(date = as.Date("2005-01-01"),
                      image = paste0("../../icon/flag/", str_to_lower(Geo), ".png")),
             aes(x = date, y = values, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_log10(breaks = seq(-60, 300, 10))