Intra and Extra-EU trade by Member State and by product group - ext_lt_intratrd

Data - Eurostat

Info

Last observation: Annual: 2025 (N = 5,112)

First observation: Annual: 2002 (N = 5,112)

Last data update: 23 jul 2026, 22:37. Last compile: 24 jul 2026, 01:37

Structure

Exports

Code
ext_lt_intratrd %>%
  filter(geo %in% c("EU27_2020", "CN_X_HK", "US"),
         # B1GQ: Gross domestic product at market prices
         indic_et == "PC_EXP_PROD",
         sitc06 == "TOTAL") %>%
  
  mutate(Geo = ifelse(geo == "CN_X_HK", "China", Geo)) %>%
  mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
  year_to_date %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_3flags + xlab("") + ylab("% of World Exports") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(acc = 1))

Share of exports to EU in total exports

EU, Germany, France, Spain, Italy

Code
ext_lt_intratrd %>%
  filter(geo %in% c("DE", "FR", "ES", "IT", "NL"),
         partner == "WORLD",
         # B1GQ: Gross domestic product at market prices
         indic_et == "MIO_EXP_VAL",
         sitc06 == "TOTAL") %>%
  
  left_join(world_exports, by = "time") %>%
  mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
  year_to_date %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  mutate(values = values/world_exports) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_5flags + xlab("") +
  ylab("Part des exportations dans les exportations de la Zone € (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(acc = 1))

France, Spain, Italy, Belgium, Netherlands

Code
ext_lt_intratrd %>%
  filter(geo %in% c("FR", "ES", "IT", "NL", "BE"),
         partner == "WORLD",
         # B1GQ: Gross domestic product at market prices
         indic_et == "MIO_EXP_VAL",
         sitc06 == "TOTAL") %>%
  
  left_join(world_exports, by = "time") %>%
  mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
  year_to_date %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  mutate(values = values/world_exports) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_5flags + xlab("") +
  ylab("Part des exportations dans les exportations de la Zone € (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(acc = 1))

Finland, Austria, Portugal, Greece, Ireland

Code
ext_lt_intratrd %>%
  filter(geo %in% c("FI", "AT", "PT", "EL", "IE"),
         partner == "WORLD",
         # B1GQ: Gross domestic product at market prices
         indic_et == "MIO_EXP_VAL",
         sitc06 == "TOTAL") %>%
  
  left_join(world_exports, by = "time") %>%
  mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
  year_to_date %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  mutate(values = values/world_exports) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_5flags + xlab("") +
  ylab("Part des exportations dans les exportations de la Zone € (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(acc = 1))

Slovakia, Lithuania, Slovenia, Luxembourg

Code
ext_lt_intratrd %>%
  filter(geo %in% c("SK", "LT", "SI", "LU"),
         partner == "WORLD",
         # B1GQ: Gross domestic product at market prices
         indic_et == "MIO_EXP_VAL",
         sitc06 == "TOTAL") %>%
  
  left_join(world_exports, by = "time") %>%
  mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
  year_to_date %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  mutate(values = values/world_exports) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_4flags + xlab("") +
  ylab("Part des exportations dans les exportations de la Zone € (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, .2),
                labels = percent_format(acc = .1))

Latvia, Estonia, Cyprus, Malta

Code
ext_lt_intratrd %>%
  filter(geo %in% c("LV", "EE", "CY", "MT"),
         partner == "WORLD",
         # B1GQ: Gross domestic product at market prices
         indic_et == "MIO_EXP_VAL",
         sitc06 == "TOTAL") %>%
  
  left_join(world_exports, by = "time") %>%
  mutate(Geo = ifelse(geo == "EU27_2020", "Europe", Geo)) %>%
  year_to_date %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  mutate(values = values/world_exports) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_4flags + xlab("") +
  ylab("Part des exportations dans les exportations de la Zone € (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, .1),
                labels = percent_format(acc = .1))