Skip to content

Input–output overview

Kenneth S. Reyes edited this page Jul 10, 2023 · 2 revisions

This page provides an overview of input–output analysis, establishing notations and conventions used in other pages. It then introduces the ADB MRIO tables and demonstrates how they are converted from Excel to Parquet files (process-mrios.ipynb) and how key values are extracted (summary-table.ipynb).

Contents

  1. The input–output framework
  2. The ADB MRIO
  3. MRIO countries and sectors

The input–output framework

Let there be $G$ economies in the world, indexed by $r,s = 1,...,G$. Production in each economy is divided into $N$ sectors, indexed by $i,j = 1,...,N$. Production is assumed to be done in fixed proportions, also called Leontief production, so that the output of an economy-sector $(r,i)$, denoted $x_{(r,i)}$, is given by

$$ \text{Purchases:} \qquad x_{(r,i)} = z_{(1,1),(r,i)} + z_{(1,2),(r,i)} + ... + z_{(s,j),(r,i)} + ... + z_{(G,N),(r,i)} + va_{(r,i)} $$

where $z_{(s,j),(r,i)}$ are inputs purchased by $(r,i)$ from $(s,j)$ and $va_{(r,i)}$ is $(r,i)$ value-added. One may also call $z$ "intermediate inputs" and $va$ "primary inputs". Note that variable subscripts denote flows from left to right, so that $z_{(s,j),(r,i)}$ means inputs are flowing from $(s,j)$ to $(r,i)$. An asterisk means all entities, as in $z_{(s,j),*}$ or $z_{*,(r,i)}$.

Output of $(r,i)$ is either consumed or used as inputs:

$$ \text{Sales:} \qquad x_{(r,i)} = z_{(r,i),(1,1)} + z_{(r,i),(1,2)} + ... + z_{(r,i),(u,i)} + ... + z_{(r,i),(G,N)} + y_{(r,i),1} + ... + y_{(r,i),u} + ... + y_{(r,i),G} $$

where $y_{(r,i),u}$ are $(r,i)$ output consumed in economy $u$. Market clearing is assumed to always hold, so the above equations are equal.

These relationships are more neatly presented in a table. For the case of three economies ${C, J, U}$ and two sectors ${1,2}$, the full table is as follows:

The $GN$ equations of purchases are arranged in columns while the $GN$ equations of sales are arranged in rows. It is clear that for larger $G$ and $N$, representation in table form becomes unwieldy. One fix would be to collect economy-specific terms into matrices and vectors:

Uppercase letters in bold denote matrices while lowercase letters in bold denote vectors. These may further be collected into larger matrices and vectors: all $\mathbf{Z}_{sr}$'s into the $GN \times GN$ matrix $\mathbf{Z}$, all $\mathbf{y}_{sr}$'s into the $GN \times G$ matrix $\mathbf{Y}$, all $\mathbf{va}_s$'s into the $1 \times GN$ vector $\mathbf{va}$, and all $\mathbf{x}_s$'s into the $GN \times 1$ vector $\mathbf{x}$. The sales equation may be rewritten as

$$ \mathbf{x} = \mathbf{Z} \cdot \mathbf{i}_{GN} + \mathbf{Y} \cdot \mathbf{i}_G, $$

where $\mathbf{i}_M = [1,1,...,1]'$ is a vector of 1's with length $M$ that serves to sum up $\mathbf{Z}$ and $\mathbf{Y}$ by rows. It will be useful to separately denote the vector $\mathbf{Y} \cdot \mathbf{i}_G$ as $\mathbf{y}$, so the above can be written more simply as

$$ \mathbf{x} = \mathbf{Zi} + \mathbf{y}. $$

Gross exports are the total sales of an economy-sector to another economy. To get an expression for this, the $\mathbf{Z}$ and $\mathbf{Y}$ matrices must be split between domestic and foreign sales:

$$ \begin{align} & \mathbf{Z} = \mathbf{Z}^d + \mathbf{Z}^f \\ & \mathbf{Y} = \mathbf{Y}^d + \mathbf{Y}^f \end{align} $$

Visualizing this using the three-economy, two-sector example,

$$ \begin{bmatrix} \mathbf{Z}_{CC} & \mathbf{Z}_{CJ} & \mathbf{Z}_{CU} \\ \mathbf{Z}_{JC} & \mathbf{Z}_{JJ} & \mathbf{Z}_{JU} \\ \mathbf{Z}_{UC} & \mathbf{Z}_{UJ} & \mathbf{Z}_{UU} \\ \end{bmatrix} = \begin{bmatrix} \mathbf{Z}_{CC} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{Z}_{JJ} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{Z}_{UU} \\ \end{bmatrix} + \begin{bmatrix} \mathbf{0} & \mathbf{Z}_{CJ} & \mathbf{Z}_{CU} \\ \mathbf{Z}_{JC} & \mathbf{0} & \mathbf{Z}_{JU} \\ \mathbf{Z}_{UC} & \mathbf{Z}_{UJ} & \mathbf{0} \\ \end{bmatrix} $$

$$ \begin{bmatrix} \mathbf{y}_{CC} & \mathbf{y}_{CJ} & \mathbf{y}_{CU} \\ \mathbf{y}_{JC} & \mathbf{y}_{JJ} & \mathbf{y}_{JU} \\ \mathbf{y}_{UC} & \mathbf{y}_{UJ} & \mathbf{y}_{UU} \\ \end{bmatrix} = \begin{bmatrix} \mathbf{y}_{CC} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{y}_{JJ} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{y}_{UU} \\ \end{bmatrix} + \begin{bmatrix} \mathbf{0} & \mathbf{y}_{CJ} & \mathbf{y}_{CU} \\ \mathbf{y}_{JC} & \mathbf{0} & \mathbf{y}_{JU} \\ \mathbf{y}_{UC} & \mathbf{y}_{UJ} & \mathbf{0} \\ \end{bmatrix} $$

The exports vector is defined as

$$ \mathbf{e} \equiv \mathbf{Z}^f \cdot \mathbf{i}_{GN} + \mathbf{Y}^f \cdot \mathbf{i}_{G} = \mathbf{Z}^f \mathbf{i} + \mathbf{y}^f. $$

It is also useful to construct an exports matrix $\mathbf{E}$ that identifies the destinations of each economy-sector's exports. This is done by post-multiplying an aggregator matrix to the $GN \times GN$ matrix $\mathbf{Z}^f$ to turn it into a $GN \times G$ matrix. Thus,

$$ \mathbf{E} \equiv \mathbf{Z}^f \cdot (\mathbf{I}_G \otimes \mathbf{i}_N) + \mathbf{Y}^f, $$

where $\otimes$ denote a Kronecker product. Written out,

$$ \begin{align*} \mathbf{E} & \equiv \begin{bmatrix} 0 & z_{C1,J1} + z_{C1,J2} & z_{C1,U1} + z_{C1,U2} \\ 0 & z_{C2,J1} + z_{C2,J2} & z_{C2,U1} + z_{C2,U2} \\ z_{J1,C1} + z_{J1,C2} & 0 & z_{J1,U1} + z_{J1,U2} \\ z_{J2,C1} + z_{J2,C2} & 0 & z_{J2,U1} + z_{J2,U2} \\ z_{U1,C1} + z_{U1,C2} & z_{U1,J1} + z_{U1,J2} & 0 \\ z_{U2,C1} + z_{U2,C2} & z_{U2,J1} + z_{U2,J2} & 0 \\ \end{bmatrix} + \begin{bmatrix} 0 & y_{C1,J} & y_{C1,U} \\ 0 & y_{C2,J} & y_{C2,U} \\ y_{J1,C} & 0 & y_{J1,U} \\ y_{J2,C} & 0 & y_{J2,U} \\ y_{U1,C} & y_{U1,J} & 0 \\ y_{U2,C} & y_{U2,J} & 0 \\ \end{bmatrix} \\ & = \begin{bmatrix} 0 & e_{C1,J} & e_{C1,U} \\ 0 & e_{C2,J} & e_{C2,U} \\ e_{J1,C} & 0 & e_{J1,U} \\ e_{J2,C} & 0 & e_{J2,U} \\ e_{U1,C} & e_{U1,J} & 0 \\ e_{U2,C} & e_{U2,J} & 0 \\ \end{bmatrix} = \begin{bmatrix} \mathbf{0} & \mathbf{e}_{CJ} & \mathbf{e}_{CU} \\ \mathbf{e}_{JC} & \mathbf{0} & \mathbf{e}_{JU} \\ \mathbf{e}_{UC} & \mathbf{e}_{UJ} & \mathbf{0} \\ \end{bmatrix} \end{align*} $$

The technical coefficient $a_{(s,j),(r,i)}$ is the share of inputs from $(s,j)$ in the output of $(r,i)$: $a_{(s,j),(r,i)} \equiv z_{(s,j),(r,i)}/x_{(r,i)}$. Collect all these into the $GN \times GN$ matrix of technical coefficients $\mathbf{A}$. This may be used to rewrite $\mathbf{x} = \mathbf{Zi} + \mathbf{y}$ as

$$ \mathbf{x} = \mathbf{Ax} + \mathbf{y}. $$

Solving for $\mathbf{x}$ gives

$$ \mathbf{x} = (\mathbf{I} - \mathbf{A})^{-1} \mathbf{y} = \mathbf{By}, $$

where the $GN \times GN$ matrix $\mathbf{B}$ is called the global Leontief inverse matrix.

VB decomposition

The equations $\mathbf{x} = \mathbf{Ax} + \mathbf{y}$ and $\mathbf{x} = \mathbf{By}$ are central to analyzing cross-economy and cross-sectoral linkages. It is clearer to see this if it is rewritten to isolate a single economy $s$:

$$ \begin{align} \mathbf{x}_s &= \sum^G_r \mathbf{A}_{sr} \mathbf{x}_{r} + \sum^G_r \mathbf{y}_{sr} \\ &= \sum^G_r \sum^G_u \mathbf{B}_{sr} \mathbf{y}_{ru} \end{align} $$

The first line says that $s$'s output $\mathbf{x}_s$ is used as intermediates in $r$'s production or sold as final goods to $r$ (for all $r=1,...,G$). The output of each $r$ can in turn be used as intermediates by other economies, whose outputs are then used by other economies, and so on in a potentially infinite series of production stages. The second line summarizes these to identify the final landing stage of $s$'s output. The product $\mathbf{B}_{sr} \mathbf{y}_{ru}$ is $s$ output that is "completed" into a final good by $r$, which then sends it to $u$ for final absorption.

In most analyses, value-added rather than output is the preferred metric. Define the vector $\mathbf{v}$ with $(s,i)$-th element $v_{(s,i)} \equiv va_{(s,i)}/x_{(s,i)}$. This gives the value-added-to-output ratio for each economy-sector. It follows that $\sum_{(s,j)} a_{(s,j),(r,i)} + v_{(r,i)} = 1$. Premultiplying this to the above converts everything to value-added terms:

$$ \mathbf{v}_s \mathbf{x}_s \equiv va_s = \mathbf{v}_s \sum^G_r \sum^G_u \mathbf{B}_{sr} \mathbf{y}_{ru} $$

This expression gives the value-added generated in economy $s$ that is eventually consumed in economy $u$. It can be tweaked to measure other flows. For example, $\mathbf{v}_s \mathbf{B}_{sr} \mathbf{y}_{ru}$ considers $s$ value-added embodied in final goods completed in $r$ that are sold to $u$. To measure $s$ value-added embodied in $r$'s total exports, one may instead write $\mathbf{v}_s \mathbf{B}_{sr} \mathbf{e}_{r*}$. These expressions are called VB decompositions and they serve to identify the value-added origins of certain quantities.

Even more specific flows may be derived by defining input use structures for domestic intermediates $\mathbf{Z}^d$ and foreign intermediates $\mathbf{Z}^f$ separately, yielding $\mathbf{A}^d$ and $\mathbf{A}^f$ where $\mathbf{A} = \mathbf{A}^d + \mathbf{A}^f$. Equation $\mathbf{x} = \mathbf{Ax} + \mathbf{y}$ can be rewritten as

$$ \mathbf{x} = (\mathbf{A}^d \mathbf{x} + \mathbf{y}^d) + (\mathbf{A}^f \mathbf{x} + \mathbf{y}^f). $$

Moreover, since $\mathbf{Z}^f \mathbf{i} = \mathbf{A}^f \mathbf{x}$, the exports vector can also be rewritten as

$$ \mathbf{e} = \mathbf{A}^f \mathbf{x} + \mathbf{y}^f. $$

Plugging this into the above and solving for $\mathbf{x}$,

$$ \begin{align} \mathbf{x} &= (\mathbf{A}^d \mathbf{x} + \mathbf{y}^d) + \mathbf{e} \\ &= (\mathbf{I} - \mathbf{A}^d)^{-1} (\mathbf{y}^d + \mathbf{e}) \\ &= \mathbf{B}^d (\mathbf{y}^d + \mathbf{e}). \end{align} $$

The matrix $\mathbf{B}^d$ is called the local Leontief inverse matrix. Its interpretation is the same as the $\mathbf{B}$ matrix, except it assumes an input structure that precludes buying and selling inputs abroad. As such, only the block diagonal elements are non-zero. This isolates the purely domestic portion of production. Compare $\mathbf{v}_s \mathbf{B}_{ss} \mathbf{y}_{ss}$ and $\mathbf{v}_s \mathbf{B}^d_{ss} \mathbf{y}_{ss}$. While they both meaure $s$ value-added in its own final consumption, the first expression allows for some processing abroad while the second restricts it to purely domestic linkages. This will be crucial in disentangling direct and indirect trading.

Sector breakdown

Note that $\mathbf{v}_s \mathbf{x}_s$ ends up summing sector-level quantities into the aggregate level. However, breaking this down again by sectors is not straightforward as there are several approaches one can take. To see this, consider the case of $\mathbf{v}_C \mathbf{B}_{CJ} \mathbf{y}_{JU}$ — value-added from $C$ completed in $J$ and absorbed in $U$. Writing this out,

$$ \begin{bmatrix} v_{C1} & v_{C2} \\ \end{bmatrix} \begin{bmatrix} b_{C1, J1} & b_{C1, J2} \\ b_{C2, J1} & b_{C2, J2} \\ \end{bmatrix} \begin{bmatrix} y_{J1, U} \\ y_{J2, U} \\ \end{bmatrix}. $$

This results in the sum of four terms:

$$ v_{C1} b_{C1, J1} y_{J1, U} + v_{C1} b_{C1, J2} y_{J2, U} + v_{C2} b_{C2, J1} y_{J1, U} + v_{C2} b_{C2, J2} y_{J2, U} $$

Breaking this down by sector involves grouping these terms under either sector 1 and 2. There are two ways to do this:

Sector 1 Sector 2
Option 1 $v_{C1} b_{C1, J1} y_{J1, U}$
$v_{C1} b_{C1, J2} y_{J2, U}$
$v_{C2} b_{C2, J1} y_{J1, U}$
$v_{C2} b_{C2, J2} y_{J2, U}$
Option 2 $v_{C1} b_{C1, J1} y_{J1, U}$
$v_{C2} b_{C2, J1} y_{J1, U}$
$v_{C1} b_{C1, J2} y_{J2, U}$
$v_{C1} b_{C1, J2} y_{J2, U}$

The first approach groups sectors by the origin of value-added. The second approach groups sectors by what $J$ exports to $U$. These are called, respectively, the sector breakdown by origin sector and by export sector. They are obtained by diagonalizing either $\mathbf{v}_C$ or $\mathbf{v}_{C} \mathbf{B}_{CJ}$. To demonstrate,

$$ \begin{alignat*}{3} & \hat{\mathbf{v}}_C \mathbf{B}_{CJ} \mathbf{y}_{JU} & &= \begin{bmatrix} v_{C1} & 0 \\ 0 & v_{C2} \\ \end{bmatrix} \begin{bmatrix} b_{C1, J1} & b_{C1, J2} \\ b_{C2, J1} & b_{C2, J2} \\ \end{bmatrix} \begin{bmatrix} y_{J1, U} \\ y_{J2, U} \\ \end{bmatrix}\\ & & &= \begin{bmatrix} v_{C1} ( b_{C1, J1} y_{J1, U} + b_{C1, J2} y_{J2, U} ) \\ v_{C2} ( b_{C2, J1} y_{J1, U} + b_{C2, J2} y_{J2, U} ) \\ \end{bmatrix} \\ \\ & \widehat{\mathbf{v}_C \mathbf{B}_{CJ}} \mathbf{y}_{JU} & &= \begin{bmatrix} v_{C1} b_{C1, J1} + v_{C2} b_{C2, J1} & 0 \\ 0 & v_{C1} b_{C1, J2} + v_{C2} b_{C2, J2} \\ \end{bmatrix} \begin{bmatrix} y_{J1, U} \\ y_{J2, U} \\ \end{bmatrix} \\ & & &= \begin{bmatrix} ( v_{C1} b_{C1, J1} + v_{C2} b_{C2, J1} ) y_{J1, U} \\ ( v_{C1} b_{C1, J2} + v_{C2} b_{C2, J2} ) y_{J2, U} \\ \end{bmatrix} \end{alignat*} $$

More elaborate decompositions allow for more approaches. For example, consider $\mathbf{v}_C \mathbf{B}^d_{CC} \mathbf{A}_{CJ} \mathbf{B}^d_{JJ} \mathbf{y}_{JU}$ — value-added from $C$ sent as intermediates to $J$, who completes it into final goods that are then exported to $U$. In this case, sectors may be broken down by (1) value-added origin, (2) the sector in $C$ that exports to $J$, (3) the sector in $J$ that imports from $C$, and (4) the sector in $J$ that exports to $U$. The particular sector breakdown chosen will depend on the research question at hand.

The ADB MRIO

The Asian Development Bank (ADB) Multiregional Input–Output (MRIO) Database is a time series of intercountry input–output tables. Originally an extended version of the World Input–Output Database, 2013 release, it is now maintained and updated yearly by a dedicated team in ADB. Information on cross-sectoral linkages are provided for 72 countries and economies plus a residual “Rest of the world” entity. Each country is divided into 35 sectors, based on Table A2 of Timmer, et al. (2015). There are five final demand categories: household final consumption expenditure (FCE), non-profit institutions serving households FCE, government FCE, gross fixed capital formation, and changes in inventories. A schematic representation of each MRIO table is given below.

Officially published national supply–use tables (SUTs) and/or input–output tables (IOTs) serve as benchmarks in the construction of the ADB MRIO. In each national SUT or IOT, sectoral and product classifications are harmonized to follow the 35 sectors, and whenever necessary, SUTs are transformed into IOTs following the industry technology transformation assumption discussed in European Commission (2008). Published estimates of gross output, gross value added, taxes less subsidies on products, imports, and exports sourced from national statistical agencies and central bank databases are used as control totals. The structure of imports and exports are based on bilateral trade data extracted from the United Nations COMTRADE Database and government trade and balance of payments statistics. Once the national IOTs are integrated into the MRIO, accounts for the sectors of “Rest of the world” are manually and systematically adjusted to ensure consistency with economy–sector totals in the MRIO.

Processing from Excel

Loading the raw Excel file of the MRIO using Pandas results in an unwieldy table:

The notebook process-mrios.ipynb converts this to a machine-readable format:

The cleaned tables are then saved as space-efficient Parquet files in data/interim/.

Extracting key values

The notebook summary-table.ipynb extracts the following key values for each country-sector from the cleaned MRIO tables:

  • x: total output
  • zuse: intermediate use
  • va: value added
  • zsales: intermediate sales
  • y: final sales
  • ez: exports of intermediates
  • ey: exports of final goods
  • e: total exports

The tables are first queried using DuckDB's SQL functionality.

import pandas
import duckdb

mrio = duckdb.sql(
    f"""
    SELECT * EXCLUDE(C0)
    FROM read_parquet('../data/interim/{inputfolder}/{file}')
    """
).df()
mrio = mrio.values

Vectors and matrices of interest are then extracted. The custom function zeroout() is described in detail here.

import numpy as np
from functions import zeroout

x = mrio[-1][:(G*N)]
Z = mrio[:(G*N)][:, :(G*N)]
zuse = np.sum(Z, axis=0)
zsales = np.sum(Z, axis=1)
va = np.sum(mrio[-7:-1][:, :(G*N)], axis=0)
Y_big = mrio[:(G*N)][:, (G*N):-1]
Y = Y_big @ np.kron(np.eye(G), np.ones((f, 1)))
Zd = zeroout(Z @ np.kron(np.eye(G), np.ones((N, 1))), inverse=True)
Yd = zeroout(Y, inverse=True)
y = np.sum(Y, axis=1)
ez = np.sum(Zd, axis=1)
ey = np.sum(Yd, axis=1)

The output from this notebook is saved as summary.csv in data/final/.

MRIO countries and sectors

Countries

The MRIO identified 62 countries and economies and a residual Rest of the World entity. In 2022, it was expanded to separately identify an additional 10 countries (numbers 63-72 below).

MRIO code Name MRIO code Name
1 AUS Australia 38 SVK Slovak Republic
2 AUT Austria 39 SVN Slovenia
3 BEL Belgium 40 SWE Sweden
4 BGR Bulgaria 41 TUR Turkey
5 BRA Brazil 42 TAP Taipei,China
6 CAN Canada 43 USA United States
7 SWI Switzerland 44 BAN Bangladesh
8 PRC People's Republic of China 45 MAL Malaysia
9 CYP Cyprus 46 PHI Philippines
10 CZE Czech Republic 47 THA Thailand
11 GER Germany 48 VIE Viet Nam
12 DEN Denmark 49 KAZ Kazakhstan
13 SPA Spain 50 MON Mongolia
14 EST Estonia 51 SRI Sri Lanka
15 FIN Finland 52 PAK Pakistan
16 FRA France 53 FIJ Fiji
17 UKG United Kingdom 54 LAO Lao People's Democratic Republic
18 GRC Greece 55 BRU Brunei Darussalam
19 HRV Croatia 56 BHU Bhutan
20 HUN Hungary 57 KGZ Kyrgyz Republic
21 INO Indonesia 58 CAM Cambodia
22 IND India 59 MLD Maldives
23 IRE Ireland 60 NEP Nepal
24 ITA Italy 61 SIN Singapore
25 JPN Japan 62 HKG Hong Kong, China
26 KOR Republic of Korea 63 ARG Argentina
27 LTU Lithuania 64 COL Colombia
28 LUX Luxembourg 65 ECU Ecuador
29 LVA Latvia 66 ARM Armenia
30 MEX Mexico 67 GEO Georgia
31 MLT Malta 68 EGY Egypt
32 NET Netherlands 69 KUW Kuwait
33 NOR Norway 70 SAU Saudi Arabia
34 POL Poland 71 UAE United Arab Emirates
35 POR Portugal 72 NZL New Zealand
36 ROM Romania 73 RoW Rest of the world
37 RUS Russia

Sectors

MRIO code Name Short name ISIC 3.1
c1 Agriculture, hunting, forestry, and fishing Agriculture A-B
c2 Mining and quarrying Mining C
c3 Food, beverages, and tobacco Food & beverages D15-16
c4 Textiles and textile products Textiles D17-18
c5 Leather, leather products, and footwear Leather D19
c6 Wood and products of wood and cork Wood D20
c7 Pulp, paper, printing, and publishing Paper D21-22
c8 Coke, refined petroleum, and nuclear fuel Refined fuels D23
c9 Chemicals and chemical products Chemicals D24
c10 Rubber and plastics Rubber D25
c11 Other non-metallic mineral Other minerals D26
c12 Basic metals and fabricated metal Metals D27-28
c13 Machinery, not elsewhere classified Other machinery D29
c14 Electrical and optical equipment Electricals D30-33
c15 Transport equipment Transport equipment D34-35
c16 Manufacturing, not elsewhere classified; recycling Other manufacturing D36-37
c17 Electricity, gas, and water supply Utilities E
c18 Construction Construction F
c19 Sale and repair of motor vehicles and motorcycles; retail sale of fuel Sale of motor vehicles G50
c20 Wholesale trade, except of motor vehicles and motorcycles Wholesale trade G51
c21 Retail trade and repair, except of motor vehicles and motorcycles Retail trade & repair G52
c22 Hotels and restaurants Hotels & restaurants H
c23 Inland transport Inland transport I60
c24 Water transport Water transport I61
c25 Air transport Air transport I62
c26 Other supporting transport activities Other transport services I63
c27 Post and telecommunications Telecommunications I64
c28 Financial intermediation Finance J65-67
c29 Real estate activities Real estate K70
c30 Renting of machinery & equipment and other business activities Other business services K71-74
c31 Public administration and defence; compulsory social security Public administration L
c32 Education Education M
c33 Health and social work Social work N
c34 Other community, social, and personal services Other personal services O
c35 Private households with employed persons Private households P