Data

Total factor productivity

Penn World Table
See all data and research on:

What you should know about this indicator

  • Total factor productivity (TFP) is an estimate of how efficiently an economy turns its inputs into outputs. It is defined as the part of GDP not explained by capital (machines, buildings, infrastructure) or labor input.
  • This indicator is constructed with estimates of GDP, capital stock, labor input data, and labor income of employees and self-employed as share of GDP.
  • This indicator is expressed as an index relative to each country's value in 2021. A value of 1 indicates that the country has the same level as it did in 2021.
  • This data is adjusted for inflation and differences in living costs between countries.
  • This data is expressed in at 2021 prices, using an approach that ensures consistency with national accounts data.

How is this data described by its producer - Penn World Table?

TFP at constant national prices (2021=1)

Total factor productivity
Penn World Table
This is the level of total factor productivity, relative to each country's value in 2021 (which is set to 1). This data is adjusted for inflation and differences in living costs between countries.
Source
Feenstra et al. - Penn World Table (2025)with major processing by Our World in Data
Last updated
October 9, 2025
Next expected update
April 2027
Date range
1954–2023

Sources and processing

Feenstra et al. – Penn World Table

PWT version 11.0 is a database with information on relative levels of income, output, input and productivity, covering 185 countries between 1950 and 2023.

Retrieved on
October 9, 2025
Citation
This is the citation of the original data obtained from the source, prior to any processing or adaptation by Our World in Data. To cite data downloaded from this page, please use the suggested citation given in Reuse This Work below.
Feenstra, Robert C., Robert Inklaar and Marcel P. Timmer (2015), "The Next Generation of the Penn World Table" American Economic Review, 105(10), 3150-3182, available for download at www.ggdc.net/pwt

PWT version 11.0 is a database with information on relative levels of income, output, input and productivity, covering 185 countries between 1950 and 2023.

Retrieved on
October 9, 2025
Citation
This is the citation of the original data obtained from the source, prior to any processing or adaptation by Our World in Data. To cite data downloaded from this page, please use the suggested citation given in Reuse This Work below.
Feenstra, Robert C., Robert Inklaar and Marcel P. Timmer (2015), "The Next Generation of the Penn World Table" American Economic Review, 105(10), 3150-3182, available for download at www.ggdc.net/pwt

All data and visualizations on Our World in Data rely on data sourced from one or several original data providers. Preparing this original data involves several processing steps. Depending on the data, this can include standardizing country names and world region definitions, converting units, calculating derived indicators such as per capita measures, as well as adding or adapting metadata such as the name or the description given to an indicator.

At the link below you can find a detailed description of the structure of our data pipeline, including links to all the code used to prepare data across Our World in Data.

Read about our data pipeline
Notes on our processing step for this indicator

We excluded values considered outliers in the original dataset (i_outlier = "Outlier"), due to implausible relative prices (PPPs divided by exchange rates).

How to cite this page

To cite this page overall, including any descriptions, FAQs or explanations of the data authored by Our World in Data, please use the following citation:

“Data Page: Total factor productivity”, part of the following publication: Max Roser, Bertha Rohenkohl, Pablo Arriagada, Joe Hasell, Hannah Ritchie, and Esteban Ortiz-Ospina (2023) - “Economic Growth”. Data adapted from Feenstra et al.. Retrieved from https://archive.ourworldindata.org/20260317-180650/grapher/total-factor-productivity.html [online resource] (archived on March 17, 2026).

How to cite this data

In-line citationIf you have limited space (e.g. in data visualizations), you can use this abbreviated in-line citation:

Feenstra et al. - Penn World Table (2025) – with major processing by Our World in Data

Full citation

Feenstra et al. - Penn World Table (2025) – with major processing by Our World in Data. “Total factor productivity – Penn World Table” [dataset]. Feenstra et al., “Penn World Table 11.0” [original data]. Retrieved April 1, 2026 from https://archive.ourworldindata.org/20260317-180650/grapher/total-factor-productivity.html (archived on March 17, 2026).

Quick download

Download the data shown in this chart as a ZIP file containing a CSV file, metadata in JSON format, and a README. The CSV file can be opened in Excel, Google Sheets, and other data analysis tools.

Data API

Use these URLs to programmatically access this chart's data and configure your requests with the options below. Our documentation provides more information on how to use the API, and you can find a few code examples below.

Data URL (CSV format)
https://ourworldindata.org/grapher/total-factor-productivity.csv?v=1&csvType=full&useColumnShortNames=false
Metadata URL (JSON format)
https://ourworldindata.org/grapher/total-factor-productivity.metadata.json?v=1&csvType=full&useColumnShortNames=false

Code examples

Examples of how to load this data into different data analysis tools.

Excel / Google Sheets
=IMPORTDATA("https://ourworldindata.org/grapher/total-factor-productivity.csv?v=1&csvType=full&useColumnShortNames=false")
Python with Pandas
import pandas as pd
import requests

# Fetch the data.
df = pd.read_csv("https://ourworldindata.org/grapher/total-factor-productivity.csv?v=1&csvType=full&useColumnShortNames=false", storage_options = {'User-Agent': 'Our World In Data data fetch/1.0'})

# Fetch the metadata
metadata = requests.get("https://ourworldindata.org/grapher/total-factor-productivity.metadata.json?v=1&csvType=full&useColumnShortNames=false").json()
R
library(jsonlite)

# Fetch the data
df <- read.csv("https://ourworldindata.org/grapher/total-factor-productivity.csv?v=1&csvType=full&useColumnShortNames=false")

# Fetch the metadata
metadata <- fromJSON("https://ourworldindata.org/grapher/total-factor-productivity.metadata.json?v=1&csvType=full&useColumnShortNames=false")
Stata
import delimited "https://ourworldindata.org/grapher/total-factor-productivity.csv?v=1&csvType=full&useColumnShortNames=false", encoding("utf-8") clear