Input-output tables

The input-output table (IOT) “combines” the supply and use tables into a single table. Since the SUT is an industry (activity) by product framework, these combined IOTs are symmetric (SIOT) and can be either industry by industry or product by product. How this is done is best illustrated by the SNA example presented earlier.

Use table in basic prices

Before we can continue, we need to convert the use table in current values into one in basic prices. This is done by subtracting the taxes and margins tables. For the SNA example the trade and transport margins, product taxes and product subsidies tables are as follows:

Subtracting these three tables from the use table results in the use table in basic prices:

Note that the sum of the tax and subsidies tables subtracted from the use table is added back as row 7a, leaving the column totals unaffected. For the margin tables the margin row totals are added to the service rows to which trade and transport belong (in our case row 3 “Serv 1”).

For the compilation of the domestic input-output tables we need to know what part of the use table comes from domestic supply and what part from imports. To facilitate this, one needs to compile an import table, as in the SNA example below:

By subtracting the import table from the use table (in basic prices) we obtain the domestic use table in basic prices:

Derivation of additional tables in NA Builder

As an example of the above transformations, we show a framework where the special margins, taxes (3 types: VAT, import and other), subsidies and imports tables for 2010 are prepared using the full tables for 2015 and incomplete data for 2010:

The framework details are (these can be obtained from the system sheet "Info"):

The implementation list in NA Builder consists of these 57 sheets:

While developing such a framework certainly takes some time, the advantage is that it can be re-used for tables of any size based on any classifications, for any years. Re-usability is one of the key features of NA Builder.

Aggregating the example

To illustrate the derivation of IOT for the total economy, we will aggregate the SNA supply and use table (in basic values) further as follows:

The tables can then be combined as follows (Exports, HFE and GCF merged into “Final demand”; DP.R and DP.NR merged with final demand):

The four models for SIOTs

To derive the industry SIOT we need to move secondary output for a particular industry (column in the supply table) up or down the column to the corresponding position of main output for that industry. The corresponding rows in the use table should of course also change. How do we calculate these changes? The total change over the rows in the use table must be equal to the value of secondary output moved (10 or 56). We can proportionally allocate these values over the use rows in two ways: we can apply the structure of the row where the secondary output comes from or the structure of the row where the secondary output goes to. Let us investigate the first possibility:

This is known as the assumption of fixed product sales structures, which we will label model 4 (“M4”) which is “model D” in the Eurostat IOT manual. The idea is that each product has its own specific sales structure, irrespective of the industry where it is produced. The term "sales structure" indicates the proportions of the output of a product in which it is sold to the respective intermediate and final users. So for the 10 units of output we want to move up we must calculate the row with sales structures in the “Serv” row of the use table. There are three of these structures: 250/1364*10 = 1.83, 324/1364*10 = 2.38 and 790/1364*10 = 5.79. In the use table these numbers must be subtracted from the second row and added to the first row. A similar exercise can be done to move the 56 secondary output for the “Serv” industry down. These two sets of changes and the resulting tables are as follows:

The second way we can allocate the secondary output is if we can use the structure of the row where the secondary output goes to:

This is known as the assumption of fixed industry sales structures. In this case each industry has its own specific sales structure, irrespective of its product mix. So for the 10 units of output we want to move up we must calculate the row with sales structures in the “Prod” row of the use table (this fixed row is used for all secondary outputs). There are again three of these structures: 1003/2240*10 = 4.48, 258/2240*10 = 1.15 and 979/2240*10 = 4.37. A similar exercise can again be done to move the 56 secondary output for the “Serv” industry down. These two sets of changes and the resulting tables are as follows:

The final table (rows 11,..,14) is labeled M3 (model C). This SIOT is of course different from M4. Although this may not be evident in the above small 2x2 setup, this SIOT could have negative elements, for example in a more disaggregated form when there would not have been final demand in a particular row where secondary output exists.

For the industry models M3 and M4 we converted the SUT into SIOT from the industry perspective, by moving secondary output up or down the industry columns of the supply table, with similar movements in the use table. We can switch perspective and move secondary output left or right across the product row of the supply table, again with similar movements in the use table. As before we have two possibilities: we can use the structure of the column where the secondary output comes from or the structure of the column where the secondary output goes to. Let us investigate the first possibility:

The actual calculations are similar as before but the use ratios are now calculated by column. In this case each industry has its own input structure and if we move the secondary output for the “Prod” industry, we must use the input structure for that industry. The three ratios are: 1003/2194*10 = 4.57, 250/2194*10 = 1.14 and 941/2194*10 = 4.29. The calculations are as follows:

The “final” table (rows 11,..,14) is now a product by product SIOT labeled M2 (model B). Note that no negatives can arise in this case since one will never subtract more of an input then there is.

The other possibility (M1, model A) is that we use the structure of the column where the secondary output goes to:

The ratios are now calculated for the column where the secondary output goes to: 258/1410*10 = 1.83, 324/1410*10 = 2.30 and 828/1410*10 = 5.87. Unlike the previous case negative numbers may appear.

We have now reviewed the four available methods to reallocate secondary output and come to a SIOT. The input-output values are different for the various approaches, as can be seen in the following table:

We see from the above analysis that there is no single unique way to derive an input-output table from a given SUT.

The SIOT derivation formulas

These tables are best calculated in Excel, using array formulas. This is best done using the following symbolic representation of the above derivations. To do this, let’s use the following symbols (“T” stands for “transpose”)

Next, let’s introduce the following matrices (inv() is the inverse operation, diag() is the diagonalization operation):

The product SIOTs can then be derived as:

The industry SIOTs can then be derived as:

Almon's method

Note that M1 and M3 contain inverses, which can result in negative values, which are of course not correct for intermediate consumption. There is a nice method developed by Clopper Almon which will prevent these negative values from appearing (see Eurostat Manual of Supply, Use and Input-Output Tables 2008 edition, box 11.7). We can show how this changes the SIOT using an example coming with NA Builder:

The supply table:

The use table:

We can specify an IO rule in NA Builder, here for type = 1 (M1):

This gives a valid SIOT:

We now slightly change the use table making the two minor inputs for A1 and A2 a little smaller (chocolate for cheese and rennet for ice cream):

We then get for M1:

The negative elements and hence the effect of small (perhaps even erroneous) inputs on the SIOT are unacceptable. Using the same data, the Almon algorithm (which is type 6 in the NA Builder IO rule) gives back the table without negatives, which is in fact equal to the earlier M1 table based on the slightly higher minor inputs:

Hybrid technology assumption

For product tables it is possible to use a mix of product and industry technology assumptions (M1 and M2). This is explained in box 11.1 of the Eurostat Manual of Supply, Use and Input-Output Tables 2008 edition. As is explained there the product technology assumption is most suitable for subsidiary production while the industry technology assumption applies best to cases of by- or joint production. To combine the two methods one would need to divide the supply table in two parts: one which contains the primary and subsidiary products, and another which contains the by- or joint products. The product technology is applied to the first part, the industry technology to the second. This is called a “mixed” or “hybrid” technology model. This method is also implemented in NA Builder as type 5. Here is a framework implementing the Eurostat example, with the supply table in sheet “s”, the use table in sheet “u” and the selection table in sheet “msel” (empty cells default to M1):

The IO rule is then specified as follows:

This will indeed give the same result in sheet “mh” as in box 11.1:

Implementing SIOTs in NA Builder

There is a SIOT implementation included with the application:

This framework contains a script “IO” which will create the SIOTs M1, M2, M3, M4 and the Almon SIOT on the following SUT in basic values (with imports added as negative in the use table):

This SUT can easily be made arbitrarily large by editing the classification in sheet “ClasIt” (select any classification item in column B and click on “Edit”).

Yellow code cells indicate locked cells, which cannot be removed (because these are used by rules), but an arbitrary number of rows in between can be added; here “C_2” is replaced with “new1” and “new2”:

Setting up the sheets again will give the following use table:

The rules and scripts do not have to be changed and will work on the tables no matter how large.

As an example of using these procedures in practice we show the SIOT framework used for the SUTs in basic values derived earlier:

Again, although developed for particular classifications (as used by the European transmission programme for SUIOT) these can be modified in any way needed without changing the functionality.

Input-output Analysis

An important application of input-output tables is input-output analysis, of which we will give a brief impression here. Starting point are the input-output coefficients which are obtained from the SIOT, e.g. for M3 by dividing by column totals:

The idea of an input-output table is that it allows one to construct total output in an industry by following its products as they are used either as inputs in other industries or as final demand. This is captured for our 2x2 case by the following equations:

x11 + x12 + x1d = x1

x21 + x22 + x2d = x2

Here we use the following symbols:

xij = output from industry i used in industry j

xid = (net) final demand for output of industry i

xj = output of industry j

The first equation says that x11 units of output of the “Prod” industry are used by the “Prod” industry itself, x12 units of output of the “Prod” industry are used by the “Serv” industry and x1d units of output of the “Prod” industry are used up as final demand. The sum of these outputs equals total output of the “Prod” industry, denoted as x1.

We can define input-output coefficients by dividing the inputs by the total industry output as aij = xij/xj which can be rewritten as or xij=aij xj and substituted in the above equations, giving:

a11x1 + a12x2 + x1d = x1

a21x1 + a22x2 + x2d = x2

These two equations can be combined by using matrix notation as:

Ax + Y = x

Here A is the matrix (or table) with input coefficients (a11, a12, a21, a22), Y is the column with final demand values (x1d, x2d) and x is the column with output values (x1, x2).

We can manipulate the above matrix equation as if it contained single numbers:

x-Ax = Y

(I-A)x = Y

I = unit matrix

(I-A) = Leontief matrix

The solution of this linear equation system is:

x = (I-A)-1 Y

(I-A)-1 is the inverse of the matrix (I-A) and is called the Leontief inverse. For our example we have:

Multiplying this inverse with the column of final demand for M3 (column 1 in the table below) gives us output (column 2):

Of course, the calculated output numbers 2194 and 1410 are not new, these were the total outputs of the “Prod” and “Serv” industries in the original SUT. However, once these statistical data on output have been “encapsulated” in the coefficients of matrix A, the Leontief inverse can be used to calculate other output configurations given other values for final demand. For example, in column 3 in the table above we change final demand for products with 10 units, and leave the demand for services the same (e.g. by lowering a product tax or providing a product subsidy). Applying the Leontief inverse as before will give us the change in output in column 4: 19 units of products more produced (rather than the additional 10 for which there is extra final demand) and 3 units of services, for which there was no extra demand at all. Columns 5 and 6 present the reverse case, with extra demand for services only. The reason for these unexpected results are the inter-linkages in the economy as modeled by the input-output relationships, with extra demand for products inducing extra demand for input services as well. These extra services in turn require additional products for the deliverance, so an additional cycle of extra product demand starts, and so on ad infinitum. It would be impossible to derive these predications directly from the SUT, and it is for this reason that the SIOT is likely to be more important for economic analysis than the SUT.

In the typical NA Builder SIOT frameworks there is a script to compile the Leontief matrix as well as output multipliers, income multipliers, income effects, GVA multipliers, GVA effects, employment multipliers and employment effects for the industries contained in the SIOT.