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.

The level is the OECD’s own figure (the source’s calculation).

The formula is as follows:

\[\text{Labour Productivity} = \text{Real GDP} (\text{constant prices},\; \text{PPP-converted US dollars}) / \text{Total Hours Worked by all persons engaged in production}\]

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

Also known as: labor productivity, output per worker.

Labour Productivity in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_labour_productivity as shown below.

from financetoolkit import Economics

economics = Economics(end_date="2025-12-31")

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

Or, after setting up the Finance Toolkit MCP, ask:

How much GDP per hour worked did Bulgaria, Croatia and Spain produce from 2016 to 2025?

Which returns:

  Bulgaria Croatia Spain
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
2023 33.3439 44.313 61.2281
2024 34.8229 43.9879 61.9601
2025 nan 45.0352 62.42

Parameters

get_labour_productivity accepts the following parameters.

ParameterTypeDescriptionExample
countrieslist[str] | str | NoneThe countries to include in the data. Defaults to None.["United States", "Germany"]
rollingintThe rolling window size to use for smoothing the data (simple moving average). Defaults to None.4
trailingintThe trailing window size to use for summing the data over trailing periods (e.g. a trailing-4-quarter sum). Defaults to None.4
growthboolWhether to return the growth data or the actual data. Defaults to False.True
lagintThe number of periods to lag the data by. Defaults to 1.4
standardizeboolWhether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.True
roundingint | NoneThe number of decimals to round the results to. Defaults to None.2
Share