0.71 The median share of an economy’s gap in output per worker with the United States that is due to TFP, 143 economies, 2023
Not machines, not schooling: the part that capital and workers leave unexplained. Today we measure it, for any economy you choose, with the Penn World Table and a few lines of Python.
| Growth accounting | Development accounting | |
|---|---|---|
| Question | Why did this economy grow? | Why is this economy poorer? |
| Compares | one economy with its own past | economies with each other, in one year |
| Works with | growth rates of GDP, capital, labour | levels of output per worker, capital, schooling |
| Result | contributions in percentage points | shares of the gap with the United States |
| Follows | the Growth Atlas | Caunedo, STEG Lecture 2 |
In both, total factor productivity is the residual: what the measured inputs leave unexplained.
Act I
\[Y = A\,K^{\alpha}\,L^{1-\alpha}, \qquad \alpha = 0.33\]
Measure what you can, and call the rest productivity.
rgdpna, rnna): growth over time, within an economy → growth accountingrgdpo, cgdpo, cn): levels across economies in one year → development accountingCan we measure workers’ hours and schooling for every economy, as we can measure GDP?
Data: Penn World Table 11.0 (Feenstra, Inklaar and Timmer 2015); file data/appD/pwt_accounting.csv. Chart inspired by the discussion of the Penn World Table in Chapter 3 of Jones (2024), Macroeconomics, 6th ed.
Look at your data before you analyse it: missing hours would quietly drop most poor economies.
PWT_URL = "https://dataverse.nl/api/access/datafile/554030" # the official pwt110.dta
official = pd.read_stata(PWT_URL) # 13,690 rows, 51 columns
pwt = pd.read_csv(DATA_URL + "pwt_accounting.csv") # the book's prepared file
COUNTRIES = ["USA", "MEX", "CHN", "IND", "KOR", "NGA"] # your economies: change them!Open the Appendix D notebook in Colab, replace two codes in COUNTRIES, and choose Runtime → Run all: every chart updates.
Act II
Take logs, then the change from one year to the next:
\[\ln Y_t = \ln A_t + \alpha \ln K_t + (1-\alpha)\ln L_t\]
The change in a log is, approximately, the growth rate:
\[g_Y = \underbrace{\alpha\,g_K}_{\text{capital}} + \underbrace{(1-\alpha)\,g_L}_{\text{labour}} + \underbrace{g_A}_{\text{TFP}}\]
\[g_A = g_Y - \alpha\,g_K - (1-\alpha)\,g_L \qquad \text{the Solow residual}\]
groupby and a subtractiongroupby("iso3") keeps each economy’s growth rates separate, so the first year of one economy is never compared with the last year of another.
In 2020, U.S. employment fell by about 5.5 percent and GDP by 2.2 percent.
Did measured TFP rise or fall in 2020? Write down your guess.
Data: Penn World Table 11.0 (Feenstra, Inklaar and Timmer 2015), rgdpna, rnna, emp. Method: the Growth Atlas. Chart inspired by the growth accounting of Chapter 6 in Jones (2024), Macroeconomics, 6th ed.
A one-year residual is not technology: it also absorbs who works, how hard machines run, and measurement error.
China, India, Korea, Nigeria, Mexico, the United States: rank them by the share of GDP growth that came from TFP, 1990–2023.
Data: Penn World Table 11.0 (Feenstra, Inklaar and Timmer 2015). Method: the Growth Atlas. Chart inspired by the growth accounting of Chapter 6 in Jones (2024), Macroeconomics, 6th ed.
Investment alone did not make China grow; productivity did more than half the work.
Data: Penn World Table 11.0 (Feenstra, Inklaar and Timmer 2015). Method: the Growth Atlas. Chart inspired by the growth accounting of Chapter 6 in Jones (2024), Macroeconomics, 6th ed.
Fast TFP growth is a feature of catching up, not a permanent state.
| Choice | Economy | Labour | TFP |
|---|---|---|---|
| Persons, α = 0.33 (default) | Korea | 0.95 | 1.82 |
| Total hours, α = 0.33 | Korea | 0.26 | 2.52 |
| Persons, α = 0.33 (default) | China | 0.36 | 4.92 |
| Persons, α = 0.40 | China | 0.32 | 4.21 |
Average contributions, percentage points a year, 1990–2023.
Hours per Korean worker fell, so counting hours moves growth from labour to TFP; a higher α moves China’s growth from TFP to capital.
TFP growth is the rate of technological progress.
TFP growth is a residual. Over decades it reflects ideas, organization and reallocation; in any one year it also absorbs changes in hours, skills, capacity use, commodity prices and measurement error, as 2020 showed.
Mexico opened to trade, stabilized prices and invested, yet TFP contributed nothing to its growth since 1990. What should policy target?
Act III
Nigeria’s output per worker is 8.5 percent of the U.S. level. How much of that gap is machines, how much is schooling, and how much is productivity?
Output with physical and human capital, \(H = hL\), divided by workers:
\[y = A\,k^{\alpha}\,h^{1-\alpha}\]
Substitute \(k = (K/Y)\,y\), collect \(y\), and raise to \(1/(1-\alpha)\):
\[y = \underbrace{A^{\frac{1}{1-\alpha}}}_{\text{TFP term}} \times \underbrace{\left(\frac{K}{Y}\right)^{\frac{\alpha}{1-\alpha}}}_{\text{capital term}} \times \underbrace{h}_{\text{human capital}}\]
Each term is then divided by its U.S. value: a ratio of 0.5 means half the U.S. level.
Credit TFP for the capital it induces, and capital for the rest.
\[\frac{y_{US}}{y_i} = \underbrace{T_i}_{\text{TFP gap}} \times \underbrace{K_i}_{\text{capital gap}} \times \underbrace{H_i}_{\text{schooling gap}}\]
\[s^{TFP}_i = \frac{T_i}{T_i + K_i H_i}\]
\[s^{K}_i = \frac{K_i}{K_i + H_i}\,(1 - s^{TFP}_i), \qquad s^{H}_i = \frac{H_i}{K_i + H_i}\,(1 - s^{TFP}_i)\]
If the TFP gap equals the gap the two inputs create together, TFP’s share is one half; if it is three times as large, three quarters.
d["y"] = d["rgdpo"] / d["emp"] # output per worker
d["ky"] = (d["cn"] / d["cgdpo"]) ** (alpha / (1 - alpha)) # capital term
d["h"] = d["hc"] # human capital
d["tfp"] = d["y"] / (d["ky"] * d["h"]) # TFP term, the residual
for col in ["y", "ky", "h", "tfp"]:
d[col + "_rel"] = d[col] / us[col] # United States = 1Per hour instead of per worker? Divide by emp * avh. That is the only change.
Output per worker is 0.085 of the U.S. level. Guess each term: the capital term, human capital, and the TFP term.
Data: Penn World Table 11.0 (Feenstra, Inklaar and Timmer 2015), rgdpo, cgdpo, cn, emp, hc. Method: Caunedo, STEG Lecture 2. Chart inspired by the development accounting of Chapter 4 in Jones (2024), Macroeconomics, 6th ed.
Poor economies have little capital per worker because they produce little, not the other way round.
Data: Penn World Table 11.0 (Feenstra, Inklaar and Timmer 2015). Method: Caunedo, STEG Lecture 2. Chart inspired by the development accounting of Chapter 4 in Jones (2024), Macroeconomics, 6th ed.
The income gaps of the poorest economies are, above all, productivity gaps.
Data: Penn World Table 11.0 (Feenstra, Inklaar and Timmer 2015). Method: Caunedo, STEG Lecture 2. Chart inspired by the development accounting of Chapter 4 in Jones (2024), Macroeconomics, 6th ed.
As schooling gaps close, what remains of the income gap is ever more a productivity gap.
\[\text{success} = \frac{\operatorname{var}\left[\ln y^{KH}\right]}{\operatorname{var}\left[\ln y\right]}, \qquad y^{KH} = (K/Y)^{\alpha/(1-\alpha)}\,h\]
| Form of the factor-only model | Success, 143 economies, 2023 |
|---|---|
| capital–output form (this appendix, Caunedo) | 0.157 |
| capital-per-worker form (Chapter 4, Caselli 2005) | 0.301 |
If every economy had U.S. TFP, the spread of log output per worker would shrink by 84 percent; how much “inputs” explain depends on who gets credit for TFP-induced capital.
| Variant | Economies | Success of inputs | Median TFP share |
|---|---|---|---|
| per worker (baseline) | 143 | 0.157 | 0.706 |
| per hour (Caunedo) | 119 | 0.151 | 0.713 |
| net of resource rents | 140 | 0.150 | 0.734 |
| country labour shares | 119 | 1.944 | 0.846 |
A success above 1 is impossible: where the labour share is tiny (Qatar 0.18), the capital exponent \((1-0.18)/0.18 \approx 4.6\) explodes.
Data: Penn World Table 11.0 (Feenstra, Inklaar and Timmer 2015); World Bank WDI, total natural resources rents. Method: Caunedo, STEG Lecture 2.
Poor countries are poor mainly because they have too little capital.
Relative to their output, poor economies have as much capital as the United States: Nigeria’s capital term is 1.73, India’s 1.12. Capital per worker is low because output is low, and output is low mainly because TFP is low.
A finance ministry wants to close the gap with richer economies. Subsidize investment, expand schooling, or remove what keeps productivity low?
hc measures skills well: Hendricks and Schoellman (2023) find a larger role for human capitalA skeptic says: “You call the residual productivity, but it is simply everything you failed to measure. Saying it explains 70 percent of the gap says nothing.”
Reply: the skeptic is half right, which is the point. Abramovitz (1956) called the residual “a measure of our ignorance”. Accounting shows how big that ignorance is, and robustness checks (hours, rents, schooling) show it does not go away when we measure more. That is why growth theory, from Solow to Romer, is about TFP.
Open the Appendix D notebook in Colab, choose your own countries, and redo every chart
data/appD/pwt_accounting.csv and nat_res_rents.csv.growth_accounting, dev_accounting, relative_to_us, success); each menu offers every economy with data.