Gross domestic product at market prices - tec00001

Data - Eurostat

Info

Last observation: Annual: 2025 (N = 78)

First observation: Annual: 2014 (N = 85)

Last data update: 11 aoû 2026, 18:38. Last compile: 12 aoû 2026, 03:50

Structure

France, Germany, Italy, Spain, Netherlands

GDP per Capita

Code
tec00001 |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit == "CP_EUR_HAB") |>
  year_to_date() |>
  left_join(colors, by = c("Geo" = "country")) |>
  mutate(color = ifelse(geo == "NL", color2, color)) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(2010, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("GDP per capita (current prices, €)")

GDP, Total

Code
tec00001 |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "NL"),
         unit == "CP_MEUR") |>
  year_to_date() |>
  mutate(values = values/1000) |>
  left_join(colors, by = c("Geo" = "country")) |>
  mutate(color = ifelse(geo == "NL", color2, color)) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(2010, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("GDP, current prices (Bn€)")

Latest Year: Cross-Country Snapshot

Code
latest_y_gdp <- tec00001 |>
  filter(unit == "CP_MEUR",
         !is.na(values)) |>
  summarise(m = max(time)) |>
  pull(m)

tec00001 |>
  filter(time == latest_y_gdp,
         !geo %in% c("EA19", "EA20", "EA21", "EU27_2020")) |>
  mutate(values = ifelse(unit == "CP_MEUR", values/1000, values)) |>
  select(Geo, unit, values) |>
  spread(unit, values) |>
  rename(`GDP (Bn€)` = CP_MEUR,
         `GDP per capita (€)` = CP_EUR_HAB) |>
  arrange(-`GDP (Bn€)`) |>
  print_table_conditional()