Unit Labour Costs - Annual Indicators - ULC_ANN

Data - OECD

Info

Last observation: A: 2012 (N = 1177)

First observation: A: 1929 (N = 1)

Last data update: 02 aoû 2026, 09:17. Last compile: 18 aoû 2026, 03:35

Structure

Nobs

Code
ULC_ANN |>
  left_join(ULC_ANN_var$SUBJECT, by = "SUBJECT") |>
  left_join(ULC_ANN_var$SECTOR, by = "SECTOR") |>
  group_by(SUBJECT, Subject, SECTOR, Sector, MEASURE) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  print_table_conditional()

Total Economy

Labour Income Share (Real ULC)

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "01",
         LOCATION %in% c("FRA", "DEU", "ITA")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_enddate() |>
  ggplot() + theme_minimal() + ylab("Labour Income Share, Real ULC") + xlab("") +
  geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000", "#009246")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5))

Unit Labour Costs (1950-)

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "01",
         LOCATION %in% c("FRA", "DEU", "ITA", "GRC", "ESP")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_enddate() |>
  ggplot() + theme_minimal() + ylab("Unit Labour Costs") + xlab("") +
  geom_line(aes(x = date, y = obsValue, color = Location)) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10))

Unit Labour Costs (1995-2012)

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "01",
         LOCATION %in% c("FRA", "DEU", "ITA", "GRC", "ESP")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  group_by(Location) |>
  mutate(obsValue = 100*obsValue / obsValue[date == as.Date("2000-01-01")]) |>
  ggplot() + theme_minimal() + ylab("Unit Labour Costs") + xlab("") +
  geom_line(aes(x = date, y = obsValue, color = Location)) +
  theme(legend.position = c(0.15, 0.8),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10))

Unit Labour Costs (2000-)

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "01",
         LOCATION %in% c("FRA", "DEU", "ITA", "GRC", "ESP")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(date >= as.Date("2000-01-01")) |>
  group_by(Location) |>
  mutate(obsValue = 100*obsValue / obsValue[date == as.Date("2000-01-01")]) |>
  ggplot() + theme_minimal() + ylab("Unit Labour Costs") + xlab("") +
  geom_line(aes(x = date, y = obsValue, color = Location)) +
  theme(legend.position = c(0.15, 0.8),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 200, 10))

Labour Income Share (Real ULC)

Total Economy

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "01",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_enddate() |>
  ggplot() + theme_minimal() + ylab("Labour Income Share, Real ULC") + xlab("") +
  geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5))

Manufacturing

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "02",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_enddate() |>
  ggplot() + theme_minimal() + ylab("Labour Income Share, Real ULC") + xlab("") +
  geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 2))

Industry

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "03",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_enddate() |>
  ggplot() + theme_minimal() + ylab("Labour Income Share, Real ULC") + xlab("") +
  geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 2))

Construction

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "04",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_enddate() |>
  ggplot() + theme_minimal() + ylab("Labour Income Share, Real ULC") + xlab("") +
  geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 2))

Competitiveness: Unit Labor cost

Total Economy

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "01",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() + ylab("Unit Labour Cost (Total Economy)") + xlab("") +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5))

Manufacturing

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "02",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1)) +
  ylab("Unit Labour Cost (Manufacturing)") + xlab("")

Industry

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "03",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1)) +
  ylab("Unit Labour Cost (Industry)") + xlab("")

Construction

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "04",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Unit Labour Cost (Construction)") + xlab("")

Trade, transport and communication (G_I)

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "05",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Unit Labour Cost (Trade, transport and communication") + xlab("")

Financial and business services

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "06",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Unit Labour Cost (Financial and business services)") + xlab("")

Market services

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "07",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Unit Labour Cost (Market services)") + xlab("")

Business sector excl. Agriculture

Code
ULC_ANN |>
  filter(SUBJECT == "ULABUL99",
         MEASURE == "ST",
         SECTOR == "08",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Unit Labour Cost (Business sector excl. Agriculture)") + xlab("")

Competitiveness: Exchange Rate Adjusted ULC

Total Economy

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIEU99",
         MEASURE == "ST",
         SECTOR == "01",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Exchange Rate Adjusted ULC (Total Economy)") + xlab("")

Manufacturing

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIEU99",
         MEASURE == "ST",
         SECTOR == "02",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1)) +
  ylab("Exchange Rate Adjusted ULC (Manufacturing)") + xlab("")

Industry

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIEU99",
         MEASURE == "ST",
         SECTOR == "03",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1)) +
  ylab("Exchange Rate Adjusted ULC (Industry)") + xlab("")

Construction

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIEU99",
         MEASURE == "ST",
         SECTOR == "04",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Exchange Rate Adjusted ULC (Construction)") + xlab("")

Trade, transport and communication (G_I)

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIEU99",
         MEASURE == "ST",
         SECTOR == "05",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Exchange Rate Adjusted ULC (Trade, transport and communication)") + xlab("")

Financial and business services

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIEU99",
         MEASURE == "ST",
         SECTOR == "06",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Exchange Rate Adjusted ULC (Financial and business services)") + xlab("")

Market services

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIEU99",
         MEASURE == "ST",
         SECTOR == "07",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Exchange Rate Adjusted ULC (Market services)") + xlab("")

Business sector excl. Agriculture

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIEU99",
         MEASURE == "ST",
         SECTOR == "08",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Exchange Rate Adjusted ULC (Business sector excl. Agriculture)") + xlab("")

Competitiveness: Labour Income Share (Real ULC)

Total Economy

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "01",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1)) +
  ylab("Labour Income Share (Real ULC) (Total Economy)") + xlab("")

Manufacturing

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "02",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1)) +
  ylab("Labour Income Share (Real ULC) (Manufacturing)") + xlab("")

Industry

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "03",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1)) +
  ylab("Labour Income Share (Real ULC) (Industry)") + xlab("")

Construction

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "04",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Labour Income Share (Real ULC) (Construction)") + xlab("")

Trade, transport and communication (G_I)

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "05",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Labour Income Share (Real ULC) (Trade, transport and communication)") + xlab("")

Financial and business services

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "06",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Labour Income Share (Real ULC) (Financial and business services)") + xlab("")

Market services

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "07",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Labour Income Share (Real ULC) (Market services)") + xlab("")

Business sector excl. Agriculture

Code
ULC_ANN |>
  filter(SUBJECT == "ULAIRU99",
         MEASURE == "ST",
         SECTOR == "08",
         LOCATION %in% c("FRA", "DEU")) |>
  left_join(ULC_ANN_var$LOCATION, by = "LOCATION") |>
  year_to_date() |>
  filter(year(date) >= 1990) |>
  arrange(Location) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
  scale_color_manual(values = c("#ED2939", "#000000")) +
  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5)) +
  ylab("Labour Income Share (Real ULC) (Business sector excl. Agriculture)") + xlab("")