Western Europe: debt versus GDP¶
Foreword¶
This topic has been relevant since the dawn of modern economic theory, where debt usually equals economic growth and the more debt countries accumulate, the higher they soar. Yet at the same time, there's plenty of talk about how government debt is ever accumulating and how bad it is, a prime example of this being the US, but one would not need to go far from the European borders to hear of it. Yet words and gossip aren't enough to paint a full picture of what the situation really is, thus this investigation.
Purpose¶
The purpose of this investigation is to look at various levels of debt across western Europe and compare it with GDP and see if there are any links of correlations between it and GDP growth. As well as to verify how the western European economies are doing and verify which ones are the primary ones.
Hypothesis¶
- Various debt and GDP should correlate.
- The 4 biggest economies in west Europe should be: Germany, United Kingdom, France and Italy.
- Low government debt means medium-to-high private debt.
- Higher government debt means lower GDP growth and vise versa.
- Biggest western Europe economies don't have the best GDP growth.
Conclusion¶
import pandas as pd
eu_gdp = pd.read_csv('Europe_GDP.csv', index_col=0)
eu_gdp_growth = pd.read_csv("EU_GDP_growth.csv", index_col=0)
eu_gdp_growth4 = eu_gdp_growth.loc[['Germany','France','United Kingdom','Italy']]
- As seen in General EU statistics, there is definitely a correlation between debt and GDP, with falls and rises almost identical, but private debt, out of the rest, correlates the least.
import matplotlib.pyplot as plt
eu_gdp_test = pd.read_csv('power_bi_GDPEU.csv', index_col=0)
eu_gdp_fixed = eu_gdp_test[['Sum of GDP','Sum of Household_debt', 'Sum of Private_debt', 'Sum of Central_gov_debt']].astype('int64')
EU_all = eu_gdp_fixed.plot(kind='line', figsize=(12,8))
EU_all.set_ylabel("Amount")
EU_all.set_title("debt and GDP trends in the EU")
plt.show()
Here is the sum of various debt and GDP in EU and you can clearly see that there is at least some measure of correlation between the 4, over the years. Private debt seems the most detached, with government debt being a bit out there as well. Household debt, however, seems to be the most closely tied with GDP growth, or wise versa.
- Without a doubt, the 4 biggest economies in EU are Germany, United Kingdom, France and Italy, in that sequence, by raw numbers alone.
eu4_gdp_govdebt = pd.read_csv('EU4_GDP_govdebt.csv')
ax = eu4_gdp_govdebt.plot(kind='bar', figsize=(13, 14))
ax.set_xticks(range(len(eu4_gdp_govdebt)))
ax.set_xticklabels(eu4_gdp_govdebt['Country'], rotation=45, ha="right")
ax.set_ylabel("Amount")
ax.set_title("Average GDP/debt in the EU in the 2000's")
plt.show()
Here we can confirm which countries take up the biggest cut of the western EU GDP, with Germany, United Kingdom, France and Italy taking the lead in both GDP and government debt - although the last point isn't exactly something to boast about too much.
- Whether lower government debt leads to high/medium private debt remains inconclusive. Private debt seems to be on the high end in the whole of western EU, but struggling economies, like Italy and Greece(who have the highest government debt) have it much lower than the rest.
gov_debt = pd.read_csv('Gov_debt_GDP.csv')
priv_debt = pd.read_csv('Priv_debt_GDP.csv')
house_debt = pd.read_csv('House_debt_GDP.csv')
ag = gov_debt.plot(kind='bar', figsize=(13, 14))
ag.set_xticks(range(len(gov_debt)))
ag.set_xticklabels(gov_debt['Country'], rotation=45, ha="right")
ag.set_ylabel("Amount in %")
ag.set_title("Average government debt vs GDP 1998-2022")
plt.show()
Here we can see how government debt vs GDP looks in our list of nations and the clear winners (or losers, in this case) are both Greece and Italy, with their debt to GDP ratio exceeding the actual value the country has by at least 20%
ap = priv_debt.plot(kind='bar', figsize=(13, 14))
ap.set_xticks(range(len(priv_debt)))
ap.set_xticklabels(priv_debt['Country'], rotation=45, ha="right")
ap.set_ylabel("Amount in %")
ap.set_title("Average household debt vs GDP 1998-2022")
plt.show()
Here we can see the comparison of household debt vs GDP, where it seems that the big winners are Switzerland, Denmark and Netherlands. The former 2 being relatively healthy economies with low government debt. Greece and Italy, with terrible debt, on the other hand are dead last. There might be some correlation drawn that people are more willing take out more debt in healthy economies, than in unhealthy ones, but it's mostly an assumption, since there can be other factors influencing such decisions, like high cost of property.
ah = house_debt.plot(kind='bar', figsize=(13, 14))
ah.set_xticks(range(len(house_debt)))
ah.set_xticklabels(house_debt['Country'], rotation=45, ha="right")
ah.set_ylabel("Amount in %")
ah.set_title("Average private debt vs GDP 1998-2022")
plt.show()
When it comes to private debt to GDP, the biggest winners are, surprisingly, Iceland and Luxembourg, while countries with horrid amounts of government debt like Italy and Greece and dead last. This might, to some extent, imply that in struggling economies companies are less likely to take out large loans and will try to be more frugal and careful in spending.
- Although not true all across the board, exceptionally high government debt does lead to much lower GDP growth, which can be seen with both Italy and Greece, who have the highest debt to GDP ratio and the lowest growth.
the opposite is also somewhat true, but not exceptionally. Norway, Luxembourg and Switzerland have one of the lowest debt to GDP ratio, but their growth isn't as obvious. All 3 fall into the 7 highest GDP growth countries in western Europe, however.
t_debt_gdp = pd.read_csv('t_debt_toGDP.csv')
t_gdp_growth = pd.read_csv('test_gdp_growth.csv')
at = t_gdp_growth.plot(kind='bar', figsize=(13, 14))
at.set_xticks(range(len(t_gdp_growth)))
at.set_xticklabels(t_gdp_growth['Country'], rotation=45, ha="right")
at.set_ylabel("Amount in %")
at.legend(['Average GDP growth'])
at.set_title("Average GDP growth in the 2000's")
plt.show()
Interestingly enough, GDP growth in western EU over the years has not been very amazing and it was Ireland, a relatively minor player, who came out as the clear winner, with small countries like Luxembourg and Iceland coming second and third. Our big players, like Germany, could only manage 7th place, while the other big economies aren't even in the same playfield when it comes to growth. Italy and Greece, once again, were performing exceptionally poorly in that regard. High debt, low growth.
att = t_debt_gdp.plot(kind='bar', figsize=(13, 14))
att.set_xticks(range(len(t_debt_gdp)))
att.set_xticklabels(t_debt_gdp['Country'], rotation=45, ha="right")
att.set_ylabel("Amount in %")
att.legend(['Government debt to GDP'])
att.set_title("Government debt to GDP in the 2000's")
plt.show()
More of the same, but in the 2000's. Another illustration that Greece and Italy have been struggling, when it comes to government debt.
- Being the biggest economies, does not lead to the best GDP growth as seen from our top 4. Only Germany barely falls into the top 7 western European countries when it comes to growth., while Italy is one of the lowest growing ones.
avg_eu4 = pd.read_csv('Average of GDP by Country.csv')
eu_big4 = pd.read_csv('eu_big4.csv')
eu4 = eu_big4.plot(kind='bar', figsize=(13, 14))
eu4.set_xticks(range(len(eu_big4)))
eu4.set_xticklabels(eu_big4['Country'], rotation=45, ha="right")
eu4.set_ylabel("Amount in Trillions")
eu4.set_title("Average debt and GDP in EU 2010-2022")
plt.show()
This is how the average GDP and various debts look in our 4 biggest western EU economies, with Germany being in the clear lead when it comes to GDP, while Italy is the obvious 4th. Interestingly enough, one would expect Germany to lead in debt as well, as it seems to be the trend in EU, but that is not exactly the case. It has the lowest government debt and none of its other debts in the biggest.
eu4_growth = t_gdp_growth[t_gdp_growth['Country'].isin(['Germany', 'France', 'Italy', 'United Kingdom'])]
eug = eu4_growth.plot(kind='bar', figsize=(13, 14))
eug.set_xticks(range(len(eu4_growth)))
eug.set_xticklabels(eu4_growth['Country'], rotation=45, ha="right")
eug.set_ylabel("Amount in %")
eug.set_title("GDP Growth in the big EU4 2010-2022")
plt.show()
Growth wise, our big 4 don't show anything amazing and only Germany, since the 2010's displays any sort of GDP growth worth noting. Italy, on the other hand, has been slowly shrinking as an economy.
plt.figure(figsize=(8, 8))
plt.pie(avg_eu4['Average of GDP'], labels=avg_eu4['Country'], autopct='%1.1f%%', wedgeprops={'edgecolor': 'white'})
plt.title("Average GDPs per country 2010-2022")
plt.show()
Here we can see how large our big 4 are in terms of western Europe, as combined, they own more than 60% of the gross domestic product value. Even without Italy, the other three would still own about 50%.