Productivity by industry (ISIC Rev.3) - PDB_GR

Data - OECD

Info

Last observation: A: 2026 (N = 2)

First observation: A: 1960 (N = 3)

Last data update: 25 mai 2026, 00:00. Last compile: 18 aoû 2026, 01:17

Structure

Number of Observations

Code
PDB_GR |>
  group_by(ACTIVITY, `Economic activity`, MEASURE, Measure) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

France, Germany, United States, EA19

GDP Per person employed

Code
PDB_GR |>
  filter(MEASURE == "GDPEMP",
         PRICE_BASE == "Q",
         TRANSFORMATION == "_Z",
         REF_AREA %in% c("DEU", "FRA", "EA19", "USA")) |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  rename(LOCATION = REF_AREA, Location = Ref_area) |>
  mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(Location) |>
  mutate(obsValue = 100*obsValue/obsValue[1]) |>
  mutate(color = ifelse(LOCATION == "USA", color2, color)) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_4flags +
  theme_minimal() + xlab("") + ylab("PIB par travailleur") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(0, 200, 5))

GDP Per capita, constant prices

Code
PDB_GR |>
  filter(SUBJECT %in% c("T_GDPPOP_V"),
         MEASURE == "2015Y",
         LOCATION %in% c("DEU", "FRA", "EA19", "USA")) |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  left_join(PDB_GR_var$LOCATION, by = "LOCATION") |>
  mutate(Location = ifelse(LOCATION == "EA19", "Europe", Location)) |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(Location) |>
  mutate(obsValue = 100*obsValue/obsValue[1]) |>
  mutate(color = ifelse(LOCATION == "USA", color2, color)) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
  scale_color_identity() + add_4flags +
  theme_minimal() + xlab("") + ylab("PIB par habitant") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(0, 200, 5))

France, Germany, Spain, Italy, United States

GDP Per person employed

Code
PDB_GR |>
  filter(MEASURE == "GDPEMP",
         PRICE_BASE == "Q",
         TRANSFORMATION == "_Z",
         REF_AREA %in% c("DEU", "ESP", "FRA", "ITA", "USA")) |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  rename(LOCATION = REF_AREA, Location = Ref_area) |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(Location) |>
  mutate(obsValue = 100*obsValue/obsValue[1]) |>
  mutate(color = ifelse(LOCATION == "USA", color2, color)) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_5flags +
  theme_minimal() + xlab("") + ylab("PIB par travailleur") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(0, 200, 5))

GDP Per capita, constant prices

Code
PDB_GR |>
  filter(SUBJECT %in% c("T_GDPPOP_V"),
         MEASURE == "2015Y",
         LOCATION %in% c("DEU", "ESP", "FRA", "ITA", "USA")) |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  left_join(PDB_GR_var$LOCATION, by = "LOCATION") |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(Location) |>
  mutate(obsValue = 100*obsValue/obsValue[1]) |>
  mutate(color = ifelse(LOCATION == "USA", color2, color)) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
  scale_color_identity() + add_5flags +
  theme_minimal() + xlab("") + ylab("PIB par habitant") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = seq(0, 200, 5))