Dépenses des administrations publiques

Data - Insee

Info

Données sur la dette publique

source dataset .html .RData
insee CNA-2014-DETTE-APU 2025-08-26 2025-08-28
insee COMPTES-ETAT 2025-08-26 2025-08-28
insee DETTE-TRIM-APU-2020 2025-08-26 2025-05-24
insee T_3217 2025-08-26 2025-02-04
insee T_7301 2025-08-26 2024-10-17
insee t_compteapu_val 2025-08-26 2025-05-28

LAST_UPDATE

Code
`CNA-2014-DEP-APU` %>%
  group_by(LAST_UPDATE) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
LAST_UPDATE Nobs
2022-01-07 114400

Last

Code
`CNA-2014-DEP-APU` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  head(1) %>%
  print_table_conditional()
TIME_PERIOD Nobs
2020 4400

First

Code
`CNA-2014-DEP-APU` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  tail(1) %>%
  print_table_conditional()
TIME_PERIOD Nobs
1995 4400

INDICATEUR

Code
`CNA-2014-DEP-APU` %>%
  left_join(INDICATEUR, by = "INDICATEUR") %>%
  group_by(INDICATEUR, Indicateur) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
INDICATEUR Indicateur Nobs
CNA_DEP_APU Dépenses des administrations publiques - Par opération, fonction COFOG et secteur institutionnel 104000
CNA_DEP_APU_CONSOLIDEES Dépenses consolidées totales des administrations publiques - Par fonction COFOG et secteur institutionnel 10400

OPERATION

Code
`CNA-2014-DEP-APU` %>%
  left_join(OPERATION, by = "OPERATION") %>%
  group_by(OPERATION, Operation) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
OPERATION Operation Nobs
D1 D1 - Rémunération des salariés 10400
D2951 D2951 - Impôt sur la production et le revenu 10400
D3 D3 - Subventions 10400
D4 D4 - Revenus de la propriété 10400
D6M D6M 10400
D7 D7 - Autres transferts courants 10400
D9 D9 - Transferts en capital 10400
OTE Total des dépenses des administrations publiques (APU) 10400
P2 P2 - Consommation intermédiaire (emploi intermédiaire) 10400
P5K2 P5K2 - Acquisition nette d'actifs non financiers (P5+K2) 10400
SO Sans objet 10400

FONCTION

All

Code
`CNA-2014-DEP-APU` %>%
  left_join(FONCTION, by = "FONCTION") %>%
  group_by(FONCTION, Fonction) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

2 digit

Code
`CNA-2014-DEP-APU` %>%
  filter(nchar(FONCTION) == 5) %>%
  left_join(FONCTION, by = "FONCTION") %>%
  group_by(FONCTION, Fonction) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
FONCTION Fonction Nobs
FON01 01 - Services généraux des administrations publiques 1430
FON02 02 - Défense 1430
FON03 03 - Ordre et sécurité publics 1430
FON04 04 - Affaires économiques 1430
FON05 05 - Protection de l'environnement 1430
FON06 06 - Logements et équipements collectifs 1430
FON07 07 - Santé 1430
FON08 08 - Loisirs, culture et culte 1430
FON09 09 - Enseignement 1430
FON10 10 - Protection sociale 1430

3 digit

Code
`CNA-2014-DEP-APU` %>%
  filter(nchar(FONCTION) == 6) %>%
  left_join(FONCTION, by = "FONCTION") %>%
  group_by(FONCTION, Fonction) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

SECT-INST

Code
`CNA-2014-DEP-APU` %>%
  left_join(`SECT-INST`, by = "SECT-INST") %>%
  group_by(`SECT-INST`, `Sect-Inst`) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
SECT-INST Sect-Inst Nobs
S13 S13 - Administrations publiques (APU) 22880
S13111 S13111 - État 22880
S13112 S13112 - ODAC 22880
S1313 S1313 - Administrations publiques locales (APUL) 22880
S1314 S1314 - Administrations de sécurité sociale 22880

TIME_PERIOD

Code
`CNA-2014-DEP-APU` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
TIME_PERIOD Nobs
1995 4400
1996 4400
1997 4400
1998 4400
1999 4400
2000 4400
2001 4400
2002 4400
2003 4400
2004 4400
2005 4400
2006 4400
2007 4400
2008 4400
2009 4400
2010 4400
2011 4400
2012 4400
2013 4400
2014 4400
2015 4400
2016 4400
2017 4400
2018 4400
2019 4400
2020 4400

Table 2019

All

Code
`CNA-2014-DEP-APU` %>%
  left_join(FONCTION, by = "FONCTION") %>%
  left_join(OPERATION, by = "OPERATION") %>%
  group_by(FONCTION, Fonction, OPERATION, Operation) %>%
  summarise(Nobs = n(),
            `2019` = OBS_VALUE[TIME_PERIOD == "2019"]) %>%
  arrange(-`2019`) %>%
  print_table_conditional()

Education, Santé

Tous

Code
`CNA-2014-DEP-APU` %>%
  filter(FONCTION %in% c("FON07", "FON09"),
         `SECT-INST` == "S13",
         INDICATEUR == "CNA_DEP_APU",
         TIME_PERIOD == "2019") %>%
  select_if(~ n_distinct(.) > 1) %>%
  left_join(FONCTION, by = "FONCTION") %>%
  left_join(OPERATION, by = "OPERATION") %>%
  select(Fonction, Operation, OBS_VALUE) %>%
  spread(Fonction, OBS_VALUE)
# # A tibble: 10 × 3
#    Operation                                    `07 - Santé` `09 - Enseignement`
#    <chr>                                               <dbl>               <dbl>
#  1 D1 - Rémunération des salariés                      53496               89479
#  2 D2951 - Impôt sur la production et le revenu         4447                1095
#  3 D3 - Subventions                                       41                3489
#  4 D4 - Revenus de la propriété                            0                   6
#  5 D6M                                                104695                6742
#  6 D7 - Autres transferts courants                      2323                4515
#  7 D9 - Transferts en capital                            476                 608
#  8 P2 - Consommation intermédiaire (emploi int…        22702               12613
#  9 P5K2 - Acquisition nette d'actifs non finan…         5837                9378
# 10 Total des dépenses des administrations publ…       194017              127926

OTE

Code
`CNA-2014-DEP-APU` %>%
  filter(FONCTION %in% c("FON07", "FON09"),
         `SECT-INST` == "S13",
         INDICATEUR == "CNA_DEP_APU",
         OPERATION == "OTE") %>%
  select_if(~ n_distinct(.) > 1) %>%
  year_to_date %>%
  left_join(gdp, by = "date") %>%
  left_join(FONCTION, by = "FONCTION") %>%
  ggplot(.) + theme_minimal() + ylab("Consommation (% du PIB)") + xlab("") +
  geom_line(aes(x = date, y = OBS_VALUE/(gdp), color = Fonction)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.91)) +
  scale_x_date(breaks = seq(1950, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_color_manual(values = viridis(4)[1:3]) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 0.5),
                     labels = scales::percent_format(accuracy = 0.1))

D1

Code
`CNA-2014-DEP-APU` %>%
  filter(FONCTION %in% c("FON07", "FON09"),
         `SECT-INST` == "S13",
         INDICATEUR == "CNA_DEP_APU",
         OPERATION == "D1") %>%
  select_if(~ n_distinct(.) > 1) %>%
  year_to_date %>%
  left_join(gdp, by = "date") %>%
  left_join(FONCTION, by = "FONCTION") %>%
  ggplot(.) + theme_minimal() + ylab("Consommation (% du PIB)") + xlab("") +
  geom_line(aes(x = date, y = OBS_VALUE/(gdp), color = Fonction)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.91)) +
  scale_x_date(breaks = seq(1950, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 0.5),
                     labels = scales::percent_format(accuracy = 0.1))

P2 - Consommation intermédiaire (emploi intermédiaire)

Code
`CNA-2014-DEP-APU` %>%
  filter(FONCTION %in% c("FON07", "FON09"),
         `SECT-INST` == "S13",
         INDICATEUR == "CNA_DEP_APU",
         OPERATION == "P2") %>%
  select_if(~ n_distinct(.) > 1) %>%
  year_to_date %>%
  left_join(gdp, by = "date") %>%
  left_join(FONCTION, by = "FONCTION") %>%
  ggplot(.) + theme_minimal() + ylab("Consommation (% du PIB)") + xlab("") +
  geom_line(aes(x = date, y = OBS_VALUE/(gdp), color = Fonction)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.91)) +
  scale_x_date(breaks = seq(1950, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 0.1),
                     labels = scales::percent_format(accuracy = 0.1))