| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| eurostat | bop_gdp6_q | Main Balance of Payments and International Investment Position items as share of GDP (BPM6) | 2026-01-16 | 2026-01-16 |
Main Balance of Payments and International Investment Position items as share of GDP (BPM6)
Data - Eurostat
Info
Data on europe
| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| eurostat | bop_gdp6_q | Main Balance of Payments and International Investment Position items as share of GDP (BPM6) | 2026-01-16 | 2026-01-16 |
| eurostat | nama_10_a10 | Gross value added and income by A*10 industry breakdowns | 2026-01-16 | 2026-01-16 |
| eurostat | nama_10_a10_e | Employment by A*10 industry breakdowns | 2026-01-16 | 2026-01-15 |
| eurostat | nama_10_gdp | GDP and main components (output, expenditure and income) | 2026-01-16 | 2026-01-15 |
| eurostat | nama_10_lp_ulc | Labour productivity and unit labour costs | 2026-01-16 | 2026-01-16 |
| eurostat | namq_10_a10 | Gross value added and income A*10 industry breakdowns | 2026-01-16 | 2026-01-15 |
| eurostat | namq_10_a10_e | Employment A*10 industry breakdowns | 2025-05-24 | 2026-01-16 |
| eurostat | namq_10_gdp | GDP and main components (output, expenditure and income) | 2025-10-27 | 2026-01-16 |
| eurostat | namq_10_lp_ulc | Labour productivity and unit labour costs | 2026-01-16 | 2026-01-16 |
| eurostat | namq_10_pc | Main GDP aggregates per capita | 2026-01-16 | 2026-01-15 |
| eurostat | nasa_10_nf_tr | Non-financial transactions | 2026-01-16 | 2026-01-16 |
| eurostat | nasq_10_nf_tr | Non-financial transactions | 2026-01-16 | 2026-01-16 |
| eurostat | tipsii40 | Net international investment position - quarterly data, % of GDP | 2026-01-16 | 2026-01-15 |
Data on macro
| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| eurostat | nama_10_a10 | Gross value added and income by A*10 industry breakdowns | 2026-01-16 | 2026-01-16 |
| eurostat | nama_10_a10_e | Employment by A*10 industry breakdowns | 2026-01-16 | 2026-01-15 |
| eurostat | nama_10_gdp | GDP and main components (output, expenditure and income) | 2026-01-16 | 2026-01-15 |
| eurostat | nama_10_lp_ulc | Labour productivity and unit labour costs | 2026-01-16 | 2026-01-16 |
| eurostat | namq_10_a10 | Gross value added and income A*10 industry breakdowns | 2026-01-16 | 2026-01-15 |
| eurostat | namq_10_a10_e | Employment A*10 industry breakdowns | 2025-05-24 | 2026-01-16 |
| eurostat | namq_10_gdp | GDP and main components (output, expenditure and income) | 2025-10-27 | 2026-01-16 |
| eurostat | namq_10_lp_ulc | Labour productivity and unit labour costs | 2026-01-16 | 2026-01-16 |
| eurostat | namq_10_pc | Main GDP aggregates per capita | 2026-01-16 | 2026-01-15 |
| eurostat | nasa_10_nf_tr | Non-financial transactions | 2026-01-16 | 2026-01-16 |
| eurostat | nasq_10_nf_tr | Non-financial transactions | 2026-01-16 | 2026-01-16 |
| fred | gdp | Gross Domestic Product | 2026-01-16 | 2026-01-16 |
| oecd | QNA | Quarterly National Accounts | 2024-06-06 | 2025-05-24 |
| oecd | SNA_TABLE1 | Gross domestic product (GDP) | 2026-01-15 | 2025-05-24 |
| oecd | SNA_TABLE14A | Non-financial accounts by sectors | 2026-01-15 | 2024-06-30 |
| oecd | SNA_TABLE2 | Disposable income and net lending - net borrowing | 2024-07-01 | 2024-04-11 |
| oecd | SNA_TABLE6A | Value added and its components by activity, ISIC rev4 | 2024-07-01 | 2024-06-30 |
| wdi | NE.RSB.GNFS.ZS | External balance on goods and services (% of GDP) | 2026-01-15 | 2026-01-15 |
| wdi | NY.GDP.MKTP.CD | GDP (current USD) | 2026-01-15 | 2026-01-07 |
| wdi | NY.GDP.MKTP.PP.CD | GDP, PPP (current international D) | 2026-01-15 | 2026-01-15 |
| wdi | NY.GDP.PCAP.CD | GDP per capita (current USD) | 2026-01-15 | 2026-01-15 |
| wdi | NY.GDP.PCAP.KD | GDP per capita (constant 2015 USD) | 2026-01-15 | 2026-01-15 |
| wdi | NY.GDP.PCAP.PP.CD | GDP per capita, PPP (current international D) | 2026-01-15 | 2026-01-15 |
| wdi | NY.GDP.PCAP.PP.KD | GDP per capita, PPP (constant 2011 international D) | 2026-01-15 | 2026-01-15 |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-01-16 |
Last
Code
bop_gdp6_q %>%
group_by(time) %>%
summarise(Nobs = n()) %>%
arrange(desc(time)) %>%
head(1) %>%
print_table_conditional()| time | Nobs |
|---|---|
| 2025Q3 | 3498 |
unit
Code
bop_gdp6_q %>%
left_join(unit, by = "unit") %>%
group_by(unit, Unit) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()| unit | Unit | Nobs |
|---|---|---|
| PC_GDP | Percentage of gross domestic product (GDP) | 547616 |
| PC_GDP_3Y | Percentage of GDP - three-year average | 40860 |
s_adj
Code
bop_gdp6_q %>%
left_join(s_adj, by = "s_adj") %>%
group_by(s_adj, S_adj) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()| s_adj | S_adj | Nobs |
|---|---|---|
| NSA | Unadjusted data (i.e. neither seasonally adjusted nor calendar adjusted data) | 578651 |
| SCA | Seasonally and calendar adjusted data | 9825 |
bop_item
Code
bop_gdp6_q %>%
left_join(bop_item, by = "bop_item") %>%
group_by(bop_item, Bop_item) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()| bop_item | Bop_item | Nobs |
|---|---|---|
| S | Services | 89736 |
| G | Goods | 88768 |
| GS | Goods and services | 86248 |
| FA__D__F | Financial account; Direct Investment | 64113 |
| IN2 | Secondary income | 51493 |
| KA | Capital account | 50989 |
| FA__P__F | Financial account; Portfolio Investment | 33430 |
| FA | Financial account | 32353 |
| CA | Current account | 23127 |
| IN1 | Primary income | 22565 |
| CKA | Current plus capital account (balance = Net lending (+) / net borrowing (-)) | 22058 |
| S_X_CG | Services excluding Transport and Financial services | 14950 |
| FA__FNED | Net external debt | 4635 |
| FA__NENDI | Net international investment position excluding non-defaultable instruments | 3747 |
| FA__TXR__F | Financial account excluding reserve assets | 264 |
stk_flow
Code
bop_gdp6_q %>%
left_join(stk_flow, by = "stk_flow") %>%
group_by(stk_flow, Stk_flow) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional()| stk_flow | Stk_flow | Nobs |
|---|---|---|
| CRE | Credit | 118043 |
| DEB | Debit | 106749 |
| BAL | Balance | 106425 |
| CRE_DEB_SUM | Sum of credits and debits | 65223 |
| CRE_DEB_AVG | Average of credits and debits | 53622 |
| ASS | Assets | 31988 |
| NET | Net | 27466 |
| LIAB | Liabilities | 27078 |
| N_LE | Net positions at the end of period | 18576 |
| A_LE | Assets - positions at the end of period | 15083 |
| L_LE | Liabilities - positions at the end of period | 14390 |
| NE_LE | Net liabilities (liabilities minus assets) | 3833 |
partner
Code
bop_gdp6_q %>%
left_join(partner, by = "partner") %>%
group_by(partner, Partner) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
mutate(Partner = ifelse(partner == "DE", "Germany", Partner)) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Partner)),
Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}geo
Code
bop_gdp6_q %>%
left_join(geo, by = "geo") %>%
group_by(geo, Geo) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}time
Code
bop_gdp6_q %>%
group_by(time) %>%
summarise(Nobs = n()) %>%
arrange(desc(time)) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}France, Germany, Italy
Last
Code
bop_gdp6_q %>%
filter(freq == "Q") %>%
quarter_to_date %>%
filter(geo %in% c("FR", "DE", "IT"),
date == max(date, na.rm = T),
!(stk_flow %in% c("CRE", "DEB"))) %>%
left_join(geo, by = "geo") %>%
left_join(bop_item, by = "bop_item") %>%
left_join(stk_flow, by = "stk_flow") %>%
select(-geo) %>%
spread(Geo, values) %>%
select_if(~ n_distinct(.) > 1) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}Germany, Spain, France, Italy, Netherlands, Europe
Current account Balance
All
Code
bop_gdp6_q %>%
filter(freq == "Q") %>%
filter(((geo %in% c("DE", "ES", "FR", "IT", "NL", "EA20")) & partner == "WRL_REST") |
(geo == "EA20" & partner == "EXT_EA20"),
unit == "PC_GDP",
bop_item == "CA",
s_adj == "NSA",
stk_flow == "BAL") %>%
left_join(geo, by = "geo") %>%
left_join(stk_flow, by = "stk_flow") %>%
select_if(~ n_distinct(.) > 1) %>%
quarter_to_date %>%
mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
scale_color_identity() + add_6flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Current account balance") +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 2),
labels = scales::percent_format(accuracy = 1))
2006-
Code
bop_gdp6_q %>%
filter(freq == "Q") %>%
filter(((geo %in% c("DE", "ES", "FR", "IT", "NL", "EA20")) & partner == "WRL_REST") |
(geo == "EA20" & partner == "EXT_EA20"),
unit == "PC_GDP",
bop_item == "CA",
s_adj == "NSA",
stk_flow == "BAL") %>%
left_join(geo, by = "geo") %>%
left_join(stk_flow, by = "stk_flow") %>%
select_if(~ n_distinct(.) > 1) %>%
quarter_to_date %>%
filter(date >=as.Date("2006-01-01")) %>%
mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
scale_color_identity() + add_6flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Current account balance") +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 2),
labels = scales::percent_format(accuracy = 1))
2012-
Code
bop_gdp6_q %>%
filter(freq == "Q") %>%
filter(((geo %in% c("DE", "ES", "FR", "IT", "NL", "EA20")) & partner == "WRL_REST") |
(geo == "EA20" & partner == "EXT_EA20"),
unit == "PC_GDP",
bop_item == "CA",
s_adj == "NSA",
stk_flow == "BAL") %>%
left_join(geo, by = "geo") %>%
left_join(stk_flow, by = "stk_flow") %>%
select_if(~ n_distinct(.) > 1) %>%
quarter_to_date %>%
filter(date >=as.Date("2012-01-01")) %>%
mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
scale_color_identity() + add_6flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Current account balance") +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 2),
labels = scales::percent_format(accuracy = 1))
Net Investment Positions (FA__NENDI)
Code
bop_gdp6_q %>%
filter(freq == "Q") %>%
filter(((geo %in% c("DE", "ES", "FR", "IT", "NL", "EA20")) & partner == "WRL_REST") |
(geo == "EA20" & partner == "EXT_EA20"),
unit == "PC_GDP",
bop_item == "FA__NENDI",
s_adj == "NSA") %>%
left_join(geo, by = "geo") %>%
left_join(stk_flow, by = "stk_flow") %>%
select_if(~ n_distinct(.) > 1) %>%
quarter_to_date %>%
mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
scale_color_identity() + add_5flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Net international investment positions (% of GDP)") +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 10),
labels = scales::percent_format(accuracy = 1))
Goods and Services
Code
bop_gdp6_q %>%
filter(freq == "Q") %>%
filter(((geo %in% c("DE", "ES", "FR", "IT", "NL", "EA20")) & partner == "WRL_REST") |
(geo == "EA20" & partner == "EXT_EA20"),
unit == "PC_GDP",
bop_item == "GS",
s_adj == "NSA",
stk_flow == "BAL") %>%
left_join(geo, by = "geo") %>%
left_join(stk_flow, by = "stk_flow") %>%
select_if(~ n_distinct(.) > 1) %>%
quarter_to_date %>%
mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
scale_color_identity() + add_6flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Goods and Services") +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 2),
labels = scales::percent_format(accuracy = 1))
Goods
Code
bop_gdp6_q %>%
filter(freq == "Q") %>%
filter(((geo %in% c("DE", "ES", "FR", "IT", "NL", "EA20")) & partner == "WRL_REST") |
(geo == "EA20" & partner == "EXT_EA20"),
unit == "PC_GDP",
bop_item == "G",
s_adj == "NSA",
stk_flow == "BAL") %>%
left_join(geo, by = "geo") %>%
left_join(stk_flow, by = "stk_flow") %>%
select_if(~ n_distinct(.) > 1) %>%
quarter_to_date %>%
mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
scale_color_identity() + add_6flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Goods") +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 2),
labels = scales::percent_format(accuracy = 1))
Services
Code
bop_gdp6_q %>%
filter(freq == "Q") %>%
filter(((geo %in% c("DE", "ES", "FR", "IT", "NL", "EA20")) & partner == "WRL_REST") |
(geo == "EA20" & partner == "EXT_EA20"),
unit == "PC_GDP",
bop_item == "S",
s_adj == "NSA",
stk_flow == "BAL") %>%
left_join(geo, by = "geo") %>%
left_join(stk_flow, by = "stk_flow") %>%
select_if(~ n_distinct(.) > 1) %>%
quarter_to_date %>%
mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
scale_color_identity() + add_6flags +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Services") +
scale_y_continuous(breaks = 0.01*seq(-100, 200, 2),
labels = scales::percent_format(accuracy = 1))