Level of GDP per capita and productivity - PDB_LV
Data - OECD
Info
Data on productivity
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-08-13 |
Last
| obsTime | Nobs |
|---|---|
| 2024 | 711 |
| 2023 | 849 |
| 2022 | 863 |
Nobs
Code
PDB_LV |>
group_by(MEASURE, Measure, UNIT_MEASURE, `Unit of measure`) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()| MEASURE | Measure | UNIT_MEASURE | Unit of measure | Nobs |
|---|---|---|---|---|
| GDP | Gross domestic product | USD_PPP | US dollars, PPP converted | 4766 |
| GDPPOP | GDP per capita | XDC_PS | National currency per person | 4036 |
| GDPEMP | GDP per person employed | USD_PPP_PS | US dollars per person, PPP converted | 3744 |
| GDPEMP | GDP per person employed | XDC_PS | National currency per person | 3462 |
| GDPHRS | GDP per hour worked | USD_PPP_H | US dollars per hour, PPP converted | 2599 |
| GDPHRS | GDP per hour worked | XDC_H | National currency per hour | 2540 |
| GDP | Gross domestic product | XDC | National currency | 2343 |
| POP | Population | PS | Persons | 2139 |
| GDPPOP | GDP per capita | USD_PPP_PS | US dollars per person, PPP converted | 2071 |
| EMP | Employment | PS | Persons | 1964 |
| HRSTO | Hours worked for total employment | H | Hours | 1304 |
| HRSPOP | Labour utilisation (hours worked per head of population) | H_PS | Hours per person | 1290 |
| HRSAV | Average hours worked per person employed | H_PS | Hours per person | 1226 |
MEASURE
Code
PDB_LV |>
group_by(MEASURE, Measure) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()| MEASURE | Measure | Nobs |
|---|---|---|
| GDPEMP | GDP per person employed | 7206 |
| GDP | Gross domestic product | 7109 |
| GDPPOP | GDP per capita | 6107 |
| GDPHRS | GDP per hour worked | 5139 |
| POP | Population | 2139 |
| EMP | Employment | 1964 |
| HRSTO | Hours worked for total employment | 1304 |
| HRSPOP | Labour utilisation (hours worked per head of population) | 1290 |
| HRSAV | Average hours worked per person employed | 1226 |
T_HRSPOP - Labour utilisation (hours worked per head of population)
PCTUS - As % of the USA (USA=100)
Code
PDB_LV |>
filter(MEASURE == "HRSPOP",
UNIT_MEASURE == "H_PS",
LOCATION %in% c("ITA", "DEU", "GRC", "ESP", "PRT", "FRA", "USA")) |>
year_to_date() |>
filter(date >= as.Date("2000-01-01")) |>
group_by(date) %>%
filter(any(LOCATION == "USA")) |>
mutate(obsValue = obsValue / obsValue[LOCATION == "USA"]) |>
filter(LOCATION != "USA") |>
group_by(LOCATION) |>
arrange(date) |>
left_join(colors, by = c("Location" = "country")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("") + scale_color_identity() + add_6flags +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank(),
legend.direction = "horizontal") +
scale_y_continuous(breaks = 0.01*seq(0, 200, 5),
labels = percent_format(acc = 1))
PEHRS - Persons/Hours
Code
PDB_LV |>
filter(MEASURE == "HRSPOP",
UNIT_MEASURE == "H_PS",
LOCATION %in% c("ITA", "DEU", "GRC", "ESP", "PRT", "FRA")) |>
year_to_date() |>
#filter(date >= as.Date("2000-01-01")) %>%
group_by(LOCATION) |>
arrange(date) |>
left_join(colors, by = c("Location" = "country")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("") + scale_color_identity() + add_6flags +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank(),
legend.direction = "horizontal") +
scale_y_continuous(breaks =seq(0, 20000, 25),
labels = dollar_format(acc = 1, p = "", su = "h"))
T_HRSAV - Average hours worked per person employed
PEHRS - Persons/Hours
Code
PDB_LV |>
filter(MEASURE == "HRSAV",
UNIT_MEASURE == "H_PS",
LOCATION %in% c("ITA", "DEU", "GRC", "ESP", "PRT", "FRA")) |>
year_to_date() |>
#filter(date >= as.Date("2000-01-01")) %>%
group_by(LOCATION) |>
arrange(date) |>
left_join(colors, by = c("Location" = "country")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("") + scale_color_identity() +add_6flags +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank(),
legend.direction = "horizontal") +
scale_y_continuous(breaks =seq(0, 20000, 25),
labels = dollar_format(acc = 1, p = "", su = "h"))
GDP per person employed - T_GDPEMP
VPVOB = USD, constant prices, 2015 PPPs
Code
PDB_LV |>
filter(MEASURE == "GDPEMP",
UNIT_MEASURE == "USD_PPP_PS", PRICE_BASE == "Q",
LOCATION %in% c("ITA", "DEU", "GRC", "ESP", "PRT", "FRA")) |>
year_to_date() |>
filter(date >= as.Date("2000-01-01")) |>
group_by(LOCATION) |>
arrange(date) |>
left_join(colors, by = c("Location" = "country")) |>
mutate(obsValue = obsValue / 1000) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("GDP Per Person Employed") + scale_color_identity() + add_6flags +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank(),
legend.direction = "horizontal") +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(su = "k", acc = 1))
GDP Per head, Heterogeneity in EU
VPVOB = USD, constant prices, 2015 PPPs
Code
PDB_LV |>
filter(MEASURE == "GDPPOP",
UNIT_MEASURE == "USD_PPP_PS", PRICE_BASE == "V",
LOCATION %in% c("ITA", "DEU", "GRC", "ESP", "PRT", "FRA")) |>
year_to_date() |>
filter(date >= as.Date("2000-01-01")) |>
group_by(LOCATION) |>
arrange(date) |>
left_join(colors, by = c("Location" = "country")) |>
mutate(obsValue = obsValue/1000) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("") + scale_color_identity() +add_6flags +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank(),
legend.direction = "horizontal") +
scale_y_log10(breaks = seq(0, 200, 5),
labels = dollar_format(su = "k", acc = 1))
100
Code
PDB_LV |>
filter(MEASURE == "GDPPOP",
UNIT_MEASURE == "USD_PPP_PS", PRICE_BASE == "V",
LOCATION %in% c("ITA", "DEU", "GRC", "ESP", "PRT", "FRA")) |>
year_to_date() |>
filter(date >= as.Date("2000-01-01")) |>
group_by(LOCATION) |>
arrange(date) |>
mutate(obsValue = 100 * obsValue / obsValue[date == as.Date("2007-01-01")]) |>
left_join(colors, by = c("Location" = "country")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("") + scale_color_identity() +add_6flags +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank(),
legend.direction = "horizontal") +
scale_y_log10(breaks = seq(70, 200, 5))
GDP per hour worked, Heterogeneity in EU
Norway, Germany, Greece, United States, United Kingdom, France
in $
Code
PDB_LV |>
filter(MEASURE == "GDPHRS",
UNIT_MEASURE == "USD_PPP_H", PRICE_BASE == "Q",
LOCATION %in% c("NOR", "DEU", "GRC", "USA", "GBR", "FRA")) |>
year_to_date() |>
group_by(LOCATION) |>
arrange(date) |>
left_join(colors, by = c("Location" = "country")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("USD, constant prices, 2015 PPPs") + scale_color_identity() + add_6flags +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank(),
legend.direction = "horizontal") +
scale_y_continuous(breaks = seq(0, 200, 5),
labels = dollar_format(p = "$", su = "/h"))
Set Countries
in $
Code
PDB_LV |>
filter(MEASURE == "GDPHRS",
UNIT_MEASURE == "USD_PPP_H", PRICE_BASE == "Q",
LOCATION %in% c("ITA", "DEU", "GRC", "ESP", "PRT", "FRA")) |>
year_to_date() |>
group_by(LOCATION) |>
arrange(date) |>
left_join(colors, by = c("Location" = "country")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("USD, constant prices, 2015 PPPs") + scale_color_identity() +add_6flags +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank(),
legend.direction = "horizontal") +
scale_y_continuous(breaks = seq(0, 200, 5),
labels = dollar_format(p = "$", su = "/h"))
Base 100 = 2007
Code
PDB_LV |>
filter(MEASURE == "GDPHRS",
UNIT_MEASURE == "USD_PPP_H", PRICE_BASE == "Q",
LOCATION %in% c("ITA", "DEU", "GRC", "ESP", "PRT", "FRA")) |>
year_to_date() |>
filter(date >= as.Date("2000-01-01")) |>
group_by(LOCATION) |>
arrange(date) |>
mutate(obsValue = 100 * obsValue / obsValue[date == as.Date("2007-01-01")]) |>
left_join(colors, by = c("Location" = "country")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
theme_minimal() + xlab("") + ylab("") + scale_color_identity() +add_6flags +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank(),
legend.direction = "horizontal") +
scale_y_log10(breaks = seq(70, 200, 5))