3.201 – Dépenses et recettes des administrations publiques (S13) (En milliards d’euros)
Data - INSEE
Info
LAST_COMPILE
LAST_COMPILE |
---|
2025-06-01 |
Dernière
Code
%>%
T_3201 group_by(year) %>%
summarise(Nobs = n()) %>%
arrange(desc(year)) %>%
head(2) %>%
print_table_conditional()
year | Nobs |
---|---|
2024 | 50 |
2023 | 50 |
Last Year
Ordre Ligne
Code
%>%
T_3201 filter(year == max(year)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
select(-date) %>%
mutate(value_gdp = round(100*value/gdp, 1)) %>%
select(-gdp) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
Ordre décroissant
Code
%>%
T_3201 filter(year == max(year)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
select(-date) %>%
mutate(value_gdp = round(100*value/gdp, 1)) %>%
select(-gdp) %>%
arrange(-value) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
Dépenses de fonctionnement, total
Tous
Code
%>%
T_3201 filter(line %in% c(1, 19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
+ geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 5),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.5),
legend.title = element_blank())
1978-
Code
%>%
T_3201 filter(line %in% c(1, 19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("1978-01-01")) %>%
+ geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 5),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.5),
legend.title = element_blank())
1995-
Code
%>%
T_3201 filter(line %in% c(1, 19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("1995-01-01")) %>%
+ geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 5),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.5),
legend.title = element_blank())
Dépenses de fonctionnement
Tous
Code
%>%
T_3201 filter(line %in% c(1)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("Dépenses de fonctionnement (% du PIB)") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
1979-
Code
%>%
T_3201 filter(line %in% c(1)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("1979-01-01")) %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("Dépenses de fonctionnement (% du PIB)") +
scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
Dépenses publiques
Tous
Code
%>%
T_3201 filter(line %in% c(19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
1979-
Code
%>%
T_3201 filter(line %in% c(19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("1979-01-01")) %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
2000-
Code
%>%
T_3201 filter(line %in% c(19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("2000-01-01")) %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
Recettes et dépenses publiques
Tous
Code
%>%
T_3201 filter(line %in% c(44, 19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
+ geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
1980-
Code
%>%
T_3201 filter(line %in% c(44, 19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("1980-01-01")) %>%
+ geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1980, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank())
1995-
Code
%>%
T_3201 filter(line %in% c(44, 19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("1995-01-01")) %>%
+ geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1995, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank())
2007-
Code
<- T_3201 %>%
data filter(line %in% c(44, 19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("2007-01-01"))
<- data %>%
delta_data filter(format(date, "%Y") %in% c("2007", "2024")) %>%
group_by(date) %>%
summarise(
y_max = max(value / gdp),
y_min = min(value / gdp),
delta = y_max - y_min,
.groups = "drop"
)
%>%
data + geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
geom_label(data = . %>% filter(date %in% c(as.Date("2007-01-01"), max(date))),
aes(x = date, y = value / gdp, label = percent(value/gdp, acc = 0.1), color = Line))+
geom_segment(
data = delta_data,
aes(x = date, xend = date, y = y_min, yend = y_max),
arrow = arrow(length = unit(0.2, "cm"), ends = "both"),
color = "black"
+
) geom_text(
data = delta_data,
aes(x = date, y = (y_max + y_min) / 2,
label = paste0("-", round(delta * 100, 1), " %")),
color = "black",
fontface = "bold",
vjust = -0.5
)
2013-
Code
%>%
T_3201 filter(line %in% c(44, 19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("2013-01-01")) %>%
+ geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
geom_label(data = . %>% filter(date %in% c(as.Date("2017-01-01"), max(date))),
aes(x = date, y = value / gdp, label = percent(value/gdp, acc = 0.1), color = Line))
2017-
Code
<- T_3201 %>%
data filter(line %in% c(44, 19)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("2017-01-01"))
<- data %>%
delta_data filter(format(date, "%Y") %in% c("2017", "2024")) %>%
group_by(date) %>%
summarise(
y_max = max(value / gdp),
y_min = min(value / gdp),
delta = y_max - y_min,
.groups = "drop"
)
%>%
data + geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
geom_label(data = . %>% filter(date %in% c(max(date), min(date))),
aes(x = date, y = value / gdp, label = percent(value/gdp, acc = 0.1), color = Line)) +
geom_segment(
data = delta_data,
aes(x = date, xend = date, y = y_min, yend = y_max),
arrow = arrow(length = unit(0.2, "cm"), ends = "both"),
color = "black"
+
) geom_text(
data = delta_data,
aes(x = date, y = (y_max + y_min) / 2,
label = paste0("-", round(delta * 100, 1), " %")),
color = "black",
fontface = "bold",
vjust = -0.5
)
Recettes publiques
Tous
Code
%>%
T_3201 filter(line %in% c(44)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
1979-
Code
%>%
T_3201 filter(line %in% c(44)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("1979-01-01")) %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
2000-
Code
%>%
T_3201 filter(line %in% c(44)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
filter(date >= as.Date("2000-01-01")) %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
Charges d’intérêt
Tous
Code
%>%
T_3201 filter(line %in% c(7)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
Hors correction au titre des services d’intermédiation financière indirectement mesurés
Code
%>%
T_3201 filter(line %in% c(8)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
add_row(date = as.Date("2022-01-01"), value = 53.2, gdp = 2643) %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("Charge d'intérêts hors correction au titre des SIFIM\n% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
Les deux
Code
%>%
T_3201 filter(line %in% c(8, 7)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
+ geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("Intérêts (% du PIB)") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 0.5),
labels = percent_format(accuracy = .1)) +
theme(legend.position = c(0.45, 0.85),
legend.title = element_blank())
Déficit public
Capacité ou besoin de financement
Code
%>%
T_3201 filter(line %in% c(50)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
#add_row(date = as.Date("2022-01-01"), value = -124.9, gdp = 2643) %>%
+ geom_line(aes(x = date, y = value / gdp)) +
ggplot theme_minimal() + xlab("") + ylab("Déficit public (% du PIB)") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-50, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())
Salaires, consommations intermédiaires
Tous
Code
%>%
T_3201 filter(line %in% c(1, 2, 3)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
mutate(value_gdp = value/gdp) %>%
+ geom_line(aes(x = date, y = value_gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1),
limits = c(0, 0.21)) +
theme(legend.position = c(0.4, 0.14),
legend.title = element_blank()) +
geom_label(data = . %>% filter(date %in% c(max(date), min(date))),
aes(x = date, y = value_gdp, color = Line, label = percent(value_gdp, acc = 0.1)))
1979-
Code
%>%
T_3201 filter(line %in% c(1, 2, 3)) %>%
%>%
year_to_date2 filter(date >= as.Date("1979-01-01")) %>%
left_join(gdp, by = "date") %>%
mutate(value_gdp = value/gdp) %>%
+ geom_line(aes(x = date, y = value_gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1),
limits = c(0, 0.21)) +
theme(legend.position = c(0.4, 0.14),
legend.title = element_blank()) +
geom_label(data = . %>% filter(date %in% c(max(date), min(date))),
aes(x = date, y = value_gdp, color = Line, label = percent(value_gdp, acc = 0.1)))
1995-
Code
%>%
T_3201 filter(line %in% c(1, 2, 3)) %>%
%>%
year_to_date2 filter(date >= as.Date("1995-01-01")) %>%
left_join(gdp, by = "date") %>%
mutate(value_gdp = value/gdp) %>%
+ geom_line(aes(x = date, y = value_gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1),
limits = c(0, 0.21)) +
theme(legend.position = c(0.4, 0.14),
legend.title = element_blank()) +
geom_label(data = . %>% filter(date %in% c(max(date), min(date))),
aes(x = date, y = value_gdp, color = Line, label = percent(value_gdp, acc = 0.1)))
Dépenses publiques
Tous sans cotisations
Code
%>%
T_3201 filter(line %in% c(44, 48)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
mutate(value_gdp = value/gdp) %>%
+ geom_line(aes(x = date, y = value_gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank()) +
geom_label(data = . %>% filter(max(date) == date), aes(x = date, y = value_gdp, label = percent(value_gdp, acc = 0.1)))
Dépenses avec et sans double comptes
Code
%>%
T_3201 filter(line %in% c(19, 23)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
mutate(value_gdp = value/gdp) %>%
mutate(Line = ifelse(line == 23, "Total des dépenses hors éléments imputés", Line)) %>%
+ geom_line(aes(x = date, y = value_gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("Dépenses publiques (points de PIB)") +
scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank()) +
geom_label(data = . %>% filter(max(date) == date), aes(x = date, y = value_gdp, label = percent(value_gdp, acc = 0.1)))
Tous sans cotisations
Code
%>%
T_3201 filter(line %in% c(44, 48)) %>%
%>%
year_to_date2 left_join(gdp, by = "date") %>%
+ geom_line(aes(x = date, y = value / gdp, color = Line)) +
ggplot theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks = seq(1960, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.15),
legend.title = element_blank())