Job vacancy statistics by NACE Rev. 2 activity, occupation and NUTS 2 regions - quarterly data - jvs_q_isco_r2

Data - Eurostat

Info

Last observation: 2025Q4 (N = 45519)

First observation: 2001Q1 (N = 97)

Last data update: 14 aoû 2026, 20:19. Last compile: 18 aoû 2026, 01:39

Structure

Job Vacancy Rate: France, Germany, Spain, Italy, Netherlands

Code
jvs_q_isco_r2 |>
  filter(geo %in% c("FR", "DE", "ES", "IT", "NL"),
         indic_em == "JVR",
         sizeclas == "TOTAL",
         isco08 == "TOTAL",
         nace_r2 == "A-S",
         s_adj == "SA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(2000, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Job vacancy rate") +
  scale_y_continuous(labels = scales::percent_format(accuracy = 0.1))

Germany: Job Vacancy Rate by Sector

Code
jvs_q_isco_r2 |>
  filter(geo == "DE",
         indic_em == "JVR",
         sizeclas == "TOTAL",
         isco08 == "TOTAL",
         nace_r2 %in% c("F", "G-N", "B-E"),
         s_adj == "SA") |>
  quarter_to_date() |>
  ggplot() + geom_line(aes(x = date, y = values/100, color = Nace_r2)) +
  theme_minimal() +
  scale_x_date(breaks = as.Date(paste0(seq(2000, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = "right") +
  xlab("") + ylab("Job vacancy rate") +
  scale_y_continuous(labels = scales::percent_format(accuracy = 0.1))

Example

Code
jvs_q_isco_r2 |>
  filter(sizeclas == "TOTAL",
         s_adj == "NSA",
         indic_em == "JOBRATE",
         grepl("DE", geo),
         isco08 == "TOTAL",
         time %in% c("2020Q2", "2006Q2", "2013Q2")) |>
  select(time, nace_r2, values) |>
  
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}