Comptes nationaux financiers - CNF

Données - BDF

Info

Structure

Capacité (+) / besoin (-) de financement par secteur

Solde des créances et des dettes (flux trimestriels, non consolidés).

SNF, Ménages, APU, Total économie

Code
CNF %>%
  
  filter(variable %in% c("CNF.Q.N.FR.W0.S11.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T",
                          "CNF.Q.N.FR.W0.S1M.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T",
                          "CNF.Q.N.FR.W0.S13.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T",
                          "CNF.Q.N.FR.W0.S1.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T")) %>%
  mutate(Secteur = case_when(REF_SECTOR == "S11" ~ "Sociétés non financières",
                              REF_SECTOR == "S1M" ~ "Ménages",
                              REF_SECTOR == "S13" ~ "Administrations publiques",
                              REF_SECTOR == "S1" ~ "Total économie"),
         value = value/1000) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Secteur)) +
  geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(labels = dollar_format(accuracy = 1, prefix = "", suffix = " Mds€")) +
  theme(legend.position = c(0.25, 0.2),
        legend.title = element_blank(),
        legend.text = element_text(size = 7))

Depuis 2015

Code
CNF %>%
  
  filter(variable %in% c("CNF.Q.N.FR.W0.S11.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T",
                          "CNF.Q.N.FR.W0.S1M.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T",
                          "CNF.Q.N.FR.W0.S13.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T",
                          "CNF.Q.N.FR.W0.S1.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T")) %>%
  filter(date >= as.Date("2015-01-01")) %>%
  mutate(Secteur = case_when(REF_SECTOR == "S11" ~ "Sociétés non financières",
                              REF_SECTOR == "S1M" ~ "Ménages",
                              REF_SECTOR == "S13" ~ "Administrations publiques",
                              REF_SECTOR == "S1" ~ "Total économie"),
         value = value/1000) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Secteur)) +
  geom_point(aes(x = date, y = value, color = Secteur)) +
  geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(labels = dollar_format(accuracy = 1, prefix = "", suffix = " Mds€")) +
  theme(legend.position = c(0.25, 0.15),
        legend.title = element_blank(),
        legend.text = element_text(size = 7),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

Dernier trimestre disponible

Code
CNF %>%
  
  filter(variable %in% c("CNF.Q.N.FR.W0.S11.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T",
                          "CNF.Q.N.FR.W0.S1M.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T",
                          "CNF.Q.N.FR.W0.S13.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T",
                          "CNF.Q.N.FR.W0.S1.S1.N.N.B9F.F._Z._Z.XDC._T.S.V.N._T")) %>%
  filter(!is.na(value)) %>%
  mutate(Secteur = case_when(REF_SECTOR == "S11" ~ "Sociétés non financières",
                              REF_SECTOR == "S1M" ~ "Ménages",
                              REF_SECTOR == "S13" ~ "Administrations publiques",
                              REF_SECTOR == "S1" ~ "Total économie"),
         value = value/1000) %>%
  filter(date == max(date)) %>%
  select(Secteur, date, "Mds€" = value) %>%
  arrange(desc(`Mds€`)) %>%
  print_table_conditional()
Secteur date Mds€
Ménages 2026-03-31 52.320
Total économie 2026-03-31 -2.966
Sociétés non financières 2026-03-31 -35.664
Administrations publiques 2026-03-31 -46.910