Production in services - monthly data - sts_sepr_m
Data - Eurostat
Info
Last observation: Monthly: 2026M05 (N = 1,345)
First observation: Monthly: 2000M01 (N = 204)
Last data update: 23 jul 2026, 22:08. Last compile: 24 jul 2026, 03:57
Structure
France, Germany, Italy, Spain: Services Production
Code
sts_sepr_m %>%
filter(geo %in% c("FR", "DE", "IT", "ES"),
nace_r2 == "G-N_STS",
unit == "I15",
s_adj == "SCA") %>%
month_to_date %>%
left_join(colors, by = c("Geo" = "country")) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + scale_color_identity() + add_4flags +
scale_x_date(breaks = as.Date(paste0(seq(2005, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Production in services, index 2015 = 100")
France: Transport, Accommodation, Info & Comm
Code
sts_sepr_m %>%
filter(geo == "FR",
nace_r2 %in% c("H", "I", "J"),
unit == "I15",
s_adj == "SCA") %>%
month_to_date %>%
ggplot + geom_line(aes(x = date, y = values, color = Nace_r2)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(2005, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Production in services, index 2015 = 100")
Latest Month: Year-on-Year Growth by Sector
Code
latest_m <- sts_sepr_m %>%
filter(nace_r2 %in% c("H", "I", "J"),
unit == "PCH_SM",
s_adj == "CA",
geo %in% c("FR", "DE", "IT", "ES"),
!is.na(values)) %>%
summarise(m = max(time)) %>%
pull(m)
sts_sepr_m %>%
filter(nace_r2 %in% c("H", "I", "J"),
unit == "PCH_SM",
s_adj == "CA",
geo %in% c("FR", "DE", "IT", "ES"),
time == latest_m) %>%
select(Nace_r2, Geo, values) %>%
spread(Geo, values) %>%
print_table_conditional()| Nace_r2 | Spain |
|---|---|
| Accommodation and food service activities | -1.7 |
| Information and communication | 2.3 |
| Transportation and storage | 6.0 |
Covid-19
Table
Code
sts_sepr_m %>%
filter(nace_r2 == "G-N_STS",
unit == "I15",
s_adj == "SCA",
time %in% c("2019M11", "2020M02", "2020M03", "2020M04", "2020M05", "2020M08", "2020M11"),
!(geo %in% c("IE", "EU28"))) %>%
select(geo, Geo, time, values) %>%
group_by(geo) %>%
filter(any(time == "2019M11" & !is.na(values))) %>%
mutate(values = 100*values/values[time == "2019M11"]) %>%
spread(time, values) %>%
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()) %>%
arrange(`2020M04`) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}