Labour cost index by NACE Rev. 2 activity - nominal value, quarterly data

Data - Eurostat

Info

source dataset .html .RData
eurostat lc_lci_r2_q 2024-11-22 2024-11-04

Info

  • Annual increase in labour costs at 5.7% in euro area - Fourth quarter of 2022. pdf/html

  • Annual increase in labour costs at 2.9% in euro area - Third quarter of 2022. pdf

  • Annual increase in labour costs at 4.0% in euro area - Second quarter of 2022. pdf

Data on wages

Code
load_data("wages.RData")
wages %>%
  arrange(-(dataset == "lc_lci_r2_q")) %>%
  source_dataset_file_updates()
source dataset .html .RData
eurostat earn_mw_cur 2024-11-23 2024-10-08
eurostat ei_lmlc_q 2024-11-23 2024-10-08
eurostat lc_lci_lev 2024-11-23 2024-10-08
eurostat lc_lci_r2_q 2024-11-22 2024-11-04
eurostat nama_10_lp_ulc 2024-11-22 2024-10-08
eurostat namq_10_lp_ulc 2024-11-22 2024-11-04
eurostat tps00155 2024-11-22 2024-10-08
fred wage 2024-11-21 2024-11-21
ilo EAR_4MTH_SEX_ECO_CUR_NB_A 2024-06-20 2023-06-01
ilo EAR_XEES_SEX_ECO_NB_Q 2024-06-20 2023-06-01
oecd AV_AN_WAGE 2024-11-22 2024-11-22
oecd AWCOMP 2024-09-15 2023-09-09
oecd EAR_MEI 2024-04-16 2024-04-16
oecd HH_DASH 2024-09-15 2023-09-09
oecd MIN2AVE 2024-09-15 2023-09-09
oecd RMW 2024-09-15 2024-03-12
oecd ULC_EEQ 2024-09-15 2024-04-15

Last

Code
lc_lci_r2_q %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(2) %>%
  print_table_conditional()
time Nobs
2024Q2 28176
2024Q1 28488

lcstruct

Code
lc_lci_r2_q %>%
  left_join(lcstruct, by = "lcstruct") %>%
  group_by(lcstruct, Lcstruct) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
lcstruct Lcstruct Nobs
D11 Wages and salaries (total) 949304
D12_D4_MD5 Labour costs other than wages and salaries 949288
D1_D4_MD5 Labour cost for LCI (compensation of employees plus taxes minus subsidies) 941454
D1_D4_MD5_XB Labour cost for LCI excluding bonuses 620903

nace_r2

Code
lc_lci_r2_q %>%
  left_join(nace_r2, by = "nace_r2") %>%
  group_by(nace_r2, Nace_r2) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
nace_r2 Nace_r2 Nobs
B Mining and quarrying 137319
C Manufacturing 137303
E Water supply; sewerage, waste management and remediation activities 137287
D Electricity, gas, steam and air conditioning supply 137279
F Construction 137215
K Financial and insurance activities 136224
B-E Industry (except construction) 136195
H Transportation and storage 136156
J Information and communication 136152
N Administrative and support service activities 136120
M Professional, scientific and technical activities 136116
I Accommodation and food service activities 136060
B-F Industry and construction 136051
G Wholesale and retail trade; repair of motor vehicles and motorcycles 136044
L Real estate activities 135394
G-J Wholesale and retail trade; transport; accommodation and food service activities; information and communication 134668
B-N Business economy 133031
G-N Services of the business economy 132631
K-N Financial and insurance activities; real estate activities; professional, scientific and technical activities; administrative and support service activities 132391
R Arts, entertainment and recreation 127367
S Other service activities 127351
P Education 126087
Q Human health and social work activities 126055
B-S Industry, construction and services (except activities of households as employers and extra-territorial organisations and bodies) 125687
O Public administration and defence; compulsory social security 124887
O-S Public administration and defence; compulsory social security; education; human health and social work activities; arts, entertainment and recreation; other service activities 123879

unit

Code
lc_lci_r2_q %>%
  left_join(unit, by = "unit") %>%
  group_by(unit, Unit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
unit Unit Nobs
PCH_PRE Percentage change on previous period 915187
PCH_SM Percentage change compared to same period in previous year 885130
I20 Index, 2020=100 876444
I16 Index, 2016=100 784188

s_adj

Code
lc_lci_r2_q %>%
  left_join(s_adj, by = "s_adj") %>%
  group_by(s_adj, S_adj) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
s_adj S_adj Nobs
CA Calendar adjusted data, not seasonally adjusted data 1229767
SCA Seasonally and calendar adjusted data 1228531
NSA Unadjusted data (i.e. neither seasonally adjusted nor calendar adjusted data) 1002651

geo

Code
lc_lci_r2_q %>%
  left_join(geo, by = "geo") %>%
  group_by(geo, Geo) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

time

Code
lc_lci_r2_q %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  print_table_conditional()

Last

Europe

Code
lc_lci_r2_q %>%
  filter(time == max(time),
         geo == "EA19",
         unit != "I20") %>%
  mutate(variable = paste0(s_adj, " - ", unit)) %>%
  select(-unit, -s_adj) %>%
  spread(variable, values) %>%
  select_if(~ n_distinct(.) > 1) %>%
  print_table_conditional

France

Code
lc_lci_r2_q %>%
  filter(time == max(time),
         geo == "FR",
         unit != "I20") %>%
  mutate(variable = paste0(s_adj, " - ", unit)) %>%
  select(-unit, -s_adj) %>%
  spread(variable, values) %>%
  select_if(~ n_distinct(.) > 1) %>%
  print_table_conditional

Germany

Code
lc_lci_r2_q %>%
  filter(time == max(time),
         geo == "DE",
         unit != "I20") %>%
  mutate(variable = paste0(s_adj, " - ", unit)) %>%
  select(-unit, -s_adj) %>%
  spread(variable, values) %>%
  select_if(~ n_distinct(.) > 1) %>%
  print_table_conditional

Indices

France

All

Nominal

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("FR")) %>%
  quarter_to_date %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Lcstruct) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(80, 200, 5)) + 
  theme(legend.position = c(0.45, 0.90),
        legend.title = element_blank())

2017T2-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("FR")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-04-01")) %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Lcstruct) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(80, 200, 5)) + 
  theme(legend.position = c(0.45, 0.90),
        legend.title = element_blank()) +
  geom_text(data = . %>%
              filter(date %in% max(date)),
            aes(x = date, y = values, color = Lcstruct, label = round(values, 1)))

Business

All

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-N",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("FR")) %>%
  quarter_to_date %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Lcstruct) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(50, 200, 5)) + 
  theme(legend.position = c(0.45, 0.90),
        legend.title = element_blank())

1999-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-N",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("FR")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("1999-01-01")) %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Lcstruct) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(50, 200, 5)) + 
  theme(legend.position = c(0.45, 0.90),
        legend.title = element_blank())

Public

All

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "O-S",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("FR")) %>%
  quarter_to_date %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Lcstruct) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(50, 200, 5)) + 
  theme(legend.position = c(0.45, 0.90),
        legend.title = element_blank())

2017T2-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "O-S",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("FR")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-04-01")) %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Lcstruct) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(50, 200, 2)) + 
  theme(legend.position = c(0.45, 0.90),
        legend.title = element_blank()) +
  geom_text(data = . %>%
              filter(date %in% max(date)),
            aes(x = date, y = values, color = Lcstruct, label = round(values, 1)))

Germany

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("DE")) %>%
  quarter_to_date %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Lcstruct) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(60, 200, 5)) + 
  theme(legend.position = c(0.45, 0.90),
        legend.title = element_blank())

Italy

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("IT")) %>%
  quarter_to_date %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Lcstruct) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(60, 200, 5)) + 
  theme(legend.position = c(0.45, 0.90),
        legend.title = element_blank())

Spain

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("ES")) %>%
  quarter_to_date %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Lcstruct) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(60, 200, 5)) + 
  theme(legend.position = c(0.45, 0.90),
        legend.title = element_blank())

Euro Area

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("EA")) %>%
  quarter_to_date %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(Lcstruct) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(60, 200, 5)) + 
  theme(legend.position = c(0.45, 0.90),
        legend.title = element_blank())

Netherlands

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "I20",
         s_adj == "SCA",
         geo %in% c("NL")) %>%
  quarter_to_date %>%
  left_join(lcstruct, by = "lcstruct") %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Lcstruct)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(60, 200, 5)) + 
  theme(legend.position = c(0.45, 0.80),
        legend.title = element_blank())

Europe and Eurozone

All

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D11",
         s_adj == "CA",
         geo %in% c("EA19", "EU27_2020")) %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) + 
  theme(legend.position = c(0.25, 0.90),
        legend.title = element_blank())

2017-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D11",
         s_adj == "CA",
         geo %in% c("EA19", "EU27_2020")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = Geo)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) + 
  theme(legend.position = c(0.25, 0.90),
        legend.title = element_blank())

2022Q1-Q2 - Tables

D11 - Wages and salaries (total)

%

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit %in% c("PCH_SM", "PCH_PRE"),
         lcstruct == "D11",
         time == max(time),
         s_adj == "CA") %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  select_if(~ n_distinct(.) > 1) %>%
  select(-unit) %>%
  spread(Unit, values) %>%
  print_table_conditional()

Indice

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit %in% c("PCH_SM", "PCH_PRE"),
         lcstruct == "D11",
         time == max(time),
         s_adj == "CA") %>%
  left_join(geo, by = "geo") %>%
  left_join(unit, by = "unit") %>%
  select_if(~ n_distinct(.) > 1) %>%
  select(-unit) %>%
  spread(Unit, values) %>%
  print_table_conditional()

D12_D4_MD5 - Labour costs other than wages and salaries

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D12_D4_MD5",
         time %in% c("2022Q2","2022Q1"),
         s_adj == "CA") %>%
  left_join(geo, by = "geo") %>%
  select_if(~ n_distinct(.) > 1) %>%
  spread(time, values) %>%
  arrange(`2022Q2`) %>%
  print_table_conditional()

D1_D4_MD5 - Labour cost for LCI (compensation of employees plus taxes minus subsidies)

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D12_D4_MD5",
         time %in% c("2022Q2","2022Q1"),
         s_adj == "CA") %>%
  left_join(geo, by = "geo") %>%
  select_if(~ n_distinct(.) > 1) %>%
  spread(time, values) %>%
  arrange(`2022Q2`) %>%
  print_table_conditional()

D11 - Wages and salaries

France, Germany

Indice

Tous

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-N",
         unit == "I20",
         s_adj == "SCA",
         lcstruct == "D11",
         geo %in% c("FR", "DE")) %>%
  quarter_to_date %>%
  #filter(date >= as.Date("1998-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(geo) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = c(seq(1998, 2100, 2)) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(90, 200, 5)) + 
  scale_color_identity() + add_flags(2) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

1999-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-N",
         unit == "I20",
         s_adj == "SCA",
         lcstruct == "D11",
         geo %in% c("FR", "DE")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("1999-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(geo) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = c(seq(1999, 2100, 5), seq(1997, 2100, 5)) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(90, 200, 5)) + 
  scale_color_identity() + add_flags(2) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

1998-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-N",
         unit == "I20",
         s_adj == "SCA",
         lcstruct == "D11",
         geo %in% c("FR", "DE")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("1998-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(geo) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = c(seq(1998, 2100, 2)) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(90, 200, 5)) + 
  scale_color_identity() + add_flags(2) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

France, Germany, Italy, Spain, Europe

Indice

All

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-N",
         unit == "I20",
         s_adj == "SCA",
         lcstruct == "D11",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(geo) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(90, 200, 5)) + 
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2001-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-N",
         unit == "I20",
         s_adj == "SCA",
         lcstruct == "D11",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2001-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(geo) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(90, 200, 5)) + 
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2017T2-

B-N
Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-N",
         unit == "I20",
         s_adj == "SCA",
         lcstruct == "D11",
         geo %in% c("FR", "DE", "ES", "IT", "EA20")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-04-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(geo) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(90, 200, 5)) + 
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

B-S
Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "I20",
         s_adj == "SCA",
         lcstruct == "D11",
         geo %in% c("FR", "DE", "ES", "IT", "EA20")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-04-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  group_by(geo) %>%
  arrange(date) %>%
  mutate(values = 100*values/values[1]) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(90, 200, 5)) + 
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

Change

All

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D11",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) + 
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2017-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D11",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) +
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2020-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D11",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2020-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "6 months",
               labels = date_format("%Y %b")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) +
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

3 years

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D11",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  filter(date >= Sys.Date() - years(3)) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "3 months",
               labels = date_format("%Y %b")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) +
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2 years

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D11",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  filter(date >= Sys.Date() - years(2)) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "3 months",
               labels = date_format("%Y %b")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) +
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

Netherlands, Portugal, Hungary, Italy

All

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D11",
         s_adj == "CA",
         geo %in% c("NL", "PT", "HU", "IT")) %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) + 
  scale_color_identity() + add_flags(4) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2017-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D11",
         s_adj == "CA",
         geo %in% c("NL", "PT", "HU", "IT")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) + 
  scale_color_identity() + add_flags(4) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

D12_D4_MD5 - Labour costs other than wages and salaries

France, Germany, Italy, Spain, Europe

All

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D12_D4_MD5",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) + 
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2017-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D12_D4_MD5",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) +
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2020-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D12_D4_MD5",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2020-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "6 months",
               labels = date_format("%Y %b")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) +
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

3 years

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D12_D4_MD5",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  filter(date >= Sys.Date() - years(3)) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "3 months",
               labels = date_format("%Y %b")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) +
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2 years

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D12_D4_MD5",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  filter(date >= Sys.Date() - years(2)) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "3 months",
               labels = date_format("%Y %b")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) +
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

D1_D4_MD5 - Labour cost for LCI

France, Germany, Italy, Spain

All

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D1_D4_MD5",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) + 
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2017-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D1_D4_MD5",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2017-01-01")) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) + 
  scale_color_identity() + add_flags(4) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())

2020-

Code
lc_lci_r2_q %>%
  filter(nace_r2 == "B-S",
         unit == "PCH_SM",
         lcstruct == "D1_D4_MD5",
         s_adj == "CA",
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  quarter_to_date %>%
  filter(date >= as.Date("2020-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/100,
         Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot(.) + geom_line(aes(x = date, y = values, color = color)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "6 months",
               labels = date_format("%Y %b")) +
  scale_y_continuous(breaks = 0.01*seq(-20, 20, 1),
                     labels = percent_format(a = 1)) + 
  scale_color_identity() + add_flags(5) +
  theme(legend.position = c(0.75, 0.90),
        legend.title = element_blank())