Last observation: 2025 (N = 60)
First observation: 2003 (N = 1)
Last data update: 14 aoû 2026, 20:31. Last compile: 18 aoû 2026, 04:34
Data - Eurostat
Last observation: 2025 (N = 60)
First observation: 2003 (N = 1)
Last data update: 14 aoû 2026, 20:31. Last compile: 18 aoû 2026, 04:34
tipslm60 |>
filter(geo %in% c("FR", "DE", "NL", "ES", "IT"),
unit == "PC_POP") |>
year_to_date() |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(values = values/100) |>
mutate(color = ifelse(geo == "NL", color2, color)) |>
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(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Activity rate - % of total population aged 15-64") +
scale_y_continuous(breaks = 0.01*seq(-300, 2200, 2),
labels = scales::percent_format(accuracy = 1))
tipslm60 |>
filter(geo %in% c("FR", "DE", "NL", "ES", "IT"),
unit == "PPCH_3Y") |>
year_to_date() |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(values = values/100) |>
mutate(color = ifelse(geo == "NL", color2, color)) |>
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(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Activity rate - % of total population aged 15-64") +
scale_y_continuous(breaks = 0.01*seq(-300, 2200, 1),
labels = scales::percent_format(accuracy = 1)) +
geom_hline(yintercept = -0.002, linetype = "dashed")
tipslm60 |>
filter(geo %in% c("SE", "DK", "AT"),
unit == "PC_POP") |>
year_to_date() |>
left_join(colors, by = c("Geo" = "country")) |>
mutate(values = values/100) |>
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(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Activity rate - % of total population aged 15-64") +
scale_y_continuous(breaks = 0.01*seq(-300, 2200, 2),
labels = scales::percent_format(accuracy = 1))
latest_y <- tipslm60 |>
filter(unit == "PC_POP", !is.na(values)) |>
summarise(m = max(time)) |>
pull(m)
tipslm60 |>
filter(time == latest_y,
unit == "PC_POP") |>
mutate(values = round(values, 1)) |>
select(Geo, values) |>
arrange(-values) |>
rename(!!paste0("Activity rate, % (", latest_y, ")") := values) |>
print_table_conditional()| Geo | Activity rate, % (2025) |
|---|---|
| Netherlands | 85.6 |
| Sweden | 84.0 |
| Malta | 82.6 |
| Denmark | 82.3 |
| Estonia | 81.7 |
| Cyprus | 80.4 |
| Germany | 80.3 |
| Finland | 79.7 |
| Lithuania | 79.7 |
| Austria | 78.9 |
| Portugal | 78.8 |
| Hungary | 78.6 |
| Ireland | 78.4 |
| Czechia | 78.0 |
| Latvia | 77.6 |
| Slovakia | 76.5 |
| Slovenia | 75.8 |
| Euro area – 20 countries (2023-2025) | 75.7 |
| Euro area – 21 countries (from 2026) | 75.6 |
| European Union - 27 countries (from 2020) | 75.6 |
| Poland | 75.2 |
| France | 75.1 |
| Spain | 74.9 |
| Luxembourg | 74.3 |
| Bulgaria | 73.5 |
| Croatia | 72.4 |
| Belgium | 71.9 |
| Greece | 70.9 |
| Romania | 67.1 |
| Italy | 66.7 |