National Business Surveys - CONJ
Data - Banque de France
Info
Last observation: Mensuel: 30 jui 2026 (N = 320,110) · Trimestriel: 30 jui 2026 (N = 12,325)
First observation: Mensuel: 31 jan 1976 (N = 320,110) · Trimestriel: 31 mar 1996 (N = 12,325)
Last data update: 11 aoû 2026, 00:17. Last compile: 14 aoû 2026, 21:49
Structure
LAST_DOWNLOAD
| LAST_DOWNLOAD |
|---|
| 2026-08-10 |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-08-14 |
Last
| date | Nobs |
|---|---|
| 2026-06-30 | 993 |
Business Climate Indicators
The composite business climate indicators summarise, for each sector, the responses of business leaders to the Banque de France’s business surveys. They are built to have a long-term average equal to 100: above 100, manufacturers’ opinions are more favourable than on average.
Manufacturing, Construction, Market Services
Code
CONJ |>
filter(variable %in% c("CONJ.M.N01.S.IN.000CZ.ICAIN181.10",
"CONJ.M.N01.S.SM.00NAT.ICASM182.1A",
"CONJ.M.N01.S.BA.00NAT.ICA00183.10")) |>
mutate(Variable = case_when(
ENQCNJ_TYPE_ENQ == "IN" ~ "Manufacturing",
ENQCNJ_TYPE_ENQ == "SM" ~ "Market services",
ENQCNJ_TYPE_ENQ == "BA" ~ "Construction",
TRUE ~ Variable)) |>
na.omit() |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
geom_hline(yintercept = 100, linetype = "dashed", color = "black") +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 150, 10)) +
theme(legend.position = c(0.25, 0.15),
legend.title = element_blank(),
legend.direction = "vertical")
Over the Last 5 Years
Code
CONJ |>
filter(variable %in% c("CONJ.M.N01.S.IN.000CZ.ICAIN181.10",
"CONJ.M.N01.S.SM.00NAT.ICASM182.1A",
"CONJ.M.N01.S.BA.00NAT.ICA00183.10")) |>
mutate(Variable = case_when(
ENQCNJ_TYPE_ENQ == "IN" ~ "Manufacturing",
ENQCNJ_TYPE_ENQ == "SM" ~ "Market services",
ENQCNJ_TYPE_ENQ == "BA" ~ "Construction",
TRUE ~ Variable)) |>
na.omit() |>
filter(date >= max(date) - years(5)) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
geom_hline(yintercept = 100, linetype = "dashed", color = "black") +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = "6 months",
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = seq(0, 150, 5)) +
theme(legend.position = c(0.25, 0.15),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Latest Data Point
Code
CONJ |>
filter(variable %in% c("CONJ.M.N01.S.IN.000CZ.ICAIN181.10",
"CONJ.M.N01.S.SM.00NAT.ICASM182.1A",
"CONJ.M.N01.S.BA.00NAT.ICA00183.10")) |>
mutate(Variable = case_when(
ENQCNJ_TYPE_ENQ == "IN" ~ "Manufacturing",
ENQCNJ_TYPE_ENQ == "SM" ~ "Market services",
ENQCNJ_TYPE_ENQ == "BA" ~ "Construction",
TRUE ~ Variable)) |>
na.omit() |>
group_by(Variable) |>
filter(date == max(date)) |>
ungroup() |>
select(Sector = Variable, date, value) |>
arrange(desc(value)) |>
print_table_conditional()| Sector | date | value |
|---|---|---|
| NA | NA | NA |
| :------: | :----: | :-----: |