Skip to content
Heterodata An Arcanum Research project Leontief
Leontief

Reading Supply and Use Tables

BEA builds U.S. input-output accounts from two interlocking tables — a Supply (Make) table and a Use table — that together enforce tight accounting identities across all 71 sectors.

Why two tables?

In the real economy, a single industry can produce multiple commodities, and a single commodity can be produced by multiple industries. A chemical plant may supply both industrial gases and plastics. A logging company produces both timber and wood chips. Lumping all of this into one square matrix would hide these secondary-product flows.

BEA's solution — standard across modern national accounting systems [1][2] — is to track production and consumption in two separate rectangular tables before deriving the symmetric industry-by-industry matrices used for I-O analysis.


The Supply (Make) table

The Supply table (sometimes called the Make table) records how much of each commodity each industry produces. Rows are industries; columns are commodities. The large entries run along the diagonal — each industry primarily produces its "own" commodity — but off-diagonal entries capture secondary products.

For example, the Agriculture industry primarily supplies Farm Products, but it also supplies small amounts of Food & Beverages (on-farm processing) and even Paper Products (wood lots). The Supply table makes these secondary flows explicit rather than pretending each industry is a pure mono-product producer.

In the 2024 BEA data the Supply table has 74 rows (industries + government and rest-of-world rows) and 83 columns (commodity groups), before aggregation to the 71 BEA Summary sectors.


The Use table

The Use table records intermediate and final consumption. Rows are commodities; columns are industries (intermediate use) plus final demand categories (personal consumption, investment, exports, imports, government). Each cell $u_{ij}$ says: "commodity $i$ was used by industry $j$ in this amount."

The 2024 BEA Use table has 79 rows and 92 columns before aggregation. The extra columns beyond the 71 industries contain the final demand categories — the destination of output that never re-enters the production process.

The accounting identity

For every industry $j$, total inputs equal total output:

$$\underbrace{\sum_i u_{ij}}_{\text{intermediate inputs}} + \underbrace{VA_j}_{\text{value added}} = x_j = \underbrace{\sum_i s_{ji}}_{\text{supply (Make row)}}$$

The column sum of intermediate inputs plus value added must equal the row sum of the industry's supply contributions. This identity is what forces the two tables to balance — it is the national accounts equivalent of double-entry bookkeeping [1].


Value added: what's left after buying inputs

After paying for all intermediate commodities (energy, materials, services bought from other industries), what remains is value added — the contribution of labor and capital within that industry. BEA reports four value-added rows in the VA matrix:

Code Meaning
V001 Compensation of employees (wages + salaries + benefits)
V003 Gross operating surplus
VABAS Value added at basic prices — the industry total, not a fifth component
VAPRO Value added at producer prices (= VABAS + taxes on products, less subsidies on products)

The row meanings are BEA's own, from the RowDescr field of the Use table it publishes.

V001 (compensation) is the largest row in almost every industry: it captures all labor income, including employer-paid health insurance and pension contributions. V003 (gross operating surplus) is the residual that accrues to capital owners: profits, depreciation, and proprietors' income.

Two of these four rows are totals, and the other two are parts of them. The identity is

$$\text{VABAS} = \text{V001} + \text{V003} + (\text{other taxes on production} - \text{other subsidies on production})$$

so adding all four rows together does not give total value added — it gives roughly three times it. For 2024 the four rows sum to $85.0 trillion against a true value added at basic prices of $28.3 trillion. If you want an industry's total value added, read the VABAS row; never sum the block. (This site published the summed figure until 2026-08-03 — see Methodology › Corrections.)

The interactive table below shows 2024 value-added by sector, aggregated to 15 groups. Look at the compensation row for sectors like Health Care and Education — labor-intensive industries where V001 dwarfs every other cost category.


Final demand: where output goes

The right-hand columns of the Use table record final demand — output that leaves the production circuit entirely. The BEA F-codes group these into:

Code Category Sign convention
F010 Personal Consumption Expenditures (PCE) Positive
F02x Gross Private Domestic Investment (GPDI) Positive
F04x Exports of goods and services Positive
F05x Imports of goods and services Negative
F06–F10x Federal and State/Local government spending Positive

Imports appear with a negative sign because they add to available supply without being domestically produced. Treating imports as negative final demand keeps the accounting identity intact: total uses (intermediate + final) must equal total supply (domestic output + imports).

This sign convention trips up many first-time readers. When you download the FD matrix and see large negative columns for Import rows, that is not an error — it is the correct accounting treatment [2].

The table below shows the 2024 final demand breakdown aggregated to 15 sector groups. Personal consumption (F010) dominates for most consumer-facing sectors; exports are relatively large for Manufacturing.


From Supply and Use to the symmetric I-O table

The raw Supply and Use tables use a commodity-by-industry layout that is not square — you cannot invert a non-square matrix. To get the Leontief inverse $L = (I - A)^{-1}$ we need a square, industry-by-industry table.

BEA applies an industry-technology assumption: each industry uses inputs in fixed proportions regardless of which commodity it produces. The construction goes through two intermediate matrices. First, the commodity-by-industry direct-input coefficients normalise the Use table by industry output:

$$B = U\,\hat{x}^{-1}$$

where $U$ is the Use matrix (commodities × industries) and $\hat{x}$ is the diagonal matrix of industry total outputs. Second, the market-share (transformation) matrix normalises the Make/Supply table by commodity output:

$$D = V\,\hat{q}^{-1}$$

where $V$ is the Make/Supply matrix (industries × commodities) and $\hat{q}$ is the diagonal matrix of commodity total outputs. Combining them under the industry-technology assumption gives the symmetric industry-by-industry direct requirements matrix:

$$A = D\,B$$

[3]. This $A_{IxI}$ is the matrix that underlies the L matrix you saw in Tutorial 1.

BEA performs that construction; we do not repeat it. L is BEA's published Total Requirements table, downloaded as-is — so we recover $A_{IxI}$ from it exactly, by inverting the definition: $A_\text{square} = I - L^{-1}$. Every build checks the round trip to better than $10^{-12}$. See Tutorial 3 and the methodology.

A critical methodological note: before 2007, BEA published only a single Use table mixing domestic and imported inputs. From the 2007 benchmark onward, BEA publishes separate domestic and import Use tables. Multipliers computed from the total-use table overstate domestic production effects because they include import leakage. The Leontief database uses the total Use table for the full 1997–2024 span to maintain consistency; keep this in mind when comparing multipliers across time [1].


Try it: inspect value added as a share of output

import pandas as pd

# Download from the Leontief API
VA = pd.read_csv("2024_VA.csv", index_col=0)  # rows: V001, V003, VABAS, VAPRO
L  = pd.read_csv("2024_L.csv",  index_col=0)

# Compensation share of value added.
# VABAS is the TOTAL value added at basic prices, so it is the denominator.
# Do NOT write VA.sum(axis=0): V001 and V003 are components OF VABAS, and
# VAPRO is another total, so the sum roughly triples the true figure.
comp_share = VA.loc["V001"] / VA.loc["VABAS"]
print(comp_share.sort_values(ascending=False).head(10))

The 2003 FISIM shift: a quiet structural break

One regime change that quietly reshapes the A matrix: in 2003 BEA began allocating FISIM (Financial Intermediation Services Indirectly Measured — the imputed margin banks charge for loans) from a single dummy sector to the actual industries that borrow. Post-2003, every industry that uses bank credit shows higher financial-services intermediate inputs than pre-2003 data would suggest. When comparing A matrices across the 1997–2024 span, this shift can make the banking sector appear to have grown its backward linkages discontinuously [1].


Where next

Further reading

  • Miller & Blair (2009), ch. 5 — the commodity-by-industry framework: Use and Make tables and the derivation of the symmetric direct- and total-requirements matrices. [3]
  • Horowitz & Planting (2009), Concepts and Methods of the U.S. Input-Output Accounts — BEA's own documentation of how the U.S. Supply and Use tables are built. [1]
  • United Nations (2018), Handbook on Supply, Use and Input-Output Tables — the international SUT standard. [2]

References

  1. [1] Horowitz, K. J., &amp; Planting, M. A. (2009). <em>Concepts and Methods of the U.S. Input-Output Accounts</em>. Bureau of Economic Analysis, U.S. Department of Commerce. — https://www.bea.gov/sites/default/files/methodologies/IOmanual_092906.pdf
  2. [2] United Nations, et al. (2018). <em>Handbook on Supply, Use and Input-Output Tables with Extensions and Applications</em>. United Nations Statistics Division. — https://unstats.un.org/unsd/nationalaccount/docs/SUT_IOT_HB_wc.pdf
  3. [3] Miller, R. E., &amp; Blair, P. D. (2009). <em>Input-Output Analysis: Foundations and Extensions</em> (2nd ed.), ch. 5 (The Commodity-by-Industry Approach: Use and Make tables; deriving direct- and total-requirements matrices). Cambridge University Press.