Introduction
This report intends to visualize the relationships between select political economy variables related to a state’s budgetary framework on a 3-dimensional plane with Plotly (2015). Specifically, I aim to contextualize the overall transparency of budget frameworks and the effectiveness or adoption of specific institutions according to a nation’s level of development (proxied by GDP per capita), average level of deficits, and general level of civil trust in the government.
Instructions
The models below are fully interactive. Click-and-drag with your right mouse button to move the camera, and rotate the camera with your left mouse button. Scroll to zoom, and hover over markers to reveal detailed statistics. You may alternatively select options from the top right overlay.
Countries are grouped by region. You may customize the range of countries by region by clicking the legend entries.
Trust, Deficits, and Budget Institutions
GDP is measured against institutions because there is a presumed relationship between development and fiscal policies (i.e., either good institutions, like sound fiscal frameworks, lead to development or development enables the implementation of good or technically demanding institutions). Deficit levels are included because a goal of good fiscal governance is to induce sustainable levels of spending. Governments that have sustainable fiscal policies may also be governments that are likely to inspire trust or foster development (or advanced development enables sustainable budgeting). Finally, governments that inspire trust from their constituents may also be governments with transparent frameworks, or countries with high levels of trust are likely to have governments that adopt transparent budget processes. As such, the illustrations here may only hint at correlations at best.
The 27 countries I analyze are mostly OECD countries and a few others that are included in the OECD data sets. They are grouped by regional categories provided by the Open Budget Survey.
| Central Asia | East Asia & Pacific | Eastern Europe | Latin America & Caribbean | Sub-Saharan Africa | Western Europe, U.S. & Canada |
|---|---|---|---|---|---|
| Russian Federation | Australia | Czechia | Mexico | South Africa | Canada |
| Japan | Hungary | Brazil | France | ||
| Korea, Republic of | Poland | Chile | Germany | ||
| New Zealand | Slovakia | Colombia | Italy | ||
| Turkey | Costa Rica | Norway | |||
| Slovenia | Portugal | ||||
| Spain | |||||
| Sweden | |||||
| United Kingdom | |||||
| United States |
Countries’ GDP per capita for 2019 in current USD is taken from the World Bank (2021); they will be represented by the size of country markers. National deficit data is taken from the OECD (2021a), and the average level of deficit or surplus is taken from the 5 years between 2014-2019 to provide a general level of budget performance. 2016-18 data on trust in government is also taken from the OECD (2021b) with the provided definition:
Trust in government refers to the share of people who report having confidence in the national government. The data shown reflect the share of respondents answering “yes” (the other response categories being “no”, and “don’t know”) to the survey question: “In this country, do you have confidence in… national government? Country averages are pooled over all available years for a three year period to improve the accuracy of the estimates. The sample is ex ante designed to be nationally representative of the population aged 15 and over. This indicator is measured as a percentage of all survey respondents.
2019 metrics on budget processes overall or specific institutions are taken from the Open Budget Index (2021). In addition to the aggregate Open Budget Index, I will also look at scores for public participation in the budget process, the role and effectiveness of oversight institutions, legislative oversight, supreme audit institution oversight, and the use of performance information.
if (!require(tidyverse)) install.packages("tidyverse")
if (!require(ISOcodes)) install.packages("ISOcodes")
if (!require(plotly)) install.packages("plotly")
library(tidyverse)
library(ISOcodes)
library(plotly)
countrycodes <- ISO_3166_1 %>% select(Alpha_2, Alpha_3, Name)
gdppc <- read.csv("API_NY.GDP.PCAP.CD_DS2_en_csv_v2_1926744.csv", skip = 4) %>% select(Alpha_3 = Country.Code,
gdppc2019 = X2019)
deficit <- read.csv("DP_LIVE_21012021184142773.csv") %>% group_by(LOCATION) %>% mutate(deficit = mean(Value)) %>%
ungroup() %>% select(Alpha_3 = LOCATION, deficit = Value) %>% distinct(Alpha_3,
.keep_all = TRUE)
trustgov <- read.csv("DP_LIVE_19012021160552903.csv") %>% filter(TIME == "2018") %>%
select(Alpha_3 = LOCATION, trust = Value) %>% left_join(countrycodes, by = c(Alpha_3 = "Alpha_3"))
obiregions <- read.csv("ibp_data_regions_2019.csv")
obi <- read.csv("ibp_data_summary_2019.csv") %>% select(Alpha_2 = COUNTRY, obi = OPEN_BUDGET_INDEX,
obi_rank = RANK) %>% inner_join(obiregions, by = c(Alpha_2 = "COUNTRY_CODE"))
pub.part <- read.csv("public.participation.csv") %>% select(Alpha_2 = COUNTRY, pubpart = SCORE)
oversight <- read.csv("oversight.institutions.csv") %>% select(Alpha_2 = COUNTRY,
oversight = SCORE)
leg.over <- read.csv("legislative.oversight.csv") %>% select(Alpha_2 = COUNTRY, legover = SCORE)
sup.audit <- read.csv("supreme.audit.institution.csv") %>% select(Alpha_2 = COUNTRY,
supaudit = SCORE)
perf.info <- read.csv("performance.info.csv") %>% select(Alpha_2 = COUNTRY, perfinfo = SCORE)
data <- trustgov %>% inner_join(obi, by = c(Alpha_2 = "Alpha_2")) %>% inner_join(gdppc,
by = c(Alpha_3 = "Alpha_3")) %>% inner_join(deficit, by = c(Alpha_3 = "Alpha_3")) %>%
inner_join(pub.part, by = c(Alpha_2 = "Alpha_2")) %>% inner_join(oversight, by = c(Alpha_2 = "Alpha_2")) %>%
inner_join(leg.over, by = c(Alpha_2 = "Alpha_2")) %>% inner_join(sup.audit, by = c(Alpha_2 = "Alpha_2")) %>%
inner_join(perf.info, by = c(Alpha_2 = "Alpha_2")) %>% select(Alpha_3, Alpha_2,
Name, REGION_NAME, gdppc2019, deficit, trust, obi, obi_rank, pubpart, oversight,
legover, supaudit, perfinfo)
Budget Transparency
plot_ly(data, x = ~trust, y = ~obi, z = ~deficit, size = ~gdppc2019, color = ~REGION_NAME,
meta = ~Name, marker = list(symbol = "circle", sizemode = "diameter"), sizes = c(10,
50), customdata = ~gdppc2019, hovertemplate = paste("<b>%{meta}</b>", "<br>Trust: %{x}%",
"<br>Open Budget Index: %{y}", "<br>Deficit: %{z:.2f}%", "<br>GDP per Capita: %{customdata:$.2f}")) %>%
add_markers() %>% layout(title = "Trust, Deficits & Budget Transparency", scene = list(xaxis = list(title = "Mean Trust in Government(% of People)",
titlefont = list(size = 10)), yaxis = list(title = "Open Budget Index", titlefont = list(size = 10)),
zaxis = list(title = "Mean Deficit (% of GDP)", titlefont = list(size = 10),
nticks = 5), camera = list(up = list(x = 0, y = 0, z = 1), center = list(x = -0.15,
y = 0, z = 0), eye = list(x = -1.4, y = -1.4, z = 2.25))), margin = list(l = 20,
r = 80, b = 20, t = 50, pad = 1))
All countries in this data set have Open Budget Index (OBI) scores from 45 (Hungary) to 87 (South Africa, New Zealand), levels of trust from 20.0% (Brazil) to 68.7% (Norway), and 5-year average deficits from -7.4% (Portugal) to an average surplus of 8.6% (Norway). While there is a wide spectrum along these measures, some patterns emerge. With the exception of Turkey, countries that have high levels of public trust (≥ 51.3%) also have high budget transparency scores. High-trust countries also have relatively low deficits or surpluses and have high levels of development (as measured by GDP per capita). 4 out of 6 high-trust countries are either in Western Europe & North America or East Asia & Pacific.
Public Particpation
plot_ly(data, x = ~trust, y = ~pubpart, z = ~deficit, size = ~gdppc2019, color = ~REGION_NAME,
meta = ~Name, marker = list(symbol = "circle", sizemode = "diameter"), sizes = c(10,
50), customdata = ~gdppc2019, hovertemplate = paste("<b>%{meta}</b>", "<br>Trust: %{x}%",
"<br>Public Participation Rating: %{y}", "<br>Deficit: %{z:.2f}%", "<br>GDP per Capita: %{customdata:$.2f}")) %>%
add_markers() %>% layout(title = "Trust, Deficits & Public Participation", scene = list(xaxis = list(title = "Mean Trust in Government (% of People)",
titlefont = list(size = 10)), yaxis = list(title = "Public Participation Rating",
titlefont = list(size = 10)), zaxis = list(title = "Mean Deficit (% of GDP)",
titlefont = list(size = 10), nticks = 5), camera = list(up = list(x = 0, y = 0,
z = 1), center = list(x = -0.15, y = 0, z = 0), eye = list(x = -1.4, y = -1.4,
z = 2.25))), margin = list(l = 20, r = 80, b = 20, t = 50, pad = 1))
While it is possible that trust in government may be positively related to public participation in budgeting, the data from this limited subset of countries does not support that claim. The overall range of public participation is low, from 0 (Turkey) to 61 (South Korea), and only 5 countries have ratings above or equal to 35. However, other countries with low public ratings have a wide range of public trust and deficit levels.
Institutional Oversight
plot_ly(data, x = ~trust, y = ~oversight, z = ~deficit, size = ~gdppc2019, color = ~REGION_NAME,
meta = ~Name, marker = list(symbol = "circle", sizemode = "diameter"), sizes = c(10,
50), customdata = ~gdppc2019, hovertemplate = paste("<b>%{meta}</b>", "<br>Trust: %{x}%",
"<br>Institutional Oversight: %{y}", "<br>Deficit: %{z:.2f}%", "<br>GDP per Capita: %{customdata:$.2f}")) %>%
add_markers() %>% layout(title = "Trust, Averaged Deficits & Institutional Oversight",
scene = list(xaxis = list(title = "Mean Trust in Government (% of People)", titlefont = list(size = 10)),
yaxis = list(title = "Institutional Oversight", titlefont = list(size = 10)),
zaxis = list(title = "Mean Deficit (% of GDP)", titlefont = list(size = 10),
nticks = 5), camera = list(up = list(x = 0, y = 0, z = 1), center = list(x = -0.15,
y = 0, z = 0), eye = list(x = -1.4, y = -1.4, z = 2.25))), margin = list(l = 20,
r = 80, b = 20, t = 50, pad = 1))
Now we turn to institutional means of oversight. Institutional oversight ratings range from 52 (Slovakia) to 91 (Germany). There is an interesting 10 point gap from 60 to 70 for institutional oversight ratings; given the structure of the Open Budget Index survey, a possible avenue for further research may be to investigate the source of this divergence & commonalities among the otherwise heterogeneous group of countries. For countries with less than a 60 point rating for budget institutions, there are only 2 countries with high levels of trust and an average budget surplus (Turkey and Canada).
Legislative Oversight
plot_ly(data, x = ~trust, y = ~legover, z = ~deficit, size = ~gdppc2019, color = ~REGION_NAME,
meta = ~Name, marker = list(symbol = "circle", sizemode = "diameter"), sizes = c(10,
50), customdata = ~gdppc2019, hovertemplate = paste("<b>%{meta}</b>", "<br>Trust: %{x}%",
"<br>Legislative Oversight: %{y}", "<br>Deficit: %{z:.2f}%", "<br>GDP per Capita: %{customdata:$.2f}")) %>%
add_markers() %>% layout(title = "Trust, Deficits & Legislative Oversight", scene = list(xaxis = list(title = "Mean Trust in Government (% of People)",
titlefont = list(size = 10)), yaxis = list(title = "Legislative Oversight", titlefont = list(size = 10)),
zaxis = list(title = "Mean Deficit (% of GDP)", titlefont = list(size = 10),
nticks = 5), camera = list(up = list(x = 0, y = 0, z = 1), center = list(x = -0.15,
y = 0, z = 0), eye = list(x = -1.4, y = -1.4, z = 2.25))), margin = list(l = 20,
r = 80, b = 20, t = 50, pad = 1))
Broadly, there are 6 institutional prerequisites for legislative control over the budget (Wehner 2006):
- Amendment powers (what powers do legislatures have to change the budgets submitted by the executive for approval?)
- Reversionary budgets (what happens when a budget is not approved by the legislature? The lack of reversionary budgets may force the executive to negotiate with the legislature.)
- Executive Flexibility during implementation (How much can the executive make in-year changes and what approval is needed?)
- Timing of the budget (How early is the budget submitted to the legislature for proper deliberation?)
- Legislative committees (Are there committees dedicated to scrutinizing budgets? E.g., Public Accounts Committees)
- Access to budgetary information (Does the legislature have access to quality budgetary information? E.g., from auditing institutions)
Kim (2019) further sorts these conditions into 2 categories, financial authority (1-3) and organizational capacity (4-6), and differentiates between 4 types of countries:
- G1 countries have legislatures with stronger financial authority and organizational capacity than the executive.
- G3 countries have weaker legislatures in both respects than the executive.
- G2 and G4 countries have legislatures with unbalanced strengths between financial authority and organizational capacity.
Compared to the previous graph, it appears that legislative budgeting plays a substantive role in the aggregate rating for institutional oversight. Furthermore, this suggests that noticeable divergences may be attributable to the specific institutional prerequisites outlined above. Lienert (2005) also predicts that pure Westminster systems have weaker legislatures than the executive and pure presidential systems will have stronger legislatures, while mixed systems do not neatly follow predictions. This may help explain the divergences observed in the model.
Supreme Audit Institutions
plot_ly(data, x = ~trust, y = ~supaudit, z = ~deficit, size = ~gdppc2019, color = ~REGION_NAME,
meta = ~Name, marker = list(symbol = "circle", sizemode = "diameter"), sizes = c(10,
50), customdata = ~gdppc2019, hovertemplate = paste("<b>%{meta}</b>", "<br>Trust: %{x}%",
"<br>Supreme Audit Institutions: %{y}", "<br>Deficit: %{z:.2f}%", "<br>GDP per Capita: %{customdata:$.2f}")) %>%
add_markers() %>% layout(title = "Trust, Deficits & Supreme Audit Institutions",
scene = list(xaxis = list(title = "Mean Trust in Government (% of People)", titlefont = list(size = 10)),
yaxis = list(title = "Supreme Audit Institutions", titlefont = list(size = 10)),
zaxis = list(title = "Mean Deficit (% of GDP)", titlefont = list(size = 10),
nticks = 5), camera = list(up = list(x = 0, y = 0, z = 1), center = list(x = -0.15,
y = 0, z = 0), eye = list(x = -1.4, y = -1.4, z = 2.25))), margin = list(l = 20,
r = 80, b = 20, t = 50, pad = 1))
Supreme audit institutions (SAIs) are another important mechanism of controlling the executive government’s budgetary powers. SAIs can take the form of audit courts or audit offices. Audit courts are an integral part of the judicial branch of government that assure the legality of spending and compliance with relevant laws and regulations. Audit offices are headed by an Auditor General as independent bodies that report directly to parliament without judicial function. They are responsible for assessing the accuracy and fairness of financial statements and work closely with legislative committees dedicated to budgeting (e.g., Public Accounts Committees).
Overall, countries in this data set have relatively powerful SAIs, with ratings from 67 (Chile) to 100 (South Africa, New Zealand). There may be some relationship between the power and effectiveness of SAIs and the level of public trust. Countries at the high-tail of SAIs and trust also appear to be more developed than the lower-tail.
plot_ly(data, x = ~legover, y = ~supaudit, z = ~deficit, size = ~gdppc2019, color = ~REGION_NAME,
meta = ~Name, marker = list(symbol = "circle", sizemode = "diameter"), sizes = c(10,
50), customdata = ~gdppc2019, hovertemplate = paste("<b>%{meta}</b>", "<br>Legislative Oversight: %{x}%",
"<br>Supreme Audit Institutions: %{y}", "<br>Deficit: %{z:.2f}%", "<br>GDP per Capita: %{customdata:$.2f}")) %>%
add_markers() %>% layout(title = "Legislative Oversight and Supreme Audit Institutions",
scene = list(xaxis = list(title = "Legislative Oversight", titlefont = list(size = 10)),
yaxis = list(title = "Supreme Audit Institutions", titlefont = list(size = 10)),
zaxis = list(title = "Mean Deficit (% of GDP)", titlefont = list(size = 10),
nticks = 5), camera = list(up = list(x = 0, y = 0, z = 1), center = list(x = -0.15,
y = 0, z = 0), eye = list(x = -1.4, y = -1.4, z = 2.25))), margin = list(l = 20,
r = 80, b = 20, t = 50, pad = 1))
Here, we also observe that many countries with powerful legislatures also have strong SAIs.
Performance Budgeting
plot_ly(data, x = ~supaudit, y = ~perfinfo, z = ~deficit, size = ~gdppc2019, color = ~REGION_NAME,
meta = ~Name, marker = list(symbol = "circle", sizemode = "diameter"), sizes = c(10,
50), customdata = ~gdppc2019, hovertemplate = paste("<b>%{meta}</b>", "<br>Supreme Audi Institutions: %{x}%",
"<br>Use of Performance Information: %{y}", "<br>Deficit: %{z:.2f}%", "<br>GDP per Capita: %{customdata:$.2f}")) %>%
add_markers() %>% layout(title = "Supreme Audit Institutions and the Use of Performance Information",
scene = list(xaxis = list(title = "Supreme Audit Institutions", titlefont = list(size = 10)),
yaxis = list(title = "Use of Performance Information", titlefont = list(size = 10)),
zaxis = list(title = "Mean Deficit (% of GDP)", titlefont = list(size = 10))),
margin = list(l = 20, r = 80, b = 20, t = 50, pad = 1))
Performance budgeting is increasingly promoted and used. However, these techniques are complex and entail a level of technical capacity. Here, we observe a cluster of countries at the lower end of reported use of performance budgeting (>50). These countries have relatively smaller economies, especially when compared to countries that at the upper-tail of performance budgeting use.
plot_ly(data, x = ~legover, y = ~perfinfo, z = ~deficit, size = ~gdppc2019, color = ~REGION_NAME,
meta = ~Name, marker = list(symbol = "circle", sizemode = "diameter"), sizes = c(10,
50), customdata = ~gdppc2019, hovertemplate = paste("<b>%{meta}</b>", "<br>Legislative Oversight: %{x}%",
"<br>Use of Performance Information: %{y}", "<br>Deficit: %{z:.2f}%", "<br>GDP per Capita: %{customdata:$.2f}")) %>%
add_markers() %>% layout(title = "Legislative Oversight and the Use of Performance Information",
scene = list(xaxis = list(title = "Legislative Oversight", titlefont = list(size = 10)),
yaxis = list(title = "Use of Performance Information", titlefont = list(size = 10)),
zaxis = list(title = "Mean Deficit (% of GDP)", titlefont = list(size = 10))),
margin = list(l = 20, r = 80, b = 20, t = 50, pad = 1))
References
Kim, C. (2019). “Who Has Power Over the Budget - the Legislature or the Executive? A Comparative Analysis of Budgetary Power in 70 Countries.” OECD Journal on Budgeting 18(3): 125-144.
Lienert, I. (2005). “Who Controls the Budget: The Legislature or the Executive?” IMF Working Paper WP/05/115. [Chapter 6 in Allen, Hemming and Potter covers similar material]
OECD (2021a), General government deficit (indicator). doi: 10.1787/77079edb-en (Accessed on 19 January 2021).
OECD (2021b), Trust in government (indicator). doi: 10.1787/1de9675e-en (Accessed on 19 January 2021).
Open Budget Survey (2021), “Open Budget Survey 2019.” https://www.internationalbudget.org/open-budget-survey (Accessed on 19 January 2021).
Plotly Technologies Inc. Collaborative data science. Montréal, QC, 2015. https://plot.ly.
Wehner, J. (2006). “Assessing the Power of the Purse: An Index of Legislative Budget Institutions.” Political Studies 54(4): 767-785.
World Bank (2021), “GDP per capita (current US$).” https://data.worldbank.org/indicator/NY.GDP.PCAP.CD (Accessed on 19 January 2021).
The London School of Economics and Political Science, School of Government↩︎