An Algorithm to Balance Supply and Use Tables

Contributor Notes

Author’s E-Mail Address:

A Supply and Use Table (SUT) serve to increase the quality of GDP and related aggregates by providing a framework to detect and resolve inconsistencies in data sources. SUTs are also a powerful analytical tool that permit users to access information on detailed production functions, consumption, export, and import baskets, or to derive input-output tables. SUT compilation is data intensive and requires a balancing process. The balancing procedure is labor intensive and generally requires several long and sometimes tedious iterations, which has an adverse effect on timeliness. This note describes a basic algorithm developed by the IMF to balance supply and use tables automatically, allowing a much faster SUT balancing process. For training purposes, this algorithm has been implemented as an Excel tool SUTB, making it operational almost globally. The optimization process is illustrated with an example.


A Supply and Use Table (SUT) serve to increase the quality of GDP and related aggregates by providing a framework to detect and resolve inconsistencies in data sources. SUTs are also a powerful analytical tool that permit users to access information on detailed production functions, consumption, export, and import baskets, or to derive input-output tables. SUT compilation is data intensive and requires a balancing process. The balancing procedure is labor intensive and generally requires several long and sometimes tedious iterations, which has an adverse effect on timeliness. This note describes a basic algorithm developed by the IMF to balance supply and use tables automatically, allowing a much faster SUT balancing process. For training purposes, this algorithm has been implemented as an Excel tool SUTB, making it operational almost globally. The optimization process is illustrated with an example.


GDP occupies a central role in macroeconomic analysis and policy decision making. Derived aggregates such as household consumption, government debt ratios, capital formation (investment), international trade, and industrial value added are equally relevant. Relationships among the various variables involved in GDP compilation, including sectors, activities, products, deflators, and valuation provide additional layers of analytical wealth.

The quality and robustness of GDP and its components are enhanced by the supply and use table (SUT) framework. SUTs are accounting schemes in the form of matrices that record supplies of different goods and services that originate from domestic industries or imports and how these supplies are allocated to various intermediate or final uses, including exports (1993 SNA, 1.16; 2008 SNA, 1.24). It leads to more consistent and robust GDP estimates.

SUTs are also the basis for deriving input-output tables (IOT), which provide a powerful additional analytical dimension to the national accounts statistics. Input-output analysis focuses on the direct and indirect relationships among producing industries and final uses of products. A well-known use of IOTs is the Leontief2 model where a variety of multipliers can be derived. Multipliers will reflect, for instance, the direct and indirect effect on production that derive from changes in final demand. IOTs were originally developed for economic planning purposes but they have remained useful for national accounts beyond those original purposes. For instance, the trade in value added (TiVA)3 initiative is based on the relationships within IOTs.

Compiling SUTs is data intensive and its balancing process can be time consuming. SUTs are intended for organizing production information by economic activity, government, and household final consumption, investment, and international trade – including other valuation concepts data such as taxes—broken down by products. Balancing product lines in the SUT generally takes numerous iterations over long periods of time (e.g. several months). Statistically advanced countries compile annual GDP using the SUT framework, while less developed may compile SUT once every several years.

Automated balancing procedures can expedite the SUT compilation. Even when the most significant adjustments are carried out to achieve consistency, a fully balanced SUT is achieved by allocating the remaining discrepancies across some of its components. The discrepancy allocation should be based on the components’ relative reliability. Less reliable data would be subject to relatively higher adjustments. Reliability criteria should be based, as much as possible, on objective parameters. Automating the discrepancy allocation can significantly reduce the processing time to achieve the balance.

The IMF Statistics Department has developed an algorithm based on standard reconciliation methods. The training program on national accounts compilation includes the development and improvement of supply and use tables employing a tool to organize the SUT balancing process in an automated fashion: the SUTB. This function is based on a restricted generalized least squares (GLS) method to distribute all discrepancies within the system. It is a popular method, although there are others.4

The SUT algorithm can be used in an Excel environment. Any user with a compatible Excel version can use the tool. The algorithm works on Excel spreadsheets, similar to other Excel functions. Input data are taken from spreadsheets and the output (the adjusted SUT) is displayed directly from the formula. This feature reduces the processing time and allows to perform iterative sensitivity analyses.

When the informed balancing decisions have been made, the SUTB could be used to achieve balanced GDP estimates. When significant adjustments have been carried out, discrepancies typically remain. Fine tuning the final adjustments to achieve full balance could be facilitated by the SUTB. Given its simplicity and speed, rough balances could be performed to flag major discrepancies and to determine potential preliminary adjustments.

“In spite of the best endeavours of statisticians, national accounts contain statistical discrepancies, residual errors, unidentified items and other balancing entries, evidence of the difficulties arising from the fact that the information available is in some degree incomplete, inconsistent and unreliable. These difficulties are not peculiar to economics: they have long been recognised in the physical sciences, and methods of combining and adjusting measurements have been devised. Thus, about a hundred years ago, Merriman (1884; 8th edn, 1911, p. 1) wrote: ‘The absolutely true values of the observed quantities cannot in general be found, but instead must be accepted and used values, derived from the combination and adjustment of the measurements, which are the most probable, and hence the best.’”

— Richard Stone, Nobel Memorial Prize in Economic Sciences, 1984

Balancing the national accounts: the adjustment of initial estimates—a neglected stage in measurement.’ (1984)


A supply and use table (SUT) is a detailed accounting or information system that is composed of a supply matrix and a use matrix. The supply matrix contains the information related to the products available in an economy while the use matrix contains the information on how these products are used in the economy, for example whether for consumption, exports, or stocked for future use. The relationship between the supply and use of goods and services in an economy is an expression of the accounting definition of GDP. Algebraically:


where C is household final consumption, G government final consumption, I investment, X exports, and M imports. The value added is output (0) net of intermediate consumption (IC).


Rearranging terms:


SUT is a vehicle through which these macroeconomic concepts are expressed at a microeconomic level. Both the supply and use matrices are built using product breakdown so that the aggregates (exports, for instance) are expressed by goods and services rather than as totals. Similarly, the output and intermediate consumption is shown by an industrial breakdown as opposed to total output and total intermediate consumption. SUT is a two-dimensional scheme that permits detailed analyses of production functions by industry, and of expenditure components, and international trade by product. The product (goods and services) classification includes, for instance: vegetables, gold, cigarettes, computers, haircuts, and medical services. The industrial classification includes, for instance: agriculture, manufacturing, and services. Extended SUT versions also include additional income component breakdowns.

The supply matrix is composed of two sub-matrices: output and import. The total amount of a product available in the economy must be supplied either by domestic production (output) or by imports. Given that output is recorded by products and by industry, it shows which industry supplies or “makes” what products so that this matrix is sometimes referred to as the make matrix (2008 SNA par. 14.20). The import matrix displays the imported goods and services as a column vector. Output and imports may be recorded using different valuations, i.e. using prices that could include or exclude taxes and/or transport and trade margins. Total supply, however, should include all of these valuation layers to ensure consistency with total use recorded at market prices. The supply matrix will, therefore, have to include all valuations as needed (taxes, subsidies and margins) so that production and imports are expressed at market prices (see Figure 1).


Supply Matrix

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

Source: Scheme taken from Table 14.12 in the 2008 SNA.

The use matrix records how the available products in an economy are employed. The total amount of products supplied to an economy within a given period must be either used for intermediate or final consumption, for capital formation (including changes in inventories), or export (equation 2). Intermediate consumption records the products used by each industry to produce the corresponding output recorded in the make matrix. The intermediate consumption matrix is sometimes referred to as the absorption matrix (2008 SNA par. 14.87). As shown in Figure 2, the final demand components are displayed as six column vectors: final consumption expenditure by household, non-profit institutions (NPISHs), government, gross fixed capital formation, changes in inventories, and exports. An additional row-vector can be found underneath the absorption matrix, which records the difference between the industry total output and its intermediate consumption: the industry value added.5


Use Matrix

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

Source: Scheme taken from Table 14.12 in the 2008 SNA.

These matrices require itemized source data for each of the components. It is generally easier to obtain information on the total production of an entity than product by product. For instance, enterprises may provide the value of their total production (or sales) but not necessarily the itemized production. This applies also to the production inputs. Production functions often require more itemized inputs than they produce output. Detailed data are more difficult to collect, and are generally less reliable. Nonetheless, some supply or use components may be directly collected at a product level such as exports and imports, and household final consumption expenditure. Comprehensive survey programs are often required to compile SUTs along with complementary administrative sources.

The statistical nature of the source data results in supply and use imbalances. Even when making the best use of available information, independent estimates of product supply and corresponding uses will be subject to some level of discrepancy. Differences in methodologies, surveys statistical errors, classification mismatches, and different levels of aggregation are some of the possible reasons for discrepancies. Managing the allocation of these discrepancies is the process by which less reliable data are adjusted in favor of the more reliable ones to improve the estimates.

The SUT framework is the best available system to organize, display, and contrast detailed statistics on production, expenditure, and income in an economy. The supply matrix can be compared with the use matrix (as in equation 2) resulting in a SUT (see Figure 3). The sum of all components in each row of the supply matrix are expected to equal the sum of all components in each row of the use matrix. This framework has several advantages: it enables data reconciliation at a product level; facilitates appropriate volume estimation (double deflation6); enables the generation of input-output tables; provides the economic structures (weights) for price and activity statistics (consumer, producer, export and import price indices, and industrial production, retail sales indices, etc.); and permits the inclusion of additional breakdown such as by institutional sector.


A Supply and Use Table7

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

Source: Scheme taken from Table 14.12 in the 2008 SNA.


GDP (Productionapproach)=VA+Mg+TGDP (Expenditureapproach)=FCE+CF+XM

Where VA is value added generated by industries; Mg are the trade and transport margins; T represents taxes minus subsidies on products; FCE is final consumption expenditure (households, government and NPISH); CF is capital formation (including changes in inventories); X are exports; and M, imports.

Many countries do not work with SUTs on an annual basis because of the data and resources required.8 SUTs are data intensive, and many countries do not have this detail available in on a continuous basis. In addition, once the data are plugged into a SUT, the balancing process to achieve consistency must be undertaken. This process is time consuming, adds to the compilation process, and requires additional skills to avoid subjective or biased adjustments. Given the resource constraints in many countries, SUTs tend to be compiled once every several years. Development of detailed source data and capacity building are key elements to develop good quality SUTs.9

A well-managed balancing process, should lead to statistically enhanced GDP estimates. Countries with well-developed statistical systems and a longstanding tradition of compiling SUT base their annual GDP compilation on such a framework. 10 On the other hand, countries with less developed statistical systems compile SUT only once every several years and with significant delays. However, notwithstanding the benefits derived from this framework, reconciliation processes that are not carefully designed may generate spurious results and will add uncertainty to other estimates in the system.


Balancing SUT is carried out on a product by product basis and requires adjusting one or more variables in the equation. The challenge to achieving a product balance is to determine, what variable or variables are more likely to be causing the imbalance. For example, it could be that there is too much production for the estimated uses, or there is too little use to exhaust the production and imports. Or is it both? Compilers’ experience and a deep understanding of the input data are needed to achieve reliable balances. In addition to product balance, the process may also require maintaining certain structures as stable as possible simultaneously. For instance, if the amount of flour available to produce bread in the economy appears to be unreliable (due to technical coefficients, e.g.: 10 oz. of flour = 16 oz. of bread), adjustments may be needed to the production (or imports) of flour; adjustments to the production of flour will require adjustments to imports or production of wheat; adjusting the production of wheat may require increasing the intermediate consumption of fertilizers (chemicals) and machinery; and so on.


Balancing the Supply and Use

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

Discrepancies reflect the relative weakness of the input data. The choice of variables to adjust and the size of the adjustment should be governed by the relative reliability of the initial estimates. Hard data should be adjusted relatively less than softer data. For example, Figure 4 shows a generic product supply and use. The first row shows the initial estimates and the total supply and use are on the right and left-hand sides. The first row shows that supply exceeds use by 21 (2,170-2,149). The next rows show three possible balance alternatives. In Example 1 all data are deemed hard except for the final consumption which fully absorbs the adjustment (changes from 569 to 590 – in bold in the green cell). In Example 2 output and capital formation are adjusted. In this case, the relative reliability of output and capital formation should be considered when distributing the discrepancy. There is more than one option to achieve consistency, but the option selected will also affect the final aggregates as shown in the totals. In Example 3, every cell is deemed to be subject to adjustment, and the size of the adjustment has been calculated according to the size of the initial estimate (pro-rate type of adjustment). As in the previous case, the balance should take into account the relative robustness of the initial estimates as this will also lead to a new enhanced total.

In practice, compilers base their decisions on the knowledge of the data and their experience from previous exercises. SUT balancing would generally start with a high level “well informed” adjustment phase where source data are validated, exhaustivity analyses are performed, and specific products are balanced using alternative sources of information.11 Several analytical iterative rounds follow the initial imputation phase in which product balances are analyzed simultaneously with the aggregate preliminary results. For instance, during this phase, estimates of the non-observed economy are analyzed and put in contrast to other related statistics. Various ratios (e.g. input-output relationships, labor productivity, and export/import ratios) are also calculated to analyze, compare, and validate the estimates.

SUT balancing should also consider the volume and price dimensions. Similar to some other macroeconomic aggregates, the SUT can be expressed in “constant prices” or “real terms”. This implies that the relationships between current and constant SUT values are product-level implicit prices or deflators. These additional dimensions provide further structure to the SUT given the economic relationships that are expected to hold in real terms and the additional information on prices and their reliability. Any adjustment to the values in a SUT will have an effect in real terms and vice-versa, so when balancing a SUT both valuations must be considered so that the implicit deflators are consistent with (or the same as) the observed prices.


One standard mechanical adjustment procedure is the proportional distribution of discrepancies. Pro-rata can be used to allocate discrepancies to one or several components according to a “proportional” distribution. In general, proportionality is directly derived from the relative size of the variables on either the total supply or use. This way, the “product balance” can be simply achieved, as in Example 3 in Figure 4, where the size of the initial observation determines the proportion of the adjustment. This approach works only in a single dimension of a system and only considers the relative size of the observation to spread the discrepancy, i.e. omits any information on reliability of input data.

A similar approach can be applied to double-entry tables by proportionally distributing discrepancies iteratively. Bi-proportional adjustments can also be performed so that discrepancies are distributed considering more than one constraint on a single variable, for instance a product that needs to comply with the total supply and the total output simultaneously. Double entry tables are an example of these bi-proportional problem since they require the inner values to add to column and row totals. For instance, a matrix showing the production of certain crops by region would have to include the regional and crop type totals, and the inner data (detail) should match those totals. If we assume three regions and three crop types , the system would be as shown in Figure 5.


Example—Double-entry Table

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

where Σjai,j = Ri and Σiai,j = Cj

Each of the inner variables needs to be adjusted in such a way that it complies with the row and column totals. Let’s suppose that the crops are cotton, peanuts, and rice and the regions are the eastern, northern, and southern. Thus, the cotton produced in the eastern region is part of 2 totals, the total production (all crops) of the region and the country total production of cotton. If the totals are derived from the sum of the components, there would not be a problem. However, totals may come from relatively more comprehensive surveys, while more detailed data—crop by region— may come from less reliable sources creating discrepancies that have to be distributed according to the two dimensions, regions and crops.

Reconciliation of systems of data has been a long-standing issue for both economists and statisticians. Different theoretical approaches may be constrained by the computational capacity available over time. Stone’s et al. (1942) proposal on reconciling national accounts estimates is regarded as a least square procedure according to various later authors such as Byron (1878), van der Ploeg (1982), and Weale (1988). Given its relatively lighter computational burden, Bacharach’s iterative bi-proportional adjustment, the (1965 1971) RAS12 method became widely used for double-entry data system balancing. This procedure adjusts the inner variables (ai,j) by an iterative proportional distribution of discrepancies, i.e. the difference between the sum of components and the total by column and then by row. Applying this procedure iteratively will converge to small discrepancies.

Least squares techniques permit multidimensional non-iterative distribution of discrepancies. In this case, the inner data are adjusted to fulfill simultaneously horizontal (row) and vertical (column) constraints. The method minimizes the proportional distribution of the discrepancies across two dimensions (Figure 6) such that:13


Example—Simultaneous Equations Representing Double-entry Table Restrictions

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

The RAS and GLS methods are based on proportional distributions of discrepancies and are easy to implement, but require enhancements. Under some basic assumptions, the size of the original estimates determines the size of the relative adjustment. Ignoring the reliability of the original estimates may produce undesired results, since the large components will be adjusted proportionally more even if they are reliable. These methods, however, can be enhanced to incorporate information on the robustness of initial estimates. This way, the proportional adjustment to initial estimates is controlled by their reliability. As an extreme case, a fully reliable figure should not be adjusted regardless of its size.

SUTs fit the definition of double entry systems making them a natural candidate for reliability-driven adjustment procedures: These are large double-entry systems of well-structured data, restricted by numerous accounting constraints, whose input data should be adjusted according to their relative degrees of robustness. SUTs are also estimated at current and constant prices so reliability of the price volume decomposition can play a role in the balancing process.


SUTs have a more complex setup than the double entry table with marginal totals. First, SUTs may not have explicit constraints to match (total output for instance) but instead have implicit constraints such as total supply must equal total use. Some constraints may be in the form of implicit ratios within the system (tax rates on final consumption for instance), which must be linearized. Third, given the complexity of the relationships found in the SUT and their constraints, redundant and even contradicting restrictions may be put in place. The proposed algorithm must be flexible to incorporate these complexities and to be adapted to a system such as that in Figure 3. A well-known and adaptable reconciliation method, that allows solving this type of problems, was formalized by two former prominent statisticians Statistics Canada, Estela Dagum and Pierre Cholette in their 2006 book.14

The Cholette-Dagum regression-based reconciliation method is a restricted generalized least squared optimization procedure able to be applied to SUT-type settings. The Cholette-Dagum model is represented as a system of two simultaneous equations.15 The first represents the observed initial unbalanced estimates of the SUT. The second, the set of accounting relationships and their constraints. The allocation of discrepancies is governed by the covariance matrix of the model. Using the authors’ notation, the model can be represented as:


Where s represents the observed (unbalanced) initial estimates in the SUT, which are assumed to be related to the true value θ with observation errors (e). Vector g includes the constraints to the explicit accounting relationships contained in G. For instance, if a product (i) supply equals the same product’s use G would be “supplyi-usei, and gi will be 0 (zero). If such constraints are binding, for instance, to achieve perfect equilibrium (supply = use), then ε and its variance (Vε) are set to 0 (zero). E and V represent the expected value and the variance respectively.

The two equations can be nested and represented as a single equation model. The target variable θ is present in both equations, and the solution of these equations will guarantee that the estimated parameters are consistent with the initial estimates (s) while complying with the system constraints. The model is solved by a GLS algorithm enabling proportional adjustments and the inclusion of the reliability coefficients to the initial estimates (s). The model can be expressed as:


The standard GLS solution for the system is:


This solution requires the covariance matrix Vu to be invertible, and thus binding constraints are not possible. Using Byron’s (1978) approximation, the authors derive a feasible solution that admits binding constraints.16 The extended solution for this model can be expressed as:


Equation 5 implies that the initial observed values are optimally adjusted (filtered with F) to incorporate all imbalances (d) computed in [gGs]. The filter (F) includes all the information contained in Ve and assumes binding constraints when Vε = 0.17

Reliability coefficients of the original estimates s can be imposed through the variance-covariance matrix Ve. Since the allocation of discrepancies is estimated by a GLS procedure, the covariance matrix plays a central role. This matrix should contain not only the reliability of each observation in the system (their variance) but also their covariance with the other variables; but this information is almost certainly not available/estimable. If unavailable, matrices should be built including reliability coefficients to increase or reduce the variance (and derived adjustment) of the variables in the system.


The procedure previously described has been implemented in Excel. An array-based Excel formula (SUTB) is loaded on Excel as an add-in to perform the balancing process. The formula works as any other in Excel function (=SUTB(…)). The underlying procedure was developed in Matlab and is performed by Matlab Runtime, a freely available software to execute Matlab routines. The underlying codes of the process are available on request from the author of this Technical Note.18 A visual basic module performs the interaction between Excel and Matlab Runtime.

The SUTB function requires five arguments to generate a balanced SUT. The arguments are: the unbalanced SUT, three sets of accounting constraints, and a set of reliability coefficients. The unbalanced SUT will provide the total dimension of the exercise and will source the input data to estimate the discrepancies and the unconstrained proportionality of the data. The constraints are grouped by type: two accounting-type constraints (supply and use and netting adjustments) and user defined explicit constraints. All unmet restrictions will generate discrepancies. The reliability coefficients represent the relative robustness of the initial estimates. The scale of the coefficients has been defined from 0 to 100, with 100 fully reliable data and thus not subject to adjustments.

The formula arguments must keep the same structure as that of the SUT. The routine works with matrices and given that the function arguments are taken from spreadsheets, all input data must be structured in a standard format, resembling the shape of the SUT. Each cell in each matrix provides information on the same position as that in the SUT. There is no predefined template for the procedure to work, and SUTB should work (regardless of how the data are set) as long as all the inputs are consistent with the initial SUT. The layout selected for presentation and implementation purposes is a reduced form of the SUT presented in the 2008 SNA (p. 290-291). All constraints, reliability information, and output must follow this format. The output of the function will produce a balanced SUT of the same size as the original one.

A reduced version of the SUT found in the 2008 SNA is used as an example below (Figure 7). Both products and activities have been aggregated to form a 3 by 3 system (3 products and 3 activities). The first three columns correspond to the valuation components: margins, taxes and subsidies. The output is displayed by product and industry. Intermediate consumption shows the same breakdown as the output followed by the final use components. Below the product rows are three additional adjustments:

  • CIF/FOB: corrects service margins that remain embodied in the import of goods, and are reallocated to transport and insurance services. This value cancels out both by row (deducted from goods) and column (deduct double counted services).

  • Direct purchases abroad by residents: These are imports allocated to household final consumption expenditure.

  • Domestic purchases by nonresidents: These are exports and must be deducted from household final consumption expenditure.

The table in Figure 7 does not show explicit measures of GDP nor does it present the income approach. An Excel file accompanying this note provides a more detailed SUT which includes the production and expenditure measures of GDP.

The main constraints in the SUT relate to supply and use balance, also referred to as product flow. For instance, secondary product supply (74+111-5+2+1,900+56+284) must equal secondary product use (33+769+228+428+572+3+361+28); both of which equal 2,422 in this example (row 2 in Figure 7). This constraint can be set implicitly or explicitly. An implicit constraint would assume the sum of the supply minus the sum of the uses to be zero (explicit restriction), while an explicit constraint would assume the sum of supply and the sum of use to equal 2,422 (explicit restriction). Implicit constraints interact simultaneously with the other constraints in the system and thus the final estimate results from the optimization process and is not restricted to any exogenous predefined value. The tool’s setup permits both, implicit and explicit constraints, however, supply and use constraints are predefined as implicit.


A Numerical Example of a SUT19

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

Source: Scheme and values taken from Table 14.12 in the 2008 SNA.

The implementation constraint is operationalized be means of matrix multiplication (dot product). Implicit constraints (supply and use and netting adjustments) have the balance as restriction that is, the result of the operation is zero. For instance, secondary product balance (Figure 8) of the previous paragraph (row 2 in Figure 7) needs the following setting to achieve balance:


Supply and Use Constraint—The Example of Secondary Products Balance

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

This constraint reads as: the sum of supply of secondary products minus the sum of all uses of secondary products equals zero (the “0” restriction is implicit in the system. Sums are expressed as the aggregation of the values resulting from the multiplication of the value in the constraint vector’s cell with the corresponding SUT’s cell.

Implicit constraints for the netting adjustment also apply to the system and are implemented by column. For instance, trade and transport margins (column 1 of Figure 8) are applied to the various products subject to commercialization or transport as a layer in the valuation chain. However, these values are already recorded in the corresponding trade and transport product (Tertiary) so they must be netted out to avoid double-counting.20 In terms of the SUT, this requires that the vertical sum of this variable should be zero and should be expressed as shown in Figure 9:


Netting Adjustment Constraint—Trade and Transport Margins

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

Explicit constraints can be included according to user needs (Figure 10). Their implementation follows the same principles except that these constraints require explicit restrictions. Constraints may include, for instance: output, import, or export totals; input-output ratios; or margin/ tax-consumption ratios. Given that these constraints require an explicit restriction, they must be included individually and with an additional cell on the top right corner of the SUT-type template. For instance, if the total value of exports is known (say, 540) but not its product breakdown, the constraint must be expressed as:


Explicit Constraint—Total Exports

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

The constraint (column vector of ones) reads as the sum of all cell in that column (Exports of goods and services) must equal 540 – in the outer cell to the right.

The reliability coefficients determine the relative adjustment size of each cell in the system. These coefficients will reduce/amplify the adjustment performed on each observation by adjusting the relative variance of each component. Higher reliability implies a reduction in adjustments and vice-versa. As mentioned earlier, these coefficients can be generated considering previous balance experiences, sample errors of original surveys, subject matter, and the use of alternative information. For instance, some sources may be deemed highly reliable (e.g. imports) or even not subject to adjustments at all (e.g. government consumption). Thus, their reliability coefficient will be high to reduce the adjustment range, reaching the no adjustment rank when the coefficient is set to its maximum. On the other hand, lower quality estimates would have a lower reliability value, say 10 (or even zero). The tool has been developed with a reliability scale between 0 and 100.

The example in Figure 11 shows that, for secondary products, imports and government final consumption expenditure (GFCE) will not be subject to adjustment, while changes in inventories will be the variable that will be adjusted relatively the most.


Example of Reliability Coefficients for Secondary Products

Citation: Technical Notes and Manuals 2018, 003; 10.5089/9781484363966.002.A001

SUTB generates a new SUT where all constraints are fulfilled, and thus GDP estimates are consistent. Although there is a limit to the number of restrictions included in the system, the tool has proved to manage real-size SUT problems with a realistic number of restrictions. The reconciliation routine includes a procedure to discard redundant constraints. Even when using the tool as a validation procedure, the results and their analyses can provide valuable insights on the adjustments required to gain full consistency. Given its speed, the tool can be used repeatedly to assess possible changes and to avoid subsequent iterations to adjust second round effects when changes are introduced.

The straightforward setup of the tool facilitates the understanding of SUT and, their underlying accounting relationships. Less statistically developed countries may find it useful to apply this tool to compile SUT and to train staff. This tool has been successfully used for training purposes.

Given its relatively low computational cost, this routine may be used to support the real-life balancing exercises in countries with limited technical capacity. Automating some parts of the balancing process may potentially shorten the delays in the production of SUT, while strengthening the reliability of GDP estimates. Once installed, the tool is flexible enough to enable users to adapt the exercise to a large number of products and industries. It may be also used as a “magnifying glass” during the early stages of the SUT compilation to detect the largest imbalances. Finally, given its speed in producing results, it may also be used to perform sensitivity analyses when different balancing alternatives are available.


This note is accompanied by the necessary files to install and run the procedure. An executable file to download and install Matlab Runtime (MyAppInstaller_web.exe), an Excel add-in to load the SUTB in Excel (SUTB.xlam). In addition, an Excel sample file containing all the inputs required to test the tool (Sample_SUT.xlsx) in included. This procedure requires a 64-bit Excel version.

To install Matlab Runtime (MCR), users need to double click on MyAppInstaller_web.exe. MCR will be downloaded and installed. Two new folders will be created with the required files and the program: (a) “C:\Program Files\IMF\SUTB” and (b) “C:\Program Files\MATLAB\MATLAB Runtime”.

To enable Excel to interact with Matlab Runtime, the FunctionWizard2007.xlam21 add-in needs to be loaded in Excel. When loaded, a new tab (Function Wizard) should appear in the upper right menu tab in Excel.

The provided SUTB.xlam file must be copied in “C:\Program Files\IMF\SUTB\application” folder and then, loaded as an add-in in Excel. Once loaded, the new formula should be available in Excel: SUTB().

The supply and use table presented in Sample_SUT.xlsx was taken from the 2008 SNA (Table 14.12). For the purposes of the example, all the sub-totals have been removed. This exercise comprises a 14-row by 45-column SUT.

The original SUT balance was broken applying random shocks. In the example, various binding constraints are imposed: supply and use balance, netting off adjustment, and various “user defined”. Reliability coefficients are assumed and assigned to each cell.

The Sample_SUT.xlsx file contains 4 tabs:22

  • SUT contains the unbalanced supply and use table (SUTu). It also includes the template to paste the results along with a set of analytical tables to assess the adjustments.

  • Basic_Constr contains both sets of implicit constraints matrices: supply and use (RT) and netting off adjustments (RC). These implicit constraints are clustered in one single matrix although each row/column represents a single row/column constraint.

  • AC contains the reliability coefficients (AM) to be used in the adjustment (between 0 to 100).100 represents a fully reliable initial estimate, and 0 an unreliable one. A value of 100 will leave the initial estimate unmodified.

  • AdC contains all user-defined additional constraints (AdC). These constraints are individually displayed and are stacked one on top of the other. These matrices include an additional cell with the restriction on the upper right corner of each matrix. AdC is an optional variable to include in the formula (can be omitted).

Al matrices in the example are formatted as the SUT for presentation purposes and include row and column titles to better identify individual cells. However, the function works with numbers only, input data must be the numerical part of the matrices. All input matrices must be of the same size, except for the one in AdC that may have a higher number of rows (depending on the number of user-defined constraints) and one extra column to record the restrictions.

The balanced SUT will be the result of the array-based formula:


The formula will calculate the upper left cell of the balanced SUT if the formula is applied in one cell. To generate the full balanced SUT, the formula must be applied as an array-formula, that is, selecting the full range of the output (the size of the SUT), writing the formula, and then pressing Ctrl + Shift + Enter.

For training and illustration purposes Sample_SUT.xlsx includes some simple artificial restricted constraints, which are then tested against the balanced results. For instance, total imports are set to be 451; and margins (Mg) of domestically consumed (FCE) manufactured goods is 12% (we assume that Mg/FCE=12%; then Mg=12%*FCE; or Mg-12%*FCE=0). As indicated previously, the restriction must me placed explicitly in the upper-right corner of the matrix (451 for the first constraint).

Additional tables have been included at the end of the spreadsheet with some analytical calculations.

The procedure can be used with SUTs other than this example as long as the size of the input variables are consistent within the formula. Moreover, with the right setting, the tool can be used to solve RAS-type problems.


  • Alexander, T., C. Dziobek, M. Marini, E. Metreau, and M. Stanger (2017), Measure Up: A Better Way to Calculate GDP, Staff Discussion Notes No. 17/02, Washington, DC: IMF

    • Search Google Scholar
    • Export Citation
  • Berry Francien, M. Iommi, M. Stanger, and L. Venter. (2018). “The Status of GDP Compilation Practices in 189 Economies and the Relevance for Policy Analysis.”, IMF Working Paper No. 18/37.

    • Search Google Scholar
    • Export Citation
  • Byron, Ray P. 1978. “The Estimation of Large Social Account MatricesJournal of the Royal Statistical Society, Series A, 141(3), 359-367.

    • Search Google Scholar
    • Export Citation
  • Chen Baoline, T. Di Fonzo, T Howells, and M. Marini (2014). “The Statistical Reconciliation of Time Series of Accounts after a Benchmark Revision”, Bureau of Economic Analysis.

    • Search Google Scholar
    • Export Citation
  • Dagum, E.B., and P.A. Cholette (2006), Benchmarking, Temporal Disaggregation, and Reconciliation Methods for Time Series, Springer edition.

    • Search Google Scholar
    • Export Citation
  • European Commission, IMF, OECD, United Nations, and World Bank. 2009. System of National Accounts 2008. New York, United Nations.

  • European System of Accounts 2010 (ESA 2010), ISBN 978-92-79-31242-7

  • Handbook on Supply, Use and Input-Output Tables with Extensions and Applications, Draft for Global Consultation, 2017. New York, United Nations.

    • Search Google Scholar
    • Export Citation
  • Eurostat. (2008) Manual of Supply, Use and Input-Output Tables (2008 ed.) Luxembourg: Office for Official Publications of the European Communities.

    • Search Google Scholar
    • Export Citation
  • Lequiller, F. and D. Blades. 2014. Understanding National Accounts (second edition). Paris, OECD.

  • Supply and Use Tables Database (OECD).

  • World Input-Output Database, (WIOD Project), European Commission (

  • Leontief, Wassily W. Input-Output Economics. 2nd ed., New York: Oxford University Press, 1986.

  • Stone, J. R. N., D. G. Champernowne, and J. E. Meade. 1941-42. The Precision of National Income Estimates. The Review of Economic Studies: 111-25.

    • Search Google Scholar
    • Export Citation
  • Stone, Richard. ‘Balancing the National Accounts: The Adjustment of Initial Estimates—a Neglected Stage in Measurement.’ In Demand Equilibrium and Trade (eds. A. Ingham and A.M. Ulph). Macmillan, London, 1984.

    • Search Google Scholar
    • Export Citation


The author is grateful to Claudia Dziobek, Rob Dippelsman, and Roberto Rosales for the support and feedback during the development of the tool. Special acknowledgment to Bertrand Gruss for his valuable comments to the note. Thanks, are also extended to Eric Metreau for his contributions to the implementation and testing of the algorithm.


Wassily Leontief: Nobel Memorial Prize in Economic Sciences in 1973.


For instance: R.A.S., Maximum entropy, and Bayesian. Other applications include the intertemporal dimension, e.g. see Chen et al. (2014). “The Statistical Reconciliation of Time Series of Accounts after a Benchmark Revision.”


This row vector can be further broken down so that the value added is expressed by income components: compensation of employees, taxes less subsidies on production and imports, gross mixed income, and gross operating surplus. This breakdown is known as the income approach for GDP.


See for example: Alexander et. al (2017), Measure Up: A Better Way to Calculate GDP, Staff Discussion Notes No. 17/02, Washington, DC: IMF


There are various formats and degrees of detail to represent SUTs. This note adopts a reduced form of the SUT presented in Table 14.12 of the 2008 SNA.


For instance: The World Input-Output Database (WIOD) project collects SUT for about 40–45 mostly advanced countries; the OECD Supply and Use Tables database contains information for 41 countries, largely overlapping with the WIOD sample of countries. The Asian Development Bank published a study including SUT for 18 countries in Asia.


See for example: Berry et. al (2018), “The Status of GDP Compilation Practices in 189 Economies and the Relevance for Policy Analysis.”, IMF Working Paper No. 18/37


Some countries even use SUT on a quarterly basis.


Data validation includes both consistency in definitions and concepts, and detection and correction of doubtful data. Exhaustiveness adjustments are required to include estimates of non-recorded activities: underground production, illegal activities, under registration in enterprise reports, and sample coverage deficiencies. Initial balances include the use of more reliable data to impute less reliable ones (e.g. production and imports of tobacco as opposed to consumption of tobacco—likely to be underreported). Also, initial “instrumental” input-output or product structures can be used so that the balancing procedure adjusts such initial values to arrive at consistent estimates.


The method owes its name to the original algebra formulation where an A matrix is proportionally adjusted by a row matrix R and by column matrix S. In matrix notation, the adjusted matrix: A^=R*A*S


Since totals by column equal totals by row (T), one of the constraints must be dropped because any one of the restrictions (Ri or Cj) can be derived from the others, leaving the system overdetermined. Thus, solving the balancing problem of a P × Q matrix would imply P + Q – 1 restrictions.


Benchmarking, Temporal Disaggregation, and Reconciliation Methods for Time Series, Springer edition.


The general model includes the time dimensions, and thus autocovariances. In this case a reduced version is used, which omits the time dimension, focusing only on the cross-sectional reconciliation. The model can be extended to include the time dimension and the reconciliation of temporal constraints but the size of the problem increases multiplicatively and its solution may not be feasible with this tool.


For more details see appendix B in Cholette-Dagum (2006).


The procedure may include non-binding constraints. Explicit estimates of Vε ≠ 0 would be required.


An experimental routine is also available in R.


Reduced from the 2008 SNA Table 14.12.


“Trade margins may be significant and may apply to virtually all goods. When a supply and use table is compiled at purchasers’ prices, the distribution margins need to be added to the rows for each group of products. In order to account for the use of wholesalers and retailers margins, an adjustment column is added to the supply part of the supply and use tables. This column shows the addition to the value of each group of goods to which the margins apply with an offsetting negative entry for the rows corresponding to the margins. Typical entries for transport margins are treated in the same manner.” (SNA 2008, 14.50–51)


This file should be found at: C:\Program Files\MATLAB\MATLAB Runtime\v85\toolbox\matlabxl\matlabxl\win64


An additional TAB contains an example that emulated a RAS-type procedure.

An Algorithm to Balance Supply and Use Tables
Author: Mr. Michael Stanger