Comptes nationaux financiers - CNF

Données - BDF

🇬🇧 English version

Info

Last observation: Q: 2026-03-31 (N = 3719)

First observation: Q: 1995-12-31 (N = 3719)

Last data update: 15 aoû 2026, 23:28. Last compile: 17 aoû 2026, 22:58

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