Accrued-to-date pension entitlements in social insurance - nasa_10_pens1
Data - Eurostat
Info
Last observation: Annual: 2024 (N = 313)
First observation: Annual: 2012 (N = 1,409)
Last data update: 23 jul 2026, 23:07. Last compile: 24 jul 2026, 03:06
Structure
D62_P, S1P
Code
nasa_10_pens1 %>%
filter(geo %in% c("FR", "DE", "IT"),
# D62_P: Social insurance pension benefits
na_item == "D62_P",
# S1P: Pension schemes (core and not core accounts)
penscheme == "S1P",
unit == "MIO_EUR") %>%
year_to_date %>%
ggplot + geom_line(aes(x = date, y = values/1000, color = geo)) +
scale_color_manual(values = viridis(4)[1:3]) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("") +
scale_y_log10(breaks = seq(0, 1000, 100),
labels = dollar_format(suffix = " Bn€", prefix = "", accuracy = 1))
Pension Entitlements (Stock)
France, Germany, Italy, Spain
Code
nasa_10_pens1 %>%
filter(geo %in% c("FR", "DE", "IT", "ES"),
# F63_LE: Pension entitlements in closing balance sheet
na_item == "F63_LE",
penscheme == "S1P",
unit == "PC_GDP") %>%
year_to_date %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) +
geom_point(aes(x = date, y = values, color = color)) +
theme_minimal() + scale_color_identity() + add_4flags +
scale_x_date(breaks = as.Date(paste0(seq(2010, 2100, 3), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Pension entitlements, % of GDP") +
scale_y_continuous(labels = scales::percent_format(accuracy = 1))
France: Contributions vs. Benefits
Code
nasa_10_pens1 %>%
filter(geo == "FR",
# D61_P: Net pension contributions; D62_P: Social insurance pension benefits
na_item %in% c("D61_P", "D62_P"),
penscheme == "S1P",
unit == "MIO_EUR") %>%
year_to_date %>%
mutate(values = values/1000) %>%
ggplot + geom_line(aes(x = date, y = values, color = Na_item)) +
geom_point(aes(x = date, y = values, color = Na_item)) +
theme_minimal() +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(2010, 2100, 3), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Bn€")
Latest Year by Country
Code
latest_y <- nasa_10_pens1 %>%
filter(na_item == "F63_LE", penscheme == "S1P", unit == "PC_GDP", !is.na(values)) %>%
summarise(m = max(time)) %>%
pull(m)
nasa_10_pens1 %>%
filter(geo %in% c("FR", "DE", "IT", "ES", "NL", "SE", "FI", "CZ"),
na_item == "F63_LE",
penscheme == "S1P",
unit == "PC_GDP",
time == latest_y) %>%
select(Geo, values) %>%
arrange(-values) %>%
print_table_conditional()| Geo | values |
|---|---|
| Czechia | 280 |