Job vacancy statistics by NACE Rev. 2 activity, occupation and NUTS 2 regions - quarterly data - jvs_q_isco_r2
Data - Eurostat
Info
Last observation: Quarterly: 2025Q4 (N = 55,309)
First observation: Quarterly: 2001Q1 (N = 114)
Last data update: 23 jul 2026, 22:20. Last compile: 24 jul 2026, 02:08
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 %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot + geom_line(aes(x = date, y = values/100, color = color)) +
theme_minimal() + scale_color_identity() + add_5flags +
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 .}