Skip to main content
v2026.11,986 entries · CC-BY 4.0

Penn World Table (PWT): Variables, Formulas and Data Guide

Penn World Table 11.0 explained: variable lookup table, per-capita, per-worker and per-hour formulas, and Excel, R and Python code.

Written and maintained by CASRAI Editorial Board

Published · Last updated

On this page

The Penn World Table (PWT) is a free database of relative levels of income, output, input and productivity for 185 countries over 1950 to 2023 (version 11.0, published 7 October 2025), maintained by the Groningen Growth and Development Centre at the University of Groningen. This page is for researchers and students who have downloaded the file and need to know which variable to use, how to turn it into per-capita, per-worker or per-hour figures, and how to compute that in Excel, R or Python.

What is the Penn World Table?

PWT expresses national accounts in a common set of international prices (purchasing power parities, PPPs) so that real income and productivity can be compared across countries and across time. Its standard reference is Feenstra, Inklaar and Timmer (2015), “The Next Generation of the Penn World Table”, American Economic Review 105(10), 3150-3182. It is a complement to the national-accounts series in World Bank data, and it is the kind of cross-country panel used in growth and development accounting. Related country-level indicators appear in military expenditure by country, and US macroeconomic series are covered in the FRED database guide. Panel data like PWT is often modelled with time-series methods such as vector autoregression.

Current version and coverage

  • PWT 11.0: 185 countries, 1950-2023, published 7 October 2025. It uses World Bank International Comparison Program (ICP) 2021 PPPs, with revisions for 2017, and newer national accounts to 2023. China is now the official national series rather than the Maddison/Wu adjusted series. Data DOI: 10.34894/FABVLR; hosted on DataverseNL with Excel and Stata files.
  • PWT 10.0: 183 countries, 1950-2019, base year 2017, 52 variables, DOI 10.15141/S5Q94M.
  • Licence: CC BY 4.0.

Sources: Groningen Growth and Development Centre PWT 11.0 page and its version 11.0 announcement, and the PWT 10.0 documentation in the CRAN pwt10 package, all read 8 November 2026.

Variable lookup table

Definitions and units below are from the PWT 10.0 documentation (the pwt10 package, read 8 November 2026). Check the User Guide to PWT 11.0 for current labels, base years and any renamed variables before citing a 11.0 value.

Variable Meaning Unit Typical use
rgdpe Expenditure-side real GDP at chained PPPs millions of 2017 USD (PWT 10.0) Comparing living standards across countries and over time
rgdpo Output-side real GDP at chained PPPs millions of 2017 USD (PWT 10.0) Comparing productive capacity across countries and over time
cgdpe Expenditure-side real GDP at current PPPs millions of 2017 USD (PWT 10.0) Comparing relative income levels across countries in a single year
cgdpo Output-side real GDP at current PPPs millions of 2017 USD (PWT 10.0) Comparing relative output levels across countries in a single year
rgdpna Real GDP at constant 2017 national prices millions of 2017 national currency units Growth within one country
pop Population millions Per-capita denominators
emp Number of persons engaged millions Per-worker denominators
avh Average annual hours worked by persons engaged hours Per-hour productivity
hc Human capital index index Growth and development accounting
cn Capital stock at current PPPs millions of 2017 USD Capital intensity
ctfp TFP level at current PPPs USA = 1 Cross-country productivity comparison
labsh Share of labour compensation in GDP at current national prices share Factor shares
xr Exchange rate, national currency per USD national currency units per USD Price-level calculation
pl_gdpo Price level of output-side GDP USA GDPo in 2017 = 1 Relative price levels
csh_c, csh_i, csh_g, csh_x, csh_m, csh_r Shares of household consumption, capital formation, government consumption, exports, imports and residual share of GDP at current PPPs Expenditure composition

Two distinctions matter most. Current PPP variables (cgdpe, cgdpo) compare countries within a single year; chained PPP variables (rgdpe, rgdpo) are built to follow real growth over time. Expenditure-side (e) measures are based on spending, output-side (o) measures. The i_* columns flag the quality of individual series.

Formulas

  • Real GDP per capita = rgdpo / pop (or rgdpe / pop); result in millions of USD per million people, i.e. USD per person.
  • Real GDP per worker = rgdpo / emp.
  • Real GDP per hour worked = rgdpo / (emp × avh); emp is in millions and avh in hours per year, so multiply by 106 only if you need USD rather than millions of USD per hour.
  • Price level = PPP / xr, the definition behind pl_gdpo (USA = 1 in 2017).
  • Continuously compounded growth rate = ln(xt / xt-1); multiply by 100 for a percentage.

Worked examples (hypothetical numbers)

The numbers below are invented to show the arithmetic; they are not figures for any real country.

Example 1: GDP per capita and per worker

Suppose a country-year has rgdpo = 600,000 (millions of USD), pop = 40 (millions) and emp = 18 (millions). GDP per capita = 600,000 / 40 = 15,000 USD per person. GDP per worker = 600,000 / 18 ≈ 33,333 USD per worker.

Example 2: growth rate

If GDP per capita is 15,000 in year t-1 and 15,450 in year t, the log growth rate is ln(15,450 / 15,000) = ln(1.03) ≈ 0.0296, or about 2.96% a year.

Compute it in Excel, R and Python

Excel (columns: C = rgdpo, D = pop, E = emp, rows sorted by year within a country):

GDP per capita:   =C2/D2
GDP per worker:   =C2/E2
Log growth rate:  =LN(F3/F2)   (F = GDP per capita)

R (package pwt10, data set pwt10.0):

library(pwt10)
data("pwt10.0")
pwt10.0$gdp_pc <- pwt10.0$rgdpo / pwt10.0$pop
pwt10.0$gdp_pw <- pwt10.0$rgdpo / pwt10.0$emp

Python (pandas; download the Excel file from the Groningen page first):

import pandas as pd, numpy as np
sheets = pd.read_excel("pwt_file.xlsx", sheet_name=None)  # list sheets, pick the data sheet
df = next(iter(sheets.values()))  # replace with the data sheet
df["gdp_pc"] = df["rgdpo"] / df["pop"]
df = df.sort_values(["countrycode", "year"])
df["g"] = df.groupby("countrycode")["gdp_pc"].transform(lambda s: np.log(s).diff())

Citation and licence

Cite both the paper (Feenstra, Inklaar and Timmer 2015) and the version-specific data DOI, and state which PWT version you used. Mixing values from PWT 10.0 and 11.0 in one series is unsafe because the PPP benchmark, country coverage and the China series changed between them.

FAQ

Which PWT version is current?

PWT 11.0, published 7 October 2025, covering 185 countries from 1950 to 2023.

Is the Penn World Table free to use?

Yes. The Groningen page lists the licence as CC BY 4.0, so attribution is required.

How do I calculate GDP per capita from PWT?

Divide a real GDP variable such as rgdpo or rgdpe by pop, as shown above.

Follow CASRAI

Research-administration guidance, standards updates and independent tool reviews.

Ask CASRAI · free to try

Ask about Penn World Table (PWT): Variables, Formulas and Data Guide

Ask your first 2 questions free below. Subscribers get 150 a day for $29 a month.

An AI assistant specialized in research administration. It cites the sources behind every answer, labels web answers and says when it can't answer.

Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.

Works on this site and inside Claude, Cursor and the AI tools you already use.

Everything CASRAI publishes — this page, the dictionary, the guides and the news — stays free to read, with no account and no card.

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →