GDP per hour worked is a measure of labour productivity. It measures how efficiently labour input is combined with other factors of production and used in the production process. Labour input is defined as total hours worked of all persons engaged in production. Labour productivity only partially reflects the productivity of labour in terms of the personal capacities of workers or the intensity of their effort.

The ratio between the output measure and the labour input depends to a large degree on the presence and/or use of other inputs (e.g. capital, intermediate inputs, technical, organisational and efficiency change, economies of scale).

The level is reported in US dollars per hour worked at constant prices (currently referenced to 2020), converted with Purchasing Power Parities (PPPs) so that it is comparable across countries, for the total economy and on an annual basis. It is a level rather than an index, so a value of 61.36 means 61.36 PPP-converted US dollars of GDP produced per hour worked.

See definition: https://data.oecd.org/lprdty/gdp-per-hour-worked.htm

Also known as: labor productivity, output per worker.

No programming experience? With the Finance Toolkit MCP server, AI assistants such as Claude and ChatGPT can calculate the Labour Productivity for you. Just ask in plain English.

Calculate the Labour Productivity in Python

The Labour Productivity is available in the Economics module of the open-source Finance Toolkit. Install it with:

pip install financetoolkit -U

Then call get_labour_productivity as shown below.

from financetoolkit import Economics

economics = Economics()

economics.get_labour_productivity(countries=['Bulgaria', 'Croatia', 'Spain'])

Which returns:

  Bulgaria Croatia Spain
2013 26.3805 36.169 59.2337
2014 26.5482 35.2152 59.5158
2015 27.3489 36.3951 60.1307
2016 28.0515 37.5651 60.3429
2017 28.3199 37.9134 60.7889
2018 28.9871 38.9686 60.7456
2019 30.5046 39.5761 60.8858
2020 30.7971 37.1191 60.9134
2021 32.9483 41.2317 60.6022
2022 33.9708 43.6926 61.3551

Parameters

get_labour_productivity accepts the following parameters:

  • countries (list[str] | str | None, optional): The countries to include in the data. Defaults to None.
  • rolling (int, optional): The rolling window size to use for smoothing the data (simple moving average). Defaults to None.
  • trailing (int, optional): The trailing window size to use for summing the data over trailing periods (e.g. a trailing-4-quarter sum). Defaults to None.
  • growth (bool, optional): Whether to return the growth data or the actual data.
  • lag (int, optional): The number of periods to lag the data by.
  • standardize (bool, optional): Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.
  • rounding (int | None, optional): The number of decimals to round the results to. Defaults to None.

The Economics module page introduces the module, and the sidebar lists all of its functions.

Share