Title | source | dataset | .html | .RData |
---|---|---|---|---|
Labour productivity and unit labour costs | eurostat | namq_10_lp_ulc | 2024-11-04 | 2024-11-04 |
Non-financial transactions | eurostat | nasq_10_nf_tr | 2024-11-01 | 2024-10-09 |
Labour productivity and unit labour costs
Data - Eurostat
Info
Data on wages
Title | source | dataset | .html | .RData |
---|---|---|---|---|
Monthly minimum wages - bi-annual data | eurostat | earn_mw_cur | 2024-11-05 | 2024-10-08 |
Labour cost index, nominal value - quarterly data | eurostat | ei_lmlc_q | 2024-11-05 | 2024-10-08 |
Labour cost levels by NACE Rev. 2 activity | eurostat | lc_lci_lev | 2024-11-05 | 2024-10-08 |
Labour cost index by NACE Rev. 2 activity - nominal value, quarterly data | eurostat | lc_lci_r2_q | 2024-11-05 | 2024-11-04 |
Labour productivity and unit labour costs | eurostat | nama_10_lp_ulc | 2024-11-05 | 2024-10-08 |
Labour productivity and unit labour costs | eurostat | namq_10_lp_ulc | 2024-11-04 | 2024-11-04 |
Minimum wages | eurostat | tps00155 | 2024-10-09 | 2024-10-08 |
Wage | fred | wage | 2024-11-01 | 2024-11-01 |
Mean nominal monthly earnings of employees by sex and economic activity -- Harmonized series | ilo | EAR_4MTH_SEX_ECO_CUR_NB_A | 2024-06-20 | 2023-06-01 |
Mean nominal monthly earnings of employees by sex and economic activity -- Harmonized series | ilo | EAR_XEES_SEX_ECO_NB_Q | 2024-06-20 | 2023-06-01 |
Average annual wages | oecd | AV_AN_WAGE | 2024-04-16 | 2024-10-24 |
Taxing Wages - Comparative tables | oecd | AWCOMP | 2024-09-15 | 2023-09-09 |
Hourly Earnings (MEI) | oecd | EAR_MEI | 2024-04-16 | 2024-04-16 |
Household Dashboard | oecd | HH_DASH | 2024-09-15 | 2023-09-09 |
Minimum relative to average wages of full-time workers - MIN2AVE | oecd | MIN2AVE | 2024-09-15 | 2023-09-09 |
Real Minimum Wages - RMW | oecd | RMW | 2024-09-15 | 2024-03-12 |
Unit labour costs and labour productivity (employment based), Total economy | oecd | ULC_EEQ | 2024-09-15 | 2024-04-15 |
Last
Code
%>%
namq_10_lp_ulc group_by(time) %>%
summarise(Nobs = n()) %>%
arrange(desc(time)) %>%
head(1) %>%
print_table_conditional()
time | Nobs |
---|---|
2024Q3 | 76 |
Info
Eurostat. Unit labour cost (ULC) measures the average cost of labour per unit of output. It is calculated as the ratio of labour costs to labour productivity. ULC represents a link between productivity and the cost of labour in producing output. Input data are obtained through official transmissions of national accounts’ country data in the European system of accounts - ESA 2010 - transmission programme. Nominal ULC (NULC) is calculated as: [ D1 / EEM] / [ B1GQ / ETO], where: D1 = Compensation of employees, all industries, in current prices EEM = Employees, all industries, in persons (following the domestic concept) B1GQ = Gross domestic product at market prices in millions, chain-linked volumes ETO = Total employment, all industries, in persons (following the domestic concept).
BLS. Unit Labor Cost (ULC) is how much a business pays its workers to produce one unit of output. Businesses pay workers compensation that can include both wages and benefits, such as health insurance and retirement contributions.
https://www.bls.gov/k12/productivity-101/content/what-is-productivity/what-is-unit-labor-cost.htm
unit
Code
%>%
namq_10_lp_ulc left_join(unit, by = "unit") %>%
group_by(unit, Unit) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
unit | Unit | Nobs |
---|---|---|
I10 | Index, 2010=100 | 26503 |
I15 | Index, 2015=100 | 26503 |
I20 | Index, 2020=100 | 25559 |
PCH_SM | Percentage change compared to same period in previous year | 25213 |
CLV_PCH_SM | Chain linked volumes, percentage change compared to same period in previous year | 17998 |
PCH_PRE | Percentage change on previous period | 8572 |
CLV_PCH_PRE | Chain linked volumes, percentage change on previous period | 6132 |
s_adj
Code
%>%
namq_10_lp_ulc left_join(s_adj, by = "s_adj") %>%
group_by(s_adj, S_adj) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
s_adj | S_adj | Nobs |
---|---|---|
NSA | Unadjusted data (i.e. neither seasonally adjusted nor calendar adjusted data) | 80954 |
SCA | Seasonally and calendar adjusted data | 55526 |
na_item
Code
%>%
namq_10_lp_ulc left_join(na_item, by = "na_item") %>%
group_by(na_item, Na_item) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
na_item | Na_item | Nobs |
---|---|---|
RLPR_PER | Real labour productivity per person | 50008 |
RLPR_HW | Real labour productivity per hour worked | 46818 |
NULC_PER | Nominal unit labour cost based on persons | 20178 |
NULC_HW | Nominal unit labour cost based on hours worked | 19476 |
geo
Code
%>%
namq_10_lp_ulc 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 .} {
na_item: France, Germany, Italy
2022Q2
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "2022Q2") %>%
time %>%
quarter_to_date left_join(na_item, by = "na_item") %>%
left_join(unit, by = "unit") %>%
left_join(geo, by = "geo") %>%
select(s_adj, na_item, Na_item, values, unit, Unit, Geo) %>%
spread(Geo, values) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
2022Q3
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "2022Q3") %>%
time %>%
quarter_to_date left_join(na_item, by = "na_item") %>%
left_join(unit, by = "unit") %>%
left_join(geo, by = "geo") %>%
select(s_adj, na_item, Na_item, values, unit, Unit, Geo) %>%
spread(Geo, values) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
2022Q4
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "2022Q4") %>%
time %>%
quarter_to_date left_join(na_item, by = "na_item") %>%
left_join(unit, by = "unit") %>%
left_join(geo, by = "geo") %>%
select(s_adj, na_item, Na_item, values, unit, Unit, Geo) %>%
spread(Geo, values) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
RLPR_HW - Real labour productivity per hour worked
France, Germany, Italy
All
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "RLPR_HW",
na_item == "I15",
unit == "SCA") %>%
s_adj %>%
quarter_to_date left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 10),
labels = scales::dollar_format(su = "", p = ""))
1995-
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "RLPR_HW",
na_item == "I15",
unit == "SCA") %>%
s_adj %>%
quarter_to_date filter(date >= as.Date("1995-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 5),
labels = scales::dollar_format(su = "", p = ""))
1996-
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "RLPR_HW",
na_item == "I15",
unit == "SCA") %>%
s_adj %>%
quarter_to_date filter(date >= as.Date("1996-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(geo) %>%
mutate(values = 100*values/ values[date == as.Date("1996-01-01")]) %>%
+ theme_minimal() + xlab("") + ylab("") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = scales::dollar_format(su = "", p = "", acc = 1))
2010-
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "RLPR_HW",
na_item == "I15",
unit == "SCA") %>%
s_adj %>%
quarter_to_date filter(date >= as.Date("2010-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 2),
labels = scales::dollar_format(su = "", p = ""))
RLPR_PER - Real labour productivity per person
France, Germany, Italy
All
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "RLPR_PER",
na_item == "I15",
unit == "SCA") %>%
s_adj %>%
quarter_to_date left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 10),
labels = scales::dollar_format(su = "", p = ""))
1995-
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "RLPR_PER",
na_item == "I15",
unit == "SCA") %>%
s_adj %>%
quarter_to_date filter(date >= as.Date("1995-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 5),
labels = scales::dollar_format(su = "", p = ""))
1996-
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "RLPR_PER",
na_item == "I15",
unit == "SCA") %>%
s_adj %>%
quarter_to_date filter(date >= as.Date("1996-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
group_by(geo) %>%
mutate(values = 100*values/ values[date == as.Date("1996-01-01")]) %>%
+ theme_minimal() + xlab("") + ylab("") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 200, 5),
labels = scales::dollar_format(su = "", p = "", acc = 1))
2010-
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "RLPR_PER",
na_item == "I15",
unit == "SCA") %>%
s_adj %>%
quarter_to_date filter(date >= as.Date("2010-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 2),
labels = scales::dollar_format(su = "", p = ""))
NULC_PER - Nominal unit labour cost based on persons
Greece, Spain, Portugal
Code
%>%
namq_10_lp_ulc filter(geo %in% c("EL", "ES", "PT"),
== "NULC_PER",
na_item == "I15",
unit == "NSA") %>%
s_adj %>%
quarter_to_date left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("Nominal unit labour cost based on persons") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 10),
labels = scales::dollar_format(su = "", p = ""))
France, Germany, Italy
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "NULC_PER",
na_item == "I15",
unit == "NSA") %>%
s_adj %>%
quarter_to_date left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("Nominal unit labour cost based on persons") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 10),
labels = scales::dollar_format(su = "", p = ""))
France, Germany
NSA
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE"),
== "NULC_PER",
na_item == "I15",
unit == "NSA") %>%
s_adj %>%
quarter_to_date filter(date >= as.Date("1990-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("Nominal unit labour cost based on persons") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_2flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 5),
labels = scales::dollar_format(su = "", p = ""))
NSA
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE"),
== "NULC_PER",
na_item == "I15",
unit == "NSA") %>%
s_adj %>%
quarter_to_date filter(date >= as.Date("1990-01-01")) %>%
left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("Nominal unit labour cost based on persons") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_2flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 5),
labels = scales::dollar_format(su = "", p = ""))
NULC_HW - Nominal unit labour cost based on hours worked
France, Germany, Italy
Code
%>%
namq_10_lp_ulc filter(geo %in% c("FR", "DE", "IT"),
== "NULC_HW",
na_item == "I15",
unit == "NSA") %>%
s_adj %>%
quarter_to_date left_join(geo, by = "geo") %>%
left_join(colors, by = c("Geo" = "country")) %>%
+ theme_minimal() + xlab("") + ylab("Nominal unit labour cost based on hours worked") +
ggplot geom_line(aes(x = date, y = values, color = color)) +
scale_color_identity() + add_3flags +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2024, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 200, 10),
labels = scales::dollar_format(su = "", p = ""))