## tnm-1803

## Source details

**Canonical URL:** [tnm-1803](https://www.imf.org/-/media/files/publications/tnm/2018/tnm-1803.pdf)

## Other formats

- [Markdown version](/-/media/files/publications/tnm/2018/tnm-1803.pdf.md)
- [Structured JSON version](/-/media/files/publications/tnm/2018/tnm-1803.pdf.json)

---

### EXECUTIVE SUMMARY — Purpose and definition
- A Supply and Use Table (SUT) is a detailed accounting or information system composed of a supply matrix and a use matrix.
- For national accounts statistics, SUTs serve to increase the quality of GDP and related aggregates by providing a framework to detect and resolve inconsistencies in data sources.
- SUTs are an analytical tool permitting access to detailed production functions, consumption, export, and import baskets, or to derive input-output tables.

### Challenges
- SUT compilation is data intensive and the balancing process is labor intensive which has an adverse effect on timeliness.
- Many countries do not compile SUTs annually because balancing product lines can take several months; less developed countries may compile SUT once every several years.

### Proposed solution: automated balancing with SUTB
- The note describes a basic algorithm developed by the IMF to balance supply and use tables automatically, allowing a much faster SUT compilation compared to manual balancing.
- For training purposes, the algorithm has been implemented as an Excel tool SUTB, making it operational almost globally.
- The note describes:
  - the supply and use tables and their general balancing process,
  - a general theoretical illustration of the optimization process,
  - an example based on a reduced supply and use table.

### Balancing principles and workflow
- Balancing is product-by-product and requires choosing which variables to adjust based on relative reliability of source data.
- Typical workflow:
  - High-level “well informed” adjustment: validate sources, perform exhaustivity analyses, balance specific products using alternative information.
  - Iterative analytical rounds: analyze product balances together with aggregate preliminary results; assess non-observed economy, input-output relationships, labor productivity, export/import ratios.
- Balancing must consider both value and real (constant price) dimensions; adjustments affect implicit deflators and observed prices.
- Common reconciliation methods and limitations:
  - Proportional (pro-rata) distribution: allocates discrepancies according to relative size; simple but ignores reliability information.
  - RAS (iterative bi-proportional adjustment): widely used for double-entry systems; converges iteratively to small discrepancies.
  - Least squares/GLS techniques: permit simultaneous multidimensional distribution of discrepancies; require specification of a covariance matrix and may admit binding constraints with approximations.
  - Proportional methods risk adjusting large but reliable components excessively; enhancements should incorporate reliability information so that fully reliable figures can be left unadjusted.

### Proposed algorithm: Cholette–Dagum GLS reconciliation adapted for SUTs
- The algorithm is a restricted generalized least squares optimization that nests observed unbalanced estimates and accounting constraints; solution admits proportional adjustments governed by the covariance matrix and allows imposing reliability coefficients.
- Model notation summary:
  - s = Iθ + e, E(e) = 0, E(ee') = V_e
  - g = Gθ + ε, E(ε) = 0, E(εε') = V_ε, E(εe') = 0
  - Nested form y = Xθ + u, E(uu') = V_u
- Feasible extended solution (Byron (1978) approximation admitted for binding constraints):
  - θ̂ = s + V_e G'(G V_e G' + V_ε)^{-1} [g – Gs], or simply θ̂ = s + F[d]
  - Interpretation: initial values s are optimally adjusted (filtered with F) to incorporate imbalances d = g – Gs.
- Practical implementation requirement: covariance matrix V_e encodes reliability coefficients; if covariance information unavailable, build matrices using reliability coefficients (scale defined 0 to 100, with 100 fully reliable).

### Implementing the algorithm: the SUTB function and operation
- Implementation details:
  - SUTB implemented as an Excel add-in using an array-based formula (=SUTB(...)), with Matlab Runtime performing the underlying routine; a Visual Basic module mediates Excel–Matlab Runtime interaction.
  - Required arguments to SUTB: the unbalanced SUT, two sets of implicit accounting constraints (supply/use and netting adjustments), a set of reliability coefficients (AM), and an optional set of user-defined explicit constraints (AdC).
  - Reliability coefficients:
    - Scale: 0 to 100; 100 = fully reliable (not subject to adjustment), 0 = unreliable.
    - Higher reliability reduces adjustment size via variance scaling in V_e.
  - Constraints:
    - Implicit constraints (default for supply and use and netting adjustments) implemented so the result of the dot product is zero (e.g., supply minus use = 0).
    - Explicit constraints included with a right-top extra cell holding the restriction (e.g., total exports = 540).
    - The routine discards redundant constraints.
- Output and use:
  - SUTB returns a balanced SUT of the same size as the input.
  - The array formula must be entered as an array-formula (select full output range, enter formula, press Ctrl + Shift + Enter); when applied in one cell, it computes the upper-left cell only.
  - The tool manages realistic SUT sizes, performs redundancy checks on constraints, can be used for sensitivity analyses, and is suitable for training and for countries with limited computational capacity.
  - An experimental routine is available in R; underlying Matlab codes are available on request from the author.

### Practical notes, testing, and installation
- The tool has been tested in several countries during capacity development missions over the past several years.
- Practical notes and performance:
  - Tool requires 64-bit Excel; Matlab Runtime installation creates folders “C:\Program Files\IMF\SUTB” and “C:\Program Files\MATLAB\MATLAB Runtime”.
  - FunctionWizard2007.xlam add-in must be loaded to enable Excel–Matlab Runtime interaction; SUTB.xlam must be copied to “C:\Program Files\IMF\SUTB\application” and then loaded in Excel.
  - The underlying Matlab Runtime installer filename shown in the annex: MyAppInstaller_web.exe.
  - An experimental R routine exists; Matlab codes available on request.

### Examples and key numeric values preserved from the source
- Reliability coefficient scale: 0 to 100 (100 = fully reliable).
- Example SUT imbalance in illustration: TOTAL Supply = 2,170; TOTAL Use = 2,149; imbalance = 21.
- Example balanced row total in Figure 7: secondary product totals = 2,422.
- Sample SUT size in annex: 14-row by 45-column SUT.
- Sample constraints cited in the annex example:
  - total imports set to 451 in sample constraints,
  - a margin (Mg) / FCE ratio constraint of 12% used in an example.

*Source: tnm-1803 - EXECUTIVE SUMMARY*

### EXECUTIVE SUMMARY

### EXECUTIVE SUMMARY

### Purpose and definition
- A Supply and Use Table (SUT) is a detailed accounting or information system that is composed of a supply matrix and a use matrix.
- For national accounts statistics, SUTs serve to increase the quality of GDP and related aggregates by providing a framework to detect and resolve inconsistencies in data sources.
- SUTs are 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, adding to the analytical usefulness to these statistics.

### Challenges
- SUT compilation is data intensive and the balancing process is labor intensive which has an adverse effect on timeliness.

### Proposed solution
- This note describes a basic algorithm developed by the IMF to balance supply and use tables automatically, allowing a much faster SUT compilation as compared to manual balancing.
- For training purposes, this algorithm has been implemented as an Excel tool SUTB, making it operational almost globally.
- The note describes:
  - the supply and use tables and their general balancing process,
  - a general theoretical illustration of the optimization process,
  - an example based on a reduced supply and use table.

### Implementation and testing
- The tool has been tested in several countries during capacity development missions over the past several years.

### Acknowledgments
- 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.

*Source: tnm-1803 - EXECUTIVE SUMMARY*

### References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

### References

### Overview: role of SUTs and motivation
- GDP and derived aggregates (household consumption, government debt ratios, capital formation (investment), international trade, industrial value added) are enhanced by the supply and use table (SUT) framework (1993 SNA, 1.16; 2008 SNA, 1.24).
- SUTs enable consistent GDP compilation, support input-output tables (IOT), and underpin initiatives such as trade in value added (TiVA).
- Compiling SUTs is data intensive; balancing product lines can take several months. Statistically advanced countries compile annual GDP using SUTs; less developed countries may compile SUT once every several years.
- Automated balancing procedures can expedite SUT compilation; a restricted generalized least squares (GLS) based algorithm (the SUTB) was developed by the IMF Statistics Department to distribute discrepancies within the system.

### The Supply and Use Table: structure and accounting relationships
- Algebraic identity: GDP = C + G + I + X – M, and GDP = O – IC = C + G + I + X – M.
- SUT decomposes supply (output + imports) and use (intermediate consumption + final uses) by product and industry.
- Supply matrix components: Output (Make matrix) and Imports; valuations may include margins, taxes, subsidies; production and imports must be expressed at market prices (2008 SNA par. 14.20).
- Use matrix components: Intermediate consumption (Absorption matrix) and final demand columns: household, NPISH, government, gross fixed capital formation, changes in inventories, exports; additional row records industry value added (can be broken into income components).
- Advantages of SUTs: product-level reconciliation, double deflation, generation of input-output tables, weights for price and activity statistics, and extension by institutional sector.
- Practical constraint: many countries do not compile SUTs annually due to data and resource intensity; SUTs may be compiled once every several years (examples: WIOD ~40–45 countries, OECD SUT database 41 countries, Asian Development Bank study: 18 countries in Asia).

### Balancing SUTs: principles and workflow
- Balancing is product-by-product and requires choosing which variables to adjust based on relative reliability of source data.
- Typical workflow:
  - High-level “well informed” adjustment: validate sources, perform exhaustivity analyses, balance specific products using alternative information.
  - Iterative analytical rounds: analyze product balances together with aggregate preliminary results; assess non-observed economy, input-output relationships, labor productivity, export/import ratios.
- Balancing must consider both value and real (constant price) dimensions; adjustments affect implicit deflators and observed prices.
- Example illustration: an initial product imbalance where TOTAL Supply exceeds TOTAL Use by 21 (2,170 - 2,149); three possible balancing alternatives shown where adjustments are allocated to different cells (final consumption, output & capital formation, or pro-rata across all cells).

### Reconciliation of double-entry data systems: methods and limitations
- Proportional (pro-rata) distribution: allocates discrepancies according to relative size; simple but ignores reliability information.
- RAS (iterative bi-proportional adjustment) widely used for double-entry systems; converges iteratively to small discrepancies.
- Least squares/GLS techniques permit simultaneous multidimensional (non-iterative) distribution of discrepancies; require specification of covariance matrix and may admit binding constraints with approximations.
- Limitation: proportional methods risk adjusting large but reliable components excessively; enhancements should incorporate reliability information so that fully reliable figures can be left unadjusted.

### Proposed algorithm: Cholette–Dagum GLS reconciliation adapted for SUTs
- Cholette–Dagum regression-based reconciliation: a restricted generalized least squares optimization that nests observed unbalanced estimates and accounting constraints; solution admits proportional adjustments governed by the covariance matrix and allows imposing reliability coefficients.
- Model notation (as in source):
  - s = Iθ + e, E(e) = 0, E(ee') = V_e
  - g = Gθ + ε, E(ε) = 0, E(εε') = V_ε, E(εe') = 0
  - Nested form y = Xθ + u, E(uu') = V_u
- Feasible extended solution (Byron (1978) approximation admitted for binding constraints):
  - θ̂ = s + V_e G'(G V_e G' + V_ε)^{-1} [g – Gs], or simply θ̂ = s + F[d]
  - Interpretation: initial values s are optimally adjusted (filtered with F) to incorporate imbalances d = g – Gs.
- Practical implementation requirement: covariance matrix V_e encodes reliability coefficients; if covariance information unavailable, build matrices using reliability coefficients (scale defined 0 to 100, with 100 fully reliable).

### Implementing the algorithm: the SUTB function and operation
- SUTB implemented as an Excel add-in using an array-based formula (=SUTB(...)), with Matlab Runtime performing the underlying routine; a Visual Basic module mediates Excel–Matlab Runtime interaction.
- Required arguments to SUTB: the unbalanced SUT, two sets of implicit accounting constraints (supply/use and netting adjustments), a set of reliability coefficients (AM), and an optional set of user-defined explicit constraints (AdC).
- Reliability coefficients:
  - Scale: 0 to 100; 100 = fully reliable (not subject to adjustment), 0 = unreliable.
  - Higher reliability reduces adjustment size via variance scaling in V_e.
- Constraints:
  - Implicit constraints (default for supply and use and netting adjustments) implemented so the result of the dot product is zero (e.g., supply minus use = 0).
  - Explicit constraints included with a right-top extra cell holding the restriction (e.g., total exports = 540).
  - The routine discards redundant constraints.
- Example numerical elements preserved from the source:
  - Numerical example showing a reduced SUT (3 products × 3 activities) with row 2 secondary product totals equal to 2,422 in that example.
  - Example product imbalance figures: TOTAL Supply = 2,170; TOTAL Use = 2,149; difference 21 (illustrative).
  - Sample SUT in the annex: a 14-row by 45-column SUT (derived from 2008 SNA Table 14.12, sub-totals removed) with imposed shocks and binding constraints (e.g., total imports set to 451 in sample constraints).
- Output:
  - SUTB returns a balanced SUT of the same size as the input.
  - The array formula must be entered as an array-formula (select full output range, enter formula, press Ctrl + Shift + Enter); when applied in one cell, it computes the upper-left cell only.
- Practical notes and performance:
  - Tool requires 64-bit Excel; Matlab Runtime installation creates folders “C:\Program Files\IMF\SUTB” and “C:\Program Files\MATLAB\MATLAB Runtime”.
  - FunctionWizard2007.xlam add-in must be loaded to enable Excel–Matlab Runtime interaction; SUTB.xlam must be copied to “C:\Program Files\IMF\SUTB\application” and then loaded in Excel.
  - An experimental routine is available in R; underlying Matlab codes are available on request from the author.
  - The tool manages realistic SUT sizes, performs redundancy checks on constraints, can be used for sensitivity analyses, and is suitable for training and for countries with limited computational capacity.
- Sample_SUT.xlsx workbook structure (as described):
  - ySUT: unbalanced SUT (SUTu) plus template for results and analytical tables.
  - Basic_Constr: implicit constraints matrices (RT for supply/use and RC for netting off).
  - AC: reliability coefficients matrix (AM).
  - AdC: user-defined additional constraints; each constraint includes an upper-right cell with its restriction (optional).
  - Sample_SUT.xlsx example uses constraints such as total imports = 451 and a margin (Mg) / FCE ratio of 12% in an example constraint.

### Key implementation parameters and examples (numeric fidelity preserved)
- Reliability coefficient scale: 0 to 100 (100 = fully reliable).
- Example SUT imbalance in illustration: TOTAL Supply = 2,170; TOTAL Use = 2,149; imbalance = 21.
- Example balanced row total in Figure 7: secondary product totals = 2,422.
- Sample SUT size in annex: 14-row by 45-column SUT.
- Installation file and folders specified in annex:
  - Matlab Runtime installer: MyAppInstaller_web.exe
  - Installation folders created: “C:\Program Files\IMF\SUTB” and “C:\Program Files\MATLAB\MATLAB Runtime”
  - SUTB add-in filename: SUTB.xlam (to be copied to “C:\Program Files\IMF\SUTB\application”)
  - Function wizard file location hint: C:\Program Files\MATLAB\MATLAB Runtime\v85\toolbox\matlabxl\matlabxl\win64

*Source: Technical Notes and Manuals 18/03 | 2018 — content extracted from the supplied PDF chapter on SUT balancing and the SUTB algorithm and implementation.*

### REFERENCES

### REFERENCES

### Key references
- 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
- 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 N o.   18 / 37.
- Byron, Ray P. 1978. “The Estimation of Large Social Account Matrices” Journal of the Royal Statistical Society, Series A, 141(3), 359-367.
- 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.
- Dagum, E.B., and P.A. Cholette (2006), Benchmarking, Temporal Disaggregation, and Reconciliation Methods for Time Series, Springer edition.
- 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.
- Eurostat. (2008) Manual of Supply, Use and Input-Output Tables (2008 ed.) Luxembourg: Office for Official Publications of the European Communities.
- Lequiller, F. and D. Blades. 2014. Understanding National Accounts (second edition). Paris, OECD.
- Supply and Use Tables Database (OECD). http://stats.oecd.org/Index.aspx?DataSetCode=SNA_TABLE30
- World Input-Output Database, (WIOD Project), European Commission (http://www.wiod.org/home)
- 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.
- 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.

### Contact information
- TNM/18/03
- International Monetary Fund
- Statistics Department
- 700 19th Street, NW
- Washington, DC 20431
- USA
- T. +(1) 202.623.8554
- F. +(1) 202.623.6073

*TNM/18/03 International Monetary Fund Statistics Department*

---


_Source: https://www.imf.org/-/media/files/publications/tnm/2018/tnm-1803.pdf_
