QNA - Manufacturing - QNA_manufacturing
Data - OECD
Last observation: Q2 2023 (N = 1034) · 2022 (N = 1136)
First observation: 1960 (N = 159) · Q1 1960 (N = 153)
Last data update: 02 août 2026, 09:06
Last compile: 04 sept. 2026, 02:56
Structure
MEASURE
Code
QNA |>
filter(FREQUENCY == "A") |>
left_join(QNA_var$MEASURE, by = "MEASURE") |>
group_by(MEASURE, Measure) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()| MEASURE | Measure | Nobs |
|---|---|---|
| CQR | National currency, current prices, quarterly levels | 4034 |
| CQRSA | National currency, current prices, quarterly levels, seasonally adjusted | 3919 |
| LNBQRSA | National currency, chained volume estimates, national reference year, quarterly levels, seasonally adjusted | 3854 |
| LNBQR | National currency, chained volume estimates, national reference year, quarterly levels | 3663 |
| CPCARSA | US dollars, current prices, current PPPs, annual levels, seasonally adjusted | 2738 |
| VPVOBARSA | US dollars, volume estimates, fixed PPPs, OECD reference year, annual levels, seasonally adjusted | 2736 |
| GPSA | Growth rate based on seasonally adjusted volume data, percentage change on the previous quarter | 2629 |
| GYSA | Growth rate based on seasonally adjusted volume data, percentage change on the same quarter of the previous year | 2629 |
| CARSA | National currency, current prices, annual levels, seasonally adjusted | 2519 |
| VOBARSA | National currency, volume estimates, OECD reference year, annual levels, seasonally adjusted | 2338 |
| DOBSA | Deflator, OECD reference year, seasonally adjusted | 2162 |
| VIXOBSA | Volume index, OECD reference year, seasonally adjusted | 2072 |
| DNBSA | Deflator, national base/reference year, seasonally adjusted | 1460 |
| HCPCARSA | Per Head, US $, current prices, current PPPs, seasonally adjusted | 1444 |
| HVPVOBARSA | Per Head, US dollars, volume estimates, fixed PPPs, OECD reference year, seasonally adjusted | 1443 |
| VNBQR | National currency, constant prices, national base year, quarterly levels | 345 |
| VNBQRSA | National currency, constant prices, national base year, quarterly levels, seasonally adjusted | 323 |
| LNBARSA | National currency, chained volume estimates, national reference year, annual levels, seasonally adjusted | 264 |
| CAR | National currency, current prices, annual levels | 234 |
| VNBARSA | National currency, constant prices, national base year, annual levels, seasonally adjusted | 199 |
| VNBAR | National currency, constant prices, national base year, annual levels | 109 |
Manufacturing VA
Number of observations
Code
QNA |>
filter(SUBJECT %in% c("B1GVC"),
FREQUENCY == "Q") |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
group_by(LOCATION, Location) |>
quarter_to_date() |>
summarise(first = first(date),
last = last(date),
Nobs = n()) |>
arrange(first) |>
mutate(Loc = gsub(" ", "-", str_to_lower(Location)),
Loc = paste0('<img src="../../icon/flag/vsmall/', Loc, '.png" alt="Flag">')) |>
select(Loc, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}Number of observations - CQRSA
Code
QNA |>
filter(SUBJECT %in% c("B1GVC"),
MEASURE == "CQRSA",
FREQUENCY == "Q") |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
group_by(LOCATION, Location) |>
quarter_to_date() |>
summarise(first = first(date),
last = last(date),
Nobs = n()) |>
arrange(first) |>
mutate(Loc = gsub(" ", "-", str_to_lower(Location)),
Loc = paste0('<img src="../../icon/flag/vsmall/', Loc, '.png" alt="Flag">')) |>
select(Loc, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}France, Germany
Code
QNA |>
filter(SUBJECT %in% c("B1GVC", "B1_GE"),
MEASURE == "CQRSA",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVC / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Manufacturing Value Added (% of GDP)") + xlab("")
France, Germany, US, Japan, China, Britain, India
Code
QNA |>
filter(SUBJECT %in% c("B1GVC", "B1_GE"),
MEASURE == "CQRSA",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU", "JPN", "CHN", "GBR")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
filter(date >= as.Date("1995-01-01")) |>
select(LOCATION, Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVC / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_4flags +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Manufacturing Value Added (% of GDP)") + xlab("")
France, Germany, US, Japan, China, Britain
Code
QNA |>
filter(SUBJECT %in% c("B1GVC", "B1_GE"),
MEASURE == "CQRSA",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU", "JPN", "CHN", "GBR")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
filter(date >= as.Date("1995-01-01")) |>
select(LOCATION, Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVC / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_4flags +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Manufacturing Value Added (% of GDP)") + xlab("")
France, Italy, Germany
Code
QNA |>
filter(SUBJECT %in% c("B1GVC", "B1_GE"),
MEASURE == "CQRSA",
FREQUENCY == "Q",
LOCATION %in% c("ITA", "FRA", "DEU")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVC / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Manufacturing Value Added (% of GDP)") + xlab("")
Norway, Switzerland, South Korea
Code
QNA |>
filter(SUBJECT %in% c("B1GVC", "B1_GE"),
MEASURE == "CQRSA",
FREQUENCY == "Q",
LOCATION %in% c("CHE", "KOR", "NOR")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVC / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Manufacturing Value Added (% of GDP)") + xlab("")
Costa Rica, Finland, Sweden
Code
QNA |>
filter(SUBJECT %in% c("B1GVC", "B1_GE"),
MEASURE == "CQRSA",
FREQUENCY == "Q",
LOCATION %in% c("FIN", "CRI", "SWE")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVC / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Manufacturing Value Added (% of GDP)") + xlab("")
Real Manufacturing Value Added (% of Real GDP) - LNBQRSA - Chained Volume
France, Italy, Germany
Code
QNA |>
filter(SUBJECT %in% c("B1GVC", "B1_GE"),
MEASURE == "LNBQRSA",
FREQUENCY == "Q",
LOCATION %in% c("ITA", "FRA", "DEU")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVC / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Manufacturing Value Added (% of GDP)") + xlab("")
France, Germany
All
Code
QNA |>
filter(SUBJECT %in% c("B1GVC", "B1_GE"),
MEASURE == "LNBQRSA",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVC / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Manufacturing Value Added (% of GDP)") + xlab("")
1995-
Code
QNA |>
filter(SUBJECT %in% c("B1GVC", "B1_GE"),
MEASURE == "LNBQRSA",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
filter(date >= as.Date("1995-01-01")) |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVC / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Manufacturing Value Added (% of GDP)") + xlab("")
Industry VA
Number of observations
Code
QNA |>
filter(SUBJECT %in% c("B1GVB_E"),
MEASURE == "CQRSA",
FREQUENCY == "Q") |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
group_by(LOCATION, Location) |>
quarter_to_date() |>
summarise(first = first(date),
last = last(date),
Nobs = n()) |>
arrange(first) |>
mutate(Loc = gsub(" ", "-", str_to_lower(Location)),
Loc = paste0('<img src="../../icon/flag/vsmall/', Loc, '.png" alt="Flag">')) |>
select(Loc, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}France, Germany
All
Code
QNA |>
filter(SUBJECT %in% c("B1GVB_E", "B1_GE"),
MEASURE == "CQRSA",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVB_E / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Industry Value Added (% of GDP)") + xlab("")
1995-
Code
QNA |>
filter(SUBJECT %in% c("B1GVB_E", "B1_GE"),
MEASURE == "CQRSA",
FREQUENCY == "Q",
LOCATION %in% c("FRA", "DEU")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
filter(date >= as.Date("1995-01-01")) |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVB_E / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_2flags +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Industry Value Added (% of GDP)") + xlab("")
France, Italy, Germany (% of GDP)
All
Code
QNA |>
filter(SUBJECT %in% c("B1GVB_E", "B1_GE"),
MEASURE == "CQRSA",
FREQUENCY == "Q",
LOCATION %in% c("ITA", "FRA", "DEU")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVB_E / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Industry Value Added (% of GDP)") + xlab("")
1995-
Code
QNA |>
filter(SUBJECT %in% c("B1GVB_E", "B1_GE"),
MEASURE == "CQRSA",
FREQUENCY == "Q",
LOCATION %in% c("ITA", "FRA", "DEU")) |>
left_join(QNA_var$LOCATION, by = "LOCATION") |>
quarter_to_date() |>
filter(date >= as.Date("1995-01-01")) |>
select(Location, SUBJECT, date, obsValue) |>
spread(SUBJECT, obsValue) |>
mutate(obsValue = B1GVB_E / B1_GE) |>
add_flag_color("Location") |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + theme_minimal() + add_3flags +
scale_x_date(breaks = seq(1920, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 1),
labels = scales::percent_format(accuracy = 1)) +
ylab("Industry Value Added (% of GDP)") + xlab("")


