Non-accelerating wage rate of unemployment - ZNAWRU

Data - AMECO

geo, Country

Code
ZNAWRU %>%
  left_join(COU, by = "COU") %>%
  group_by(COUNTRY) %>%
  summarise(Nobs = n()) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(COUNTRY)),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

2011, 2013, 2015, 2017, 2019, 2021

Italy

All

Code
ZNAWRU %>%
  left_join(COU, by = "COU") %>%
  filter(COU %in% c("ITA"),
         vintage %in% seq(2011,2021,1)) %>%
  mutate(`AMECO Vintage` =  paste0(vintage)) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("NAWRU for Italy") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = `AMECO Vintage`)) +
  scale_color_manual(values = viridis(12)[1:11]) +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "bottom") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

1995

Code
ZNAWRU %>%
  left_join(COU, by = "COU") %>%
  filter(COU %in% c("ITA"),
         vintage %in% seq(2011,2021,1),
         date >= as.Date("1995-01-01")) %>%
  mutate(`Vintage` =  paste0(vintage)) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Chômage Structurel (NAWRU) en Italie") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = `Vintage`)) +
  scale_color_manual(values = viridis(12)[1:11]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "right") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

Spain

Code
ZNAWRU %>%
  filter(COU %in% c("ESP"),
         vintage %in% seq(2011,2021,1)) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("NAWRU for Spain") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = paste0(vintage))) +
  scale_color_manual(values = viridis(12)[1:11]) +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        legend.direction = "horizontal") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

France

All

Code
ZNAWRU %>%
  filter(COU %in% c("FRA"),
         vintage %in% seq(2011,2021,2)) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("NAWRU for France") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = paste0(vintage))) +
  scale_color_manual(values = viridis(7)[1:6]) +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        legend.direction = "horizontal") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

1985

Code
ZNAWRU %>%
  left_join(COU, by = "COU") %>%
  filter(COU %in% c("FRA"),
         vintage %in% seq(2011,2021,1),
         date >= as.Date("1985-01-01")) %>%
  mutate(`Vintage` =  paste0(vintage)) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Chômage Structurel (NAWRU) en France") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = `Vintage`)) +
  scale_color_manual(values = viridis(12)[1:11]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "right") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

1995

Colors

Code
ZNAWRU %>%
  left_join(COU, by = "COU") %>%
  filter(COU %in% c("FRA"),
         vintage %in% seq(2011,2021,1),
         date >= as.Date("1995-01-01")) %>%
  mutate(`Date d'estimation` =  paste0(vintage)) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Chômage Structurel (NAWRU) en France") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = `Date d'estimation`)) +
  scale_color_manual(values = viridis(12)[1:11]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "right") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, .2),
                     labels = scales::percent_format(accuracy = .2))

Linetype

All
Code
ZNAWRU %>%
  left_join(COU, by = "COU") %>%
  filter(COU %in% c("FRA"),
         vintage %in% seq(2011,2021,1),
         date >= as.Date("1995-01-01")) %>%
  mutate(`Date d'estimation` =  paste0(vintage)) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Chômage Structurel (NAWRU) en France") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = `Date d'estimation`, linetype = `Date d'estimation`)) +
  scale_color_manual(values = viridis(12)[1:11]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "right") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, .2),
                     labels = scales::percent_format(accuracy = .2))

odd
Code
ZNAWRU %>%
  left_join(COU, by = "COU") %>%
  filter(COU %in% c("FRA"),
         vintage %in% seq(2011,2021,2),
         date >= as.Date("1995-01-01")) %>%
  mutate(`Date d'estimation` =  paste0(vintage)) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Chômage Structurel (NAWRU) en France") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = `Date d'estimation`, linetype = `Date d'estimation`)) +
  scale_color_manual(values = viridis(7)[1:6]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "right") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, .2),
                     labels = scales::percent_format(accuracy = .2))

2011, 2014, 2017, 2021
  • Chapitre CEPII
Code
data <- ZNAWRU %>%
  left_join(COU, by = "COU") %>%
  filter(COU %in% c("FRA"),
         vintage %in% c(2011,2014, 2017, 2021),
         date >= as.Date("1995-01-01")) %>%
  mutate(`Date d'estimation` =  paste0("Printemps ", vintage)) %>%
  select(`Date d'estimation`, date, value) %>%
  spread(`Date d'estimation`, value)

data %>%
  gather(`Date d'estimation`, value, -date) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Chômage Structurel (NAWRU) en France") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = `Date d'estimation`, linetype = `Date d'estimation`)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1921, 2021, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = "right") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, .2),
                     labels = scales::percent_format(accuracy = .2))

France, Portugal, Italy, Spain

2021

Code
ZNAWRU %>%
  filter(COU %in% c("FRA", "PRT", "ITA", "ESP", "DEU"),
         vintage == 2021) %>%
  left_join(COU, by = "COU") %>%
  left_join(colors, by = c("COUNTRY" = "country")) %>%
  na.omit %>%
  mutate(values = value/100,
         Geo = COUNTRY) %>%
  ggplot() + theme_minimal() + ylab("Non-accelerating wage rate of unemployment (NAWRU)") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) + add_5flags +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

2016

Code
ZNAWRU %>%
  filter(COU %in% c("FRA", "PRT", "ITA", "ESP", "DEU"),
         vintage == 2016) %>%
  left_join(COU, by = "COU") %>%
  left_join(colors, by = c("COUNTRY" = "country")) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Non-accelerating wage rate of unemployment (NAWRU)") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = color)) +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_color_identity() +
  geom_image(data = . %>%
               filter(date == as.Date("2021-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", COUNTRY)), ".png")),
             aes(x = date, y = value/100, image = image), asp = 1.5) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

France, Germany, Italy

All

Code
ZNAWRU %>%
  filter(COU %in% c("FRA", "DEU", "ITA"),
         vintage == 2021) %>%
  left_join(COU, by = "COU") %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Non-accelerating wage rate of unemployment") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = COUNTRY)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  geom_image(data = . %>%
               filter(date == as.Date("2017-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", COUNTRY)), ".png")),
             aes(x = date, y = value/100, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

2000-

Code
ZNAWRU %>%
  filter(COU %in% c("FRA", "DEU", "ITA"),
         vintage == 2021,
         date >= as.Date("2000-01-01")) %>%
  left_join(COU, by = "COU") %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Non-accelerating wage rate of unemployment") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = COUNTRY)) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  geom_image(data = . %>%
               filter(date == as.Date("2017-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", COUNTRY)), ".png")),
             aes(x = date, y = value/100, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

France, Italy

All

Code
ZNAWRU %>%
  filter(COU %in% c("FRA", "ITA"),
         vintage == 2021) %>%
  left_join(COU, by = "COU") %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Non-accelerating wage rate of unemployment") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = COUNTRY)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_color_manual(values = c("#0055a4", "#008c45")) +
  geom_image(data = . %>%
               filter(date == as.Date("2017-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", COUNTRY)), ".png")),
             aes(x = date, y = value/100, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

2000-

Code
ZNAWRU %>%
  filter(COU %in% c("FRA", "ITA"),
         vintage == 2021,
         date >= as.Date("2000-01-01")) %>%
  left_join(COU, by = "COU") %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("Non-accelerating wage rate of unemployment") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = COUNTRY)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_color_manual(values = c("#0055a4", "#008c45")) +
  geom_image(data = . %>%
               filter(date == as.Date("2017-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", COUNTRY)), ".png")),
             aes(x = date, y = value/100, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, .1),
                     labels = scales::percent_format(accuracy = .1))

Unemployment vs. NAWRU

France, Germany, Italy

All

Code
ZNAWRU %>%
  mutate(variable = "Non Accelerating Wage Rate of Unemployment (NAWRU)") %>%
  bind_rows(ZUTN %>%
              mutate(variable = "Actual Unemployment Rate")) %>%
  filter(COU %in% c("FRA", "DEU", "ITA"),
         vintage == 2021) %>%
  left_join(COU, by = "COU") %>%
  na.omit %>%
  left_join(colors, by = c("COUNTRY" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Non-accelerating wage rate of unemployment") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = COUNTRY, linetype = variable)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  geom_image(data = . %>%
               filter(date == as.Date("2017-01-01"),
                      variable == "Non Accelerating Wage Rate of Unemployment (NAWRU)") %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", COUNTRY)), ".png")),
             aes(x = date, y = value/100, image = image), asp = 1.5) +
  theme(legend.position = "none") +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))

2000-

Code
ZNAWRU %>%
  mutate(variable = "Non Accelerating Wage Rate of Unemployment (NAWRU)") %>%
  bind_rows(ZUTN %>%
              mutate(variable = "Actual unemployment rate")) %>%
  filter(COU %in% c("FRA", "DEU", "ITA"),
         vintage == 2021,
         date >= as.Date("2000-01-01")) %>%
  left_join(COU, by = "COU") %>%
  left_join(colors, by = c("COUNTRY" = "country")) %>%
  na.omit %>%
  ggplot() + theme_minimal() + ylab("NAWRU, Actual unemployment rate") + xlab("") +
  geom_line(aes(x = date, y = value/100, color = COUNTRY, linetype = variable)) +
  scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_color_manual(values = c("#0055a4", "#000000", "#008c45")) +
  scale_linetype_manual(values = c("longdash", "solid")) +
  geom_image(data = . %>%
               filter(date == as.Date("2020-01-01"),
                      variable == "Actual unemployment rate") %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", COUNTRY)), ".png")),
             aes(x = date, y = value/100, image = image), asp = 1.5) +
  theme(legend.position = c(0.35, 0.25),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
                     labels = scales::percent_format(accuracy = 1))