Real GDP per Capita
Get the Real Gross Domestic Product per Capita for a variety of countries over time from the Global Macro Database (GMDB). This is the inflation-adjusted Gross Domestic Product (GDP) divided by the total population of a country, which gives an indication of the average economic output (and by extension, living standard) per person.
This uses the Global Macro Database’s own precomputed per-capita series (the source’s figure) rather than dividing GDP by population manually, which avoids subtle mismatches that can arise from differences in population coverage or timing between the two underlying series.
The formula is as follows:
\[\text{Real GDP per Capita} = \text{Real Gross Domestic Product} / \text{Population},\;\; \text{in national currency at constant prices},\;\; \text{or in US dollars as converted by the Global Macro Database when usd=True}\]Data comes from the Global Macro Database (GMDB), further information about the variable can be found within https://www.globalmacrodata.com/documentation.html
Also known as: real GDP per capita, real income per capita, standard of living.
Real GDP per Capita in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_real_gross_domestic_product_per_capita as shown below.
from financetoolkit import Economics
economics = Economics(start_date='2015-01-01', end_date="2025-12-31")
economics.get_real_gross_domestic_product_per_capita(countries=['Netherlands', 'Germany', 'China'])
Or, after setting up the Finance Toolkit MCP, ask:
How did real GDP per person, in national currency, develop in the Netherlands, Germany and China from 2015 to 2025?
Which returns:
| Netherlands | Germany | China | |
|---|---|---|---|
| 2015 | 41275.9 | 37916.3 | 50786.7 |
| 2016 | 42051.2 | 38480.1 | 53873.9 |
| 2017 | 42965.9 | 39590.4 | 57266.1 |
| 2018 | 43676.5 | 39987.4 | 60905.5 |
| 2019 | 44387.7 | 40368.7 | 64386.9 |
| 2020 | 42450.9 | 38593.8 | 65798 |
| 2021 | 44851.3 | 40149.7 | 71412.9 |
| 2022 | 46652.1 | 40642.1 | 73695.2 |
| 2023 | 45922.4 | 40000.8 | 77801.2 |
| 2024 | 46110.1 | 39702.4 | 81884.3 |
| 2025 | 46646.5 | 39835.9 | 86171.3 |
Parameters
get_real_gross_domestic_product_per_capita accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
countries | list[str] | str | None | A list of countries or a single country to include in the results. Defaults to None. | ["United States", "Germany"] |
usd | bool | Whether to return the values in US dollars per person, converted by the Global Macro Database, instead of national currency per person, which makes levels comparable across countries. Defaults to False. | True |
rolling | int | The rolling window size to use for smoothing the data (simple moving average). Defaults to None. | 4 |
trailing | int | The trailing window size to use for summing the data over trailing periods (e.g. a trailing-4-quarter sum). Defaults to None. | 4 |
growth | bool | Whether to return the growth data or the actual data. Defaults to False. | True |
lag | int | The number of periods to lag the growth data. Defaults to 1. | 4 |
standardize | bool | Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False. | True |
rounding | int | None | The number of decimals to round the results to. Defaults to None. | 2 |
gmdb_forecasts | bool | Whether to include the years the Global Macro Database projects, from the IMF’s World Economic Outlook, up to five years ahead. Only applies to data from the Global Macro Database. Defaults to False, which ends a series with its last observation. | True |