PDF version of this document is located at http://debreu.colorado.edu/papers/exburden.pdf
Address for correspondence:
Department of Economics
University of Colorado
Boulder, CO 80309-0256
The analysis of economic policy in a micro-consistent framework demands both theory and data. A common theoretical basis for economic analysis is the Shoven-Whalley (1992) applied general equilibrium framework which is quite flexible and can be applied to a large number of economy-wide issues (commercial policy, tax reform, environmental policy, etc.). The Shoven-Whalley approach is normally based on a multi-sectoral dataset, such as can be provided by an input-output table. While, in a textbook exposition, the development of the model and the dataset are conceptually separate activities; in practice, these two activities proceed in parallel.
The purpose of this paper is to document the development of a pilot Shoven-Whalley general equilibrium model for Russia based on a recent (1995) input-output table. The paper is intended to serve two goals. At first, it has a pedagogic purpose, as a guide to the steps involved in the specification and application of a computable model. A second purpose of the paper is provide insight into the current domestic tax system in Russia. We do not attempt to model non-standard aspects of the current system of indirect taxation such as tax avoidance or corruption 1. Instead, we formulate a fairly standard static, constant-returns to scale model, and use this model to assess the excess burden of various tax instruments based on what can be inferred from the input-output data. This analysis is intended to document a dataset and core model. It is understood that this analysis will ultimately provide a point of departure for subsequent assessments of tax policy options based on more complex formulations.
A draft of a 1995 table is provided by Russia's Bureau of Economic Analysis. The Russian tax system in 1995 is described in Appendix 1. It should be noted that the tax system is characterized by a heavy burden of taxes other than those based on net income, notably value-added tax, payroll-based taxes, and other indirect taxes. Based on IO information, in our core model indirect taxes are combined into five groups: value-added tax (VAT), import tax, net taxes on goods (excises, etc.), social security tax, other taxes included into cost of production (natural resource tax, road usage tax, etc.). We calculate rates of the existing tax instruments. Calculated tax rates are different from the statutory tax rates. Both calculated and existing rates are not uniform across sectors. For example, the calculated VAT rate varies from 1 to 13%, whereas a statutory VAT rate is 20% (10% for basic food and pharmaceuticals).
Based on the core model, we calculate the marginal excess burden (MEB) of the existing tax instruments in Russia. Social security tax is relatively efficient with MEB of 5%. The reason for this is a relatively small difference in tax rates between sectors. When social security tax is increased, resources cannot move easily into less taxed sectors. We find that the MEB of VAT, net taxes on goods, and other taxes is equal approximately to 5.5%. Import tax is particularly costly with the MEB of 9.5%. Import tax imposes a higher distortion cost than other tax instruments because it favors domestic production over imports. The results from this analysis are tentative, as we have ignored a number of potentially important mechanisms. First, we have not modelled tax evasion. Second, the result is sensitive to interpretation of data in the IO table. In addition, introduction of steady-state capital rule drastically changes the MEB calculations, which leads to a conclusion that the results may differ with a truly dynamic model.
The paper has the following structure. In Section 2, we consider general features of an IO table and describe a 1995 Russian IO table. Section 3 presents a simple static general equilibrium model. Section 4 portrays the presentation of Russian tax system in the IO table and provides computed rates of different tax instruments. The results of illustrative calculation of the MEB are discussed in Section 5. In Appendicies, we describe major Russian taxes and their rates in 1995, and a step-by-step procedure of developing the static model in GAMS/MPSGE format from an MS Excel file with an IO table.
Data for a particular country or region are often organized in the form of an input-output (IO) table which presents a static image of the economy. However, an IO table is not a model. In order to analyze how the economy works and make predictions on the effects of policy changes, a model of the economy has to be created. The information contained in the IO table provides a basis for the creation of a plausible model.
An input-output (IO) table contains the valuable information about the market allocation of resources in an economic system. Based on this information, a variety of general economic equilibrium models can be created. Detailed data on the flows among different sectors of an economy can be used for building static models or can serve as a benchmark dataset for dynamic models. Modern computerized economic techniques enhance traditional input-output analysis developed originally by Wassily Leontief (1936) 2.
An IO table describes the flows among the various sectors of the economy. It represents the value of economic transactions in a given period of time. Transactions of goods and services are broken down by intermediate and final use. An IO table also shows the cost structure of production activities: intermediate inputs, compensation to labor and capital, taxes on production. Table 1 illustrates a general structure of an IO table, according to the European System of Integrated Economic Accounts (Eurostat, 1986).
|INTERMEDIATE USE||FINAL USE|
|by Production Sectors||Private||Gov't||OUT-|
Table 1. Input-Output Table
In the standard Eurostat framework, Matrix A represents an intermediate demand. Rows in the matrix A describe production sector outputs. Columns represent sectors which use outputs of production as intermediate inputs. As such, a number in a cell Aij tells the amount of sector i's output used in the production of a sector j. A breakdown of a final demand on private consumption, government consumption, investment, and export is shown in Matrix B. Matrix C gives the information on total domestic production. Matrices D, E and F give the corresponding information on imported goods and services. Payments to labor and capital, depreciation, and indirect taxes are presented in Matrix G. Matrix H is normally empty, and summation over rows in Matrix I gives information on value-added. If an IO table is balanced, then columns of Matrix J should be the same as the rows of Matrix C because total input equals total output for production sectors.
There are several possible ways of measuring values of transaction: basic prices, producers' prices, and consumers' prices. The basic price equals the sum of costs of the goods and services used and of the remuneration of the factors of production needed to produce that product. Producers' price is equal to the basic price plus net taxes on the products paid by the producer unit. Consumers' price is the total price paid by the user. It equals to producers' price plus trade and transportation margins. The use of IO tables for economic analysis may follow different purposes, and so different price systems may be used.
An IO table shows only the relationship between production accounts and the other accounts (factors of production, consumption, government, investment, export, import). In traditional general economic modeling, data is presented in a form of balanced Social Accounting Matrix (SAM) (Pyatt and Round (1985)). A SAM is an expanded version of an IO table which contains additional information on interrelations between all accounts. In terms of Table 1, it means that information on transactions of Matrix H is available.
A SAM illustrates the circular process of demand leading to production leading to income, which in turn leads back to demand. An IO table has information on incomes to factors of production (capital and labor), but there is no information on the owners of these factors. Among owners are households, corporations, government (which can provide capital and levy indirect taxes), and foreign entities. As such, an IO table misses a link on distribution of income. A SAM also contains additional data on payments among owners. Payments arise from a variety of reasons: ownership of certain assets, direct taxes on corporations and households, pensions, and transfers. An IO table has information on indirect taxes but not on direct taxes. Indirect taxes are levied on the expenditure of the final purchaser of goods and services or on intermediate goods purchased by producers. On the other side, direct taxes are extracted from income and, therefore, constitute a transfer from corporations and households to a government.
There is an exact correspondence between rows and columns in a balanced SAM. This means that supply equals demand for all goods and factors, tax payments equals tax receipts, there are no excess profits in production, the value of each household expenditure equals the value of factor income plus transfers, and the value of government tax revenue equals the value of transfers.
It should be noted that there is a relationship between an IO table and Gross Domestic Product (GDP). GDP is defined as the value of final goods and services produced in a given year. In order to extract information on GDP from an IO table, we need to eliminate intermediate production - goods that are used up to produce other goods. There are two approaches to measuring GDP: product approach and earnings approach. Product approach includes summation of private consumption, investment, government spending, and net export. This approach is represented by a usual formula for GDP:
Converting a particular IO table into a general economic equilibrium model may bring several problems. At first, different IO tables may have different formats, not exactly corresponding to an IO table described in the section above. In regard to that, a modeller faces the question of interpreting different rows and columns. Second, assumptions on the nature of equilibrium, particular functional forms, elasticities, etc., should be made.
The original 1995 Russia IO table is different from the Eurostat standard. It allows us to highlight possible adjustments when a modeller deals with different formats. For compactness, we have made several changes to the original IO table including aggregation of 13 sectors of industry into one industry sector and other minor changes. An aggregated IO table is presented in Table 2. In order to fit this into an article size, Table 2 is divided into four subtables. Tables 2.1, 2.2, and 2.3 correspond to Table's 1 Matricies A, D, and B, respectively. Table 2.4 does not exactly fit into the Eurostat standard. It represents taxes, margins, and imports evaluated at basic prices to convert the output into basic prices. The available data on imported goods is aggregated, and we have no information on Matricies D and E. Another important issue is that the IO table is not balanced. Here we make an assumption that the IO data represents an equilibrium and statistical errors occurred during the collection of the data. In this case, statistical errors should be corrected by balancing the IO table in the way described later in the paper.
Table 2. The 1995 Russian IO Table
Industry Construction Agriculture Transport Lease Communal Education Banking Others Interm. Cons
1 2 3 4 5 6 7 8 9 10
Industry 1 543,377,284 90,450,789 40,031,134 69,881,621 48,621,711 45,998,503 46,163,329 45,953,488 2,563,330 933,041,189
Construction 2 2,744,031 666,058 362,993 2,327,089 2,825,451 4,020,760 6,967,433 3,446,843 91,201 23,451,859
Agriculture and forestry 3 37,566,006 390 51,371,826 322 3,801,253 109,103 1,338,161 1,257,834 3,562 95,448,457
Transport and communications 4 16,612,675 8,206,444 2,834,779 8,191,387 30,506,774 1,540,011 4,945,306 14,901,200 514,268 88,252,844
Lease, advertising, trade 5 2,769,076 1,109,196 47,138 3,482,954 13,054,082 114,156 1,598,547 4,811,450 210,904 27,197,503
Communal services 6 1,607,517 650,550 565,958 3,794,739 6,025,608 1,344,537 16,275,651 7,477,728 227,030 37,969,318
Education, medicine 7 1,725,368 181,173 78,343 291,094 1,746,561 58,715 8,271,628 1,551,860 20,767 13,925,509
Banking, insurance 8 6,637,802 402,377 114,784 843,702 5,092,641 560,312 348,630 6,539,254 44,269 20,583,771
Others 9 3,377,485 450,323 84,037 1,056,753 5,331,501 300,812 1,953,920 3,086,069 377,174 16,018,074
Subtotal 10 616,417,244 102,117,300 95,490,992 89,869,661 117,005,582 54,046,909 87,862,605 89,025,726 4,052,505 1,255,888,524
Wage 11 158,405,280 64,738,237 25,876,439 76,145,876 116,491,318 19,430,071 57,939,456 63,790,994 5,494,102 588,311,773
Social insurance contrib. 12 37,680,723 15,652,377 5,768,461 16,496,039 8,639,405 5,800,762 19,495,144 7,628,106 1,986,145 119,147,162
Net profit 13 45,135,946 1,116,533 -39,910,914 -18,617,428 79,923,003 -30,725,703 -4,904,083 3,647,163 3,070,909 38,735,426
Net mixed income 14 6,059,448 6,610,033 66,721,551 3,560,416 80,211,771 13,169,875 1,261,821 6,218,262 0 183,813,177
Other taxes on prodution 15 24,188,399 5,468,620 2,038,941 11,078,549 9,428,112 1,547,822 1,016,892 2,612,992 427,493 57,807,820
Subsidies on production 16 0 0 -2,184,997 0 0 0 0 0 0 -2,184,997
Depreciation 17 221,104,391 40,510,800 64,875,144 90,483,515 21,574,450 69,806,964 37,720,565 19,869,663 1,040,050 566,985,542
Gross value added 18 492,574,187 134,096,600 123,184,625 179,146,967 316,268,059 79,029,791 112,529,795 103,767,180 12,018,699 1,552,615,903
Total input (row 10+row 18) 19 1,108,991,431 236,213,900 218,675,617 269,016,628 433,273,641 133,076,700 200,392,400 192,792,906 16,071,204 2,808,504,427
Final Consumption Gross accumulation
Households Government Incr. in fixed assets Chg. in Stocks Export Total use
11 12 13 14 15 16
Industry 1 467,025,189 559,018 71,989,877 183,598,722 375,193,303 2,031,407,298
Construction 2 681,809 0 244,109,150 6,535,939 469,000 275,247,757
Agriculture and forestry 3 101,744,966 3,563,800 -13,199,063 39,511,187 1,989,157 229,058,504
Transport and communications 4 44,590,098 0 0 0 21,080,832 153,923,774
Lease, advertising, trade 5 14,756,915 8,308 1,015 0 3,866,506 45,830,247
Communal services 6 40,786,288 22,346,030 0 0 175,925 101,277,561
Education, medicine 7 20,211,334 163,992,100 6,251,264 0 913,401 205,293,608
Banking, insurance 8 17,766,601 145,396,700 0 0 566,096 184,313,168
Others 9 4,984,544 0 28,655 1,356,778 81,580 22,469,631
Subtotal 10 712,547,744 335,865,956 309,180,898 231,002,626 404,335,800 3,248,821,548
Transp. margin Trade margin VAT in use Taxes on goods Import taxes Import Total
17 18 19 20 21 22 23
Industry 1 127,855,458 376,959,873 50,274,091 44,633,517 8,980,843 280,165,313 1,142,538,203
Construction 2 0 1,111,854 36,281,466 0 0 7,604,278 230,250,159
Agriculture and forestry 3 4,122,198 15,670,028 3,158,669 -3,827,110 88,973 9,115,460 200,730,286
Transport and communications 4 -132,079,025 671,177 12,696,562 -10,974,262 0 14,307,396 269,301,926
Lease, advertising, trade 5 0 -398,378,913 4,249,640 -426,434 0 6,901,462 433,484,492
Communal services 6 0 14,809 6,971,161 -36,370,002 0 267,555 130,394,038
Education, medicine 7 0 546,100 2,382,116 -867,300 0 2,453,768 200,778,924
Banking, insurance 8 0 967,765 2,290,218 0 0 1,260,475 179,794,710
Others 9 101,369 2,437,307 1,631,577 -747,209 4,484 2,141,594 16,900,509
Subtotal 10 0 0 119,935,500 -8,578,800 9,074,300 324,217,301 2,804,173,247
Let us take a closer look at Table 2 to see its correspondence with Table 1. Rows in the Tables 2.1, 2.3, and 2.4 are identical. They represent production sector outputs which are used as intermediate inputs for other sectors and in final consumption. Rows in Table 2.2 show the other factors of production, such as capital and labor, depreciation, indirect taxes, and other adjustments. Columns in Tables 2.1-2.3 represent demanders of factors of production: intermediate consumers (production sectors which use an output of production sectors as intermediate inputs), final consumers (households and government), investment, and export. Looking along a particular column of Tables 2.1 and 2.2, one can see how inputs are used for production in a certain sector.
Consider an example: following the numbers associated with a particular row, a usage of output of the particular sector by other sectors of the economy can be seen. Take for example row 3 of Table 2.1, Agriculture and forestry. We can see, from column 1, that the industry has consumed an agricultural output in the value of 37,566,006. The next column shows that Construction has consumed the agricultural output worth of 390. The summation over columns 1-9 gives a total use of the output of agriculture and forestry by all industries, including agriculture and forestry itself. It is equal to 95,448,457. Numbers in Table 2.3 (columns 11-14) give us a final consumption by households, government, and investment. By adding export (column 15), a total consumption of agriculture's output is calculated, which is 229,058,504. Table 2.4 provides a correction of the result for transportation and trade margins, taxes, and import. As such, the total use of output of agricultural sector evaluated at basic prices is 200,730,286.
Now, consider a particular column, say again column 3. The summation over the first nine rows gives the total amount of payments from agriculture to other sectors for use of their products as intermediate goods, which is 95,490,992. Value added is calculated as a sum of wages, return to capital, taxes, and depreciation. From the row 18, it is equal to 123,184,625. Total input payment is a combination of payments for all factors of production (intermediates, labor, capital), indirect taxes, and depreciation. From the row 19, the value of total input is 218,675,617.
Even before the conversion from Excel, several checks of IO data can be performed. The first check can be made based on GDP information. GDP data is a widely cited statistic; therefore, it gives a good starting point for the checks. The information on GDP can be extracted from Table 2 in the following way. As described in Section 2, there are two approaches which give approximately the same result. According to equation (1), the product approach GDP can be obtained by summation of the columns 11-15 which represent final consumption, investment, and export, and subtraction of the column 22 which represents import. These manipulations with row 10 give the number of 1,668,715,723. The earnings approach GDP can be seen from gross value added. In table 2.2, column 10 shows the total number of value added for all sectors of the economy. A summation over rows 11-17 gives the total value added which is represented on the intersection of row 18 and column 10 and equals to 1,552,615,903. Both of these numbers are close to the Russian 1995 GDP which was 1,540 trillion rubles. As noted, we assume that the difference is due to statistical errors which occur in the process of collecting information. Another helpful check is to calculate aggregate numbers for intermediate consumption by all sectors of the industry, all sectors of the economy, total consumption, and value added.
If an IO table is not balanced, a modeller has to decide how to make appropriate adjustments. In the example described in this paper, we rearrange the returns to capital because profits are usually calculated as a residual. Another question is interpretation of certain taxes, subsidies, and other adjustments. For example, value-added tax (VAT) can be interpreted as a tax on labor and capital as factors of production, or it can be interpreted as a consumption tax (since investment is not taxed). We describe these options in Section 5.8. Different interpretation affects the results of the counterfactual experiments.
The process of converting is described in detail in Appendix 2 and consists of the following steps: modification of an Excel file; saving an Excel file as a Lotus file; reading IO table into GAMS format; data check and creation of a dataset; interpretation of a dataset; development of a benchmark static model.
A static model represents production and distribution of goods and services in an economy in a given period of time. General equilibrium models are a useful tool for national or regional economic planning because they allow one to see impacts from different policy mechanisms. This type of analysis is extremely valuable because it can account for interrelated and balanced transactions between all sectors in the economy. In the present paper we develop a simple model to assess the cost of raising revenue from alternative sources.
The static model recreates an Arrow-Debrew (1954) general economic equilibrium model 3. The number of consumers in the model is specified. Each consumer has an initial endowment of the N commodities and a set of preferences resulting in demand functions for each commodity. Market demands are the sum of all consumers' demands. Often a representative agent is introduced to describe market demands and total endowments. Commodity market demands depend on all prices and satisfy Walras's law. That is, at any set of prices, the total value of consumer expenditures equals consumer incomes. Technology is described by constant returns to scale production functions. Producers maximize profits. The zero homogeneity of demand functions and the linear homogeneity of profits in prices (i.e. doubling all prices double money profits) imply that only relative prices are of any significance in such a model. The absolute price level has no impact on the equilibrium outcome.
Equilibrium in this model is characterized by a set of prices and levels of production in each industry such that the market demand equals supply for all commodities. Since producers are assumed to maximize profits, and production exhibits constant returns to scale, this implies that no activity (or cost-minimizing technique for production functions) does any better than break even at the equilibrium prices. Mathiesen (1985) has shown that an Arrow-Debreu model can be formulated and solved as a complimentarity problem. Accordingly, three types of equations define an equilibrium: market clearance, zero profit, and income balance.
The relationship between different blocks of a typical model is shown in Figure 1. Taxes are discussed in the next section and therefore, for simplicity, do not appear in this figure.
Fig. 1. Flows in a static model
Sector's i output (denoted as Yi) is produced using capital K, labor L, and intermediate inputs described by an Armington aggregate Aji. Following Armington (1969), an intermediate demand is represented as a composite of domestic goods Dj and imports Mj used in sector's i production. Armington aggregate is also used for private consumption C, government consumption G, and investment I. Output Yi is divided into domestic goods Di and export Ei. A representative agent RA represents a collective decision process for allocating income to households and to a government. RA has an endowment of capital K and labor L, collects taxes, and demands C, I and G.
In order to specify the model further, specific functional forms of the basic blocks which characterize preferences and technology should be assumed 4. In the footnotes, we provide an algebraic formulation of the functional forms for an interested reader. However, a nice feature of MPSGE is that a modeller does not have to worry about programming the algebraic equations like that. Rather, a modeller needs to have a picture of the economic flows among the agents. MPSGE constructs underlying production and utility functions based on reference prices, quantities and elasticities.
As noted, each production sector Y produces two types of commodities: domestic goods D and goods for export E. These goods are assumed to be imperfect substitutes, and they have a constant elasticity of transformation. For production, each sector uses capital, labor, and intermediate goods. As such, the sector's i production function is
For input combination, we have a Leontief aggregation of factors of production. Capital and labor enters as a Cobb-Douglas value-added aggregate 6. Intermediate inputs from different sectors enter as a Leontief aggregate into a sector's i production function:
An intermediate input to a sector i from a sector j is an Armington aggregate of domestic output and import. Users regard these goods as imperfect substitutes, and these goods are assumed to have a constant elasticity of substitution (CES). 7
A representative agent has an endowment of primary factors of production: capital and labor. She demands investment, private and government goods, and collects all applicable taxes. The investment and government sector's output are exogenous while private demand is determined by utility maximizing behavior. Consumer utility consists of a Cobb-Douglas utility index defined over Armington aggregation of domestic and imported commodities 8 .
Another way of presenting the model structure is shown in Figure 2, where s is the elasticity of substitution and h is the elasticity of transformation.
Fig. 2. Structure of the static model
The structure of the model represented in Figures 1 and 2 does not contain any information about the assumptions of economic agents' behavior. In a traditional planning model, it is assumed that a central planner has a goal of ``maximum satisfaction of the growing needs of a society as a whole and of its individual citizens'' 9. A general equilibrium model differs from a planning model in that it describes the interaction of a number of autonomous economic agents. It should be stressed that the assumptions are very different in regard of the competitive behavior of the economic agents who are acting on their own interests. In the standard Arrow-Debreu economic model, there are two agents: consumers (or households) and producers (or firms). We will include a government later.
Consumers have an initial endowment of goods and factors of production. They earn income from sales of the endowment and from dividend payments. Then consumers engage in buying goods to maximize their satisfaction or utility. Producers use inputs and turn them into goods. Inputs may come from the initial endowments of consumers or they may be intermediate goods produced by other firms. Producers produce outputs subject to the technological knowledge they have available. Their goal is to maximize profit. All profits earned are distributed to shareholders. All agents treat prices as given. That is, in determining their optimal behavior, the agents believe that their actions do not affect prices.
The third economic agent, a government, collects tax revenues to maximize social welfare function which represents the state's preferences. The role of taxes is to redistribute income, to finance government expenditures, to alter a behavior of the economic agents, and to stabilize an economy. A related question is a question of the optimal taxation. That is, what taxes should be used if the goal is to maximize social welfare. The aim of the optimal taxation is to balance efficiency losses from taxes with equity gains.
It has been noted that an Arrow-Debreu model can be formulated and solved as a complimentarity problem where three types of equations define an equilibrium: market clearance, zero profit, and income balance. An introduction of taxes by the government changes relative prices in the economy. Producers and consumers, who treat prices as given, adjust their behavior to clear the markets. As such, in presence of taxation, equilibrium conditions should reflect the fact of different consumers' and producers' prices.
Zero profit conditions are produced for all production sectors. They state that a cost of production gross of tax equals value of output. For our model, zero profit conditions for seven sectors should be satisfied: final production, Armington aggregation, public goods, private goods, investment goods, export, and import. Zero profit conditions are associated with levels of production.
Market clearance conditions reflect the fact that output plus initial endowment equals to intermediate and final demands. These conditions should be satisfied for each good and factor of production. We have ten market clearance conditions: for final goods, Armington supply, public goods, private goods, investment goods, export, import, foreign exchange, capital, and labor.
Income balance condition states that the level of expenditure equal the value of income from sales of factor endowment, dividend payments, and tax revenue. In a simple static model, a representative agent represents a collective decision process for allocating income to households and to a government. We introduce government as a separate economic agent later in the paper.
MPSGE automatically generates the equations which represent equilibrium conditions. For an interested reader, we provide a mixed complimentarity (MCP) version of the model in Appendix 4, where an explicit algebraic formulation of the equilibrium conditions might be found. After initial calibration, a modeller can test different counterfactual scenarios. In section 5, we present a calculation of marginal excess burden of indirect taxes in Russia (see Appendix 2.7 for the MEB programming issues).
There were about 30 separate federal taxes and over 170 local and regional taxes in 1995. Today Russia has 89 regional tax offices and 2,639 local tax offices employing over 180,000 tax officials. Yet, evasion is endemic. Despite some of the highest tax rates in the world, Russia has one of the lowest rates of overall tax collections. Other problems with Russian taxes include too many types of taxes both on the federal and on the local level. This multitude of taxes not only makes compliance difficult, but also makes it challenging to keep current with changes and amendments. The Russian government is currently working on a new tax code. The current draft of the code includes a drastic revision in the number of taxes (from more than 200 to less than 40). Progress on the four-part code, which requires approval by the full Russian parliament, is moving forward very slowly.
A description of Russian taxes and their rates is in Appendix 1. A 1995 IO Table contains the data for the following tax instruments: VAT, net taxes on goods, social security tax, import tax, other taxes included into cost of production. Unfortunately, there is no documentation on how the taxes are divided into these five categories. It is our understanding that VAT, import tax, and social security tax in the IO table are related to the corresponding taxes described in Appendix 1. It is our guess that a revenue reported in Net taxes on goods is a combination of a revenue from such taxes as oil sales tax, excise tax, and different subsidies. Other taxes included into a cost of production row of the IO table consist of such taxes as a natural resource tax, road usage tax, land tax, etc. The rates of the existing tax instruments are computed based on the information provided in the IO table. As one can see from Table 3, these rates exhibit a high variance across sectors.
We also developed a utility for recalibrating the data to an exogenously specified set of tax rates. A modeller can define the rates of different tax instruments and create a new benchmark dataset.
As described in the previous section, we can calculate several basic ratios of the economy based on information contained in the IO table. However, an IO table is not a model. In order to analyze how the economy works and make predictions on the effects of policy changes, a model should be used. As have been noted earlier, the results from the model depend on certain assumptions about the basic structure of the economy and a behavior of economic agents. In our model, choices are consistent with optimization and market clearing. That is, a government can change relative prices using different tax instruments. Then consumers and producers adjust their optimal behavior based on the new set of prices.
Taxes distort decisions made by economic agents. One measure of the distortion is an excess burden. The excess burden is defined as a reduction in utility in addition to the amount taken by the government if it uses a lump-sum taxation. As such, a total burden of a tax is equal to a sum of a tax burden (an amount which consumer actually pays) and the excess burden (extra loss in utility). The excess burden arises when a behavior of the economic agents changes due to introduction of taxes. The excess burden increases with the square of a tax rate.
We can evaluate an excess burden using a Hicksian equivalent variation. For this, we compute a Hicksian money-metric welfare index for a consumer and compare welfare level in a benchmark with a counterfactual calculation. Change in welfare is
If, in a presence of an existing tax, a government decides to raise an additional tax revenue, then the change in excess burden per dollar of extra revenue constitutes a Marginal Excess Burden (MEB). MEB is defined as the percentage efficiency cost of a marginal transfer of funds from the private consumer to the government using the specified tax instrument. It means that if the MEB of, for example, labor tax is 15 percent, then for every 100 rubles raised by the Russian government through labor tax, Russian consumers effectively pay 15 rubles in addition to the 100 that they transfer to the government. These extra costs are not paid literally to the government, but reflect lower standards of living due to higher prices and resource misallocation induced by the increase in taxes.
We compute MEB of different tax instruments in the following way. A government, as a separate economic agent who collects taxes and demand government goods, is introduced. Then, we increase a government spending by 1 percent and calculate a change in the excess burden as:
The results of the MEB calculations, based on different elasticities of transformation between domestic output and exports, h, and elasticities of substitution between domestic goods and imports, s, are presented in Table 4. Based on the core model, we find that import tax is relatively costly. The MEB of all other tax instruments is approximately the same with small differences. Despite the highest rate, social security tax is relatively efficient with an MEB of 5%. The intuition behind it is a relatively small difference in tax rates between sectors. When social security tax is increased, resources cannot move easily into less taxed sectors. The MEB of VAT, net taxes on goods and other taxes is equal approximately to 5.3 - 5.6%. Import tax is particularly costly with an MEB of 9.5-19% depending on different elasticities. Import tax imposes a higher distortion cost than other tax instruments because it favors domestic production over imports.
Table 4. Marginal Excess Burden in a core model.
An assumption about the elasticities plays an important role in the MEB calculation. Higher values of elasticities imply more responsive behavior of economic agents when taxes (hence, relative prices) are changed. That is, in the case of higher elasticity of substitution between domestic goods and imports, consumers may switch between these goods more easily. An excess burden arises when a behavior of economic agents changes due to introduction of taxes, and the excess burden is bigger when behavior changes to a greater degree. From econometric estimations for the United States, h is usually around unity for manufacturing goods and sigma is around four. However, in CGE literature these values are higher and sometimes they assumed to be infinity. We provide the results of calculations for both low- and medium- levels of elasticities.
We calculated MEB for a disaggregated model also. The MEB estimates of all tax instruments except for import tax do not change greatly with disaggregation of industry into 13 sectors as in the original IO table. With h=1 and s = 4, the MEB of import tax has arisen with disaggregation to 30% from 9.5%. The increase is due to a higher difference of import tax rates among the sectors of the industry.
The results from this analysis are tentative, as we have ignored a number of potentially important mechanisms. First, in our basic model we have not modelled important aspects of Russian tax system such as tax avoidance or corruption. Second, the result is sensitive to interpretation of data in the IO table. Different benchmark models can be built based on different interpretation of tax data.
In our benchmark model we have specified taxes in the way shown in Figure 3. In comparison with a model presented in Figure 1, we have introduced one more economic agent, a government GOV, who collects taxes and demands government goods. Taxes are applied as follows: ty is a combination of the indirect production taxes, levied on production for both the domestic and export markets (output tax), ta is a value added tax, tn represents net taxes on goods, tm is an import tax, and tl is a social security tax. A difference between tax revenue from indirect taxes and government demand is financed by direct taxes tc.
Fig. 3. Taxes in a benchmark static model
However, the interpretation can differ depending on the modeller's view of the appropriate tax base for these taxes. For example, VAT can be treated differently. Instead of putting a tax on Armington supply, VAT can be interpreted as a tax on labor and capital as factors of production, or since, in Russia, the VAT base is sales of goods and services, it can be interpreted as an domestic output tax. Tables 5 and 6 show the results of the MEB calculations based on different VAT specification.
Table 5. MEB when VAT is levied on capital and labor.
Table 6. MEB when VAT is levied on domestic output.
Interpretation of VAT as a tax on capital and labor does not change greatly the MEB estimation. However, treating a VAT as domestic output tax decreases distortion between domestic production and imports. It leads to lower MEB from import tax. We should note that import tax reflects only import duties. Goods going into Russia are subject to three levies: an import duty/tariff, a VAT, and an excise tax, included in net taxes on goods (See Appendix 1).
The results of the MEB calculation are very different if a steady-state constraint is introduced. If we assume that an economy is on a steady-state balanced growth path, then there is a specific relationship between capital and investment (Rutherford and Tarr (1999)). An increase in government spendings will produce a new equilibrium, where for many of the changes we consider, the rate of return on capital changes (relative to the cost of investment) due to a less efficient allocation of resources. This implies that, in a dynamic sense, a fixed capital stock can no longer be optimal in the new equilibrium of the static model. Investment would be changing until the marginal productivity of capital is reduced to the long run equilibrium where the ratio of rate of return on capital to the cost of the capital good is restored to its initial value. In the core model, we allow the price of capital and the price of investment to vary. Steady-state calculations establish a link between these two prices. The goal of a steady-state calculation is not to describe the full adjustment path following a change in a policy. Rather, we want to evaluate the bound on welfare change in a Solow type model.
Table 7. MEB with a steady-state capital constraint.
Based on a core model, we find that an introduction of steady-state capital rule drastically changes the MEB calculations, which are presented in Table 7. It means that a static model underestimates the welfare losses. As one can see from Tables 5-7, import tax is more costly in terms of efficiency except for the case when VAT is treated as a tax levied on domestic output.
An IO table provides an overview of the relative magnitude of tax rates and economic activities, yet it gives limited information regarding the economic cost of raising public funds. This paper has described how an IO table can be used to construct a general economic equilibrium model which can then be used to assess the excess burden of different tax instruments. Creating a general equilibrium model is a multi-stage process. Features of the model depend on a modeller's assumptions and interpretation of an input-output data. After developing an appropriate equilibrium structure and calibrating the model, the static model might be modified to study specific issues, such as dynamic effects (Rutherford and Tarr (1999)) or foreign direct investment in services (Markusen, Rutherford, Tarr (1999)).
As a preliminary application of the 1995 IO table, this paper has assessed the marginal excess burden of different tax instruments. Based on the simple static model, we find that import tax is the least efficient source of public funds. However, the results are sensitive to interpretation of data and the choice of the model. For example, an estimated welfare loss of an increase in government spending is significantly different if a steady-state capital constraint is introduced. Another potentially interesting extension of the model is a consideration of the issues related to tax evasion.
Armington, P.S. (1969) ``A Theory of Demand for Products Distinguished by Place of Production.'' International Monetary Fund Staff Papers 16, 159-76.
Arrow, K.J., and G. Debreu (1954) ``Existence of an Equilibrium for a Competitive Economy.'' Econometrica, 22, 265-90.
Arrow, K.J., and F.H. Hahn (1971) General Competitive Analysis. San-Francisco: Holden-Day.
Eurostat (1986), ``National Accounts ESA, input-output tables 1980.'' Luxembourg: Eurostat.
Mathiesen, L. (1985) ``Computation of economic equilibria by a sequence of linear complimentarity problems.'' Mathematical Programming Study, 23, 144-62.
Leontief, W.W. (1936) ``Quantitative Input-Output Relations in the Economic System of the United States.'' The Review of Economics and Statistics, XVIII (August 1936), 105-25.
Leontief, W.W. (1966) Input-Output Economics. New York: Oxford University Press.
Markusen, J.R., Rutherford T.F., and D.Tarr (1999) ``Foreign Direct Investment and the Domestic Market for Expertise.'', unpublished.
Pyatt, G., and J.I. Round, eds. (1985) ``Social Accounting Matrices: A Basis for Planning.'' Washington: World Bank.
Rutherford, T.F. (1994) ``Applied general equilibrium modeling with MPSGE as a GAMS subsystem.'' In T.Rutherford, ed., The GAMS/MPSGE and GAMS/MILES User Notes. Washington: GAMS Development Corporation.
Rutherford, T.F., and D.G.Tarr ``Regional Trading Arrangements for Chile: Do the Results Differ with a Dynamic Model?'', unpublished.
Shoven, J.B., and J. Whalley (1992) Applying general equilibrium. New York: Cambridge University Press.
Shvyrkov, Y.M. (1980) Centralized Planning of the Economy. Moscow: Progress Publishers.
The following is a breakdown of various taxes in 1995.
Taxes of Republics within the Russian Federation and Taxes of the Territories, Regions, and Autonomous Formations:
VALUE ADDED TAX: The VAT rate is 20%. Certain basic food products and children's goods are subject to a reduced rate of 10%. Exported goods and services, and some other specified supplies are exempt from VAT. The VAT is levied on the value that an enterprise adds to the materials or finished components used in the production or sale of products or goods. The VAT on imported goods must be paid at customs border points, in cash, before goods can be cleared. The VAT on imported goods is calculated on the basis of the customs value of the goods, including any applicable customs duties and excise taxes. Upon resale of the goods, the VAT is based on the difference between the retail price and the customs value, including customs duties, excise taxes and the VAT. Goods produced in or imported from Belarus, Kazakstan, and other countries, which join the CIS Customs Union are exempt from excise taxes and the VAT. In addition, certain types of equipment and machinery are exempt from excise taxes and the VAT.
EXCISE TAX: An Excise Tax is levied on most imported goods considered "luxury items," such as cars, jewelry, alcohol, and cigarettes. The present range of excise taxes run between 35% and 250%. The rates are expressed as a percentage of the local producer's sales price and the declared customs value.
IMPORT TAX (IMPORT TARIFF): Import tariffs generally run between 5 to 20%, with the mean duty ranging between 10 and 15%. Import levies are an important part of Russian government revenue. However, importing into Russia is not an easy procedure. In addition to miscellaneous customs processing fees, goods going into Russia are potentially subject to three levies (an "Import duty/tariff," a "Value Added Tax," and an "Excise Tax"). The majority of goods shipped to Russia are also subject to various types of certification, labeling, documentation, and customs requirements. Importers of goods subject to import duties and excise taxes are obliged to pay these fees at Russian customs entry points. Export tariffs generally are found on a scale between 20 and 30%.
ENTERPRISE PROFIT TAX: The Federal enterprise profit tax rate is 13%. The regions have the right to set a profits tax rate of up to 22% for most entities and up to 30% for banks, insurance companies, brokers and intermediaries. Thus, a combined rate of 35% (13% federal and 22% regional) applies for most taxpayers. Higher rates (up to 90%) can apply to certain entertainment and gaming activities.
PERSONAL INCOME TAX: Russia taxes individuals resident in Russia on their worldwide income, and those who are not resident on income derived from sources within the Russian Federation. The rates are between 12 and 35%.
SOCIAL SECURITY CONTRIBUTIONS: Employers must make social security, pension and employment fund contributions, as well as obligatory medical insurance contributions. The total amount payable, which is deductible for profits tax purposes, is equal to 38.5% of each employee's gross salary. For Russian nationals employed in Russia by either Russian or foreign legal entities, there is a requirement to contribute 1% of the gross salary to the Pension Fund. This amount is deductible at source by the employer. Self-employed individuals have to register with the Pension Fund and must contribute 5% of their income.
OTHER TAXES: Companies may expect to pay a variety of other taxes, depending upon the geographic location, legal structure, and sector of their planned activity.
Road usage tax: The tax rate is applied to the gross sales of all companies excluding VAT and excise duties. The tax rate is in principle 2.5%, although the rate can be increased (or decreased) by local authorities.
Social infrastructure maintenance tax: For non-trading companies, the tax rate of a maximum of 1.5% is applied to the gross sales of the company, excluding VAT and excise duties. For trading companies the same rate is applied to the gross margin.
Property tax: Property tax (also called the real estate or fixed assets tax) is paid on the value of permanent or liquid stock, buildings, and property under construction. Certain assets are excluded from the tax base, namely monetary assets, social and cultural assets, environmental protection assets, agricultural equipment, pipelines, electricity lines, and land. The maximum rate of tax is 2%, but the actual rate is set by local authorities.
Education needs tax: Education needs tax is levied on all enterprises involved in commercial activities at the rate of 1% of the total payroll.
Advertising tax: Advertising tax is levied on all enterprises that have advertising activity. The rate is 5% of the direct and indirect advertising expenses, excluding VAT.
Tax on the use of the names ``Russia'', ``Russian Federation'', etc.: Under Russian legislation, companies with the words ``Russia'' or ``Russian Federation'' in their name are required to pay a turnover tax on the use of these names. The rate of tax is either 0.05% or 0.5% depending on the type of income received and the type of activities in which the company is engaged.
Excess wage tax: This tax is applied to employees who earn more than 6 times the Russian minimum wage. In April 1995, this levy, which was previously only applied to registered offices (those actively involved in commercial transactions), was extended to representative offices (not involved in commercial transactions).
Securities emissions tax: Securities emissions tax is based on the nominal value of securities issued and is payable by issuing entities. The tax does not apply to a primary issue of securities (ie the initial share capital) or an issue of securities in respect of a revaluation of fixed assets. The tax rate is 0.8% of the nominal value of the securities.
Tax on vehicles: There are two taxes on vehicles, a tax on the purchase of vehicles and a tax on vehicle owners. The tax on the purchase of vehicles (which applies to legal entities, but not to individuals) is a percentage of the purchase price of the vehicle excluding VAT, excise, and customs duties (for imported vehicles). The rates are 20% for cars, vans, and trucks, and 10% for trailers and semi-trailers. The tax on vehicle owners applies to both individuals and legal entities. Although this is a federal tax, the regional authorities can increase the rate of tax. (Separately, VAT, excise, and customs duties also generally apply to imported vehicles.)
Oil sales tax: Oil sales tax is levied on companies that carry out domestic sales of oil products (gasoline, diesel fuel, and motor oils). The tax base is the wholesale price excluding VAT, or, in the case of entities buying and reselling oil products, the difference between the VAT exclusive sales and the purchase price. The tax rate is 25%.
Land tax: A land tax must be paid by all public, private, or individual land owners or lessees. The tax rates are determined annually and levied on a per-hectare rate by the type of land and location.
Natural resource tax: Natural resource taxes must be paid by companies involved in extracting natural resources, disposing of waste and pollutants, or other activities which cause damage to the environment. The tax rate depends on the resource or type of pollutant.
The first step in dealing with an input-output table is to transfer the data into a GAMS readable format. In order to transfer an Excel file into GAMS format, you need:
In addition, you need the following files in your GAMS directory:
If you do not have these GAMS utilities, you can download them from
We start from an MS Excel file with the data from Table 2. The spreadsheet has one row and one column of titles and 19x23 data matrix 10. A conversion is made in the following way. At first, we prepare an Excel file; then save it as a Lotus file 11; then the iodata.gms file reads the data into GAMS format, checks the data, and creates a dataset file; and the model.gms file prepares data for a static model and contains a benchmark static model. In order to minimize the number of potential mistakes, we stress the necessity of multiple checks during the process of data transformation and model building.
In section 2, we refer to rows and columns by their numbers from Table 2. However, an Excel spreadsheet usually has description titles, rather than numbers, to denote rows and columns. Often, rows and columns with the same title have different abbreviations in different parts of the spreadsheet (or sometimes simply misspellings). As an example from Table 2, we have ``Agriculture and forestry'' in row 3 title, but just ``Agriculture'' in column 3, even though we refer to the same sector. Converting it in this way would lead to an assignment of the data to two different sectors. The easy way to avoid potential mistakes is to number the rows and columns as shown in Table 3. An additional row and column can be inserted in Excel by clicking at Insert, then Rows or Columns.
Industry Construction Agriculture Industry 543,377,284 90,450,789 40,031,134 Construction 2,744,031 666,058 362,993 Agriculture and forestry 37,566,006 390 51,371,826 Transport and communications 16,612,675 8,206,444 2,834,779
Table 3.a. Excel spreadsheet - an original format
Industry Construction Agriculture 1 2 3 Industry 1 543,377,284 90,450,789 40,031,134 Construction 2 2,744,031 666,058 362,993 Agriculture and forestry 3 37,566,006 390 51,371,826 Transport and communications 4 16,612,675 8,206,444 2,834,779Table 3.b. Excel spreadsheet after adjustment
The program we use to convert a file from Excel into GAMS is SSLINK which works with Lotus and Excel worksheets, but not with Excel workbooks. In order to assure a proper transfer, an intermediate step of saving an Excel worksheet as a Lotus 123 file is needed. It can be done in the following way:
Excel sometimes introduces incompatible bytes in exported .wk1 files. In order to assure proper transfer, the 123 (Lotus) program can be used.
Sometimes, it is helpful to give a name to the range of cells which contain the data. To do it, hit ``/'', then Range, Name, Create. You will be asked to Enter name and Enter range. A range can be specified explicitly by writing at the prompt or by highlighting the cells by moving the cursor 12. Before you quit Lotus, save your file after the changes. Now you are ready for the next step.
The program which reads *.wk1 file is iodata.gms (See Appendix for a program listing). It uses ssimport.gms as an interface to sslink.exe. A call of ssimport from a GAMS file can be done in the following way:
$LIBINCLUDE SSIMPORT parameter file rangewhere parameter is a name of the GAMS parameter to which data will be retrieved; file is a name of a file from which data will be read; range is a range of data in the file which needs to be imported.
ssimport reads data from the spreadsheets at compile time. The
spreadsheet range must be specified. The parameter must be declared
and dimensioned prior to the import. GAMS does range checking if it
has explicit domains in the declaration. A general syntax of
ssimport can be found at
We have named our *.wk1 file as iopaper.wk1, and the range of our data is B4..Z23. So, we use: ssimport iodata iopaper.wk1 b4..z23; which means that GAMS reads data from the range b4..z23 in the file iopaper.wk1 into a parameter iodata. If in Lotus, the range b4..z23 has been named as DATA, then one can use: ssimport iodata iopaper.wk1 data.
From Table 2, we have 19 parameters: one 9x9 matrix of intermediate demand, and the other 11 columns and 7 rows (excluding rows and columns representing subtotals and totals). Three rows, Net Profit, Net Mixed Income, and Depreciation, will be combined into one GAMS parameter, Gross return to capital. As a result of iodata.gms program, a dataset file russia.dat with 17 GAMS parameters is created. In the process of creating the dataset file, several checks of correctness of data transfer are made. For convenience, we move from a numeric to symbol representation of the sectors and make an adjustment in the data, dividing it by 1,000,000.
The program iodata.gms has the following structure (see Appendix for a file listing). After reading data into GAMS format with ssimport utility, a single parameter IODATA is created. The next step is to transfer data into appropriate parameters of a dataset file. As such, we need to declare all 19 parameters.
iod Input-output demand wages Wage payments socsec Social security contribution profit Net return to capital mixed Net mixed income othtax Other taxes subsidy Other subsidies deprec Depreciation consum Household consumption govdem Government demand fixedi Increments in fixed assets stock Stock change export Export demand trnspt Transport margin trade Trade margin vat VAT in use nettax Net taxes on goods imptax Import taxes import Imports evaluated at basic prices
To do the transfer from IODATA parameter, a set MAP(N,I) is used where N is a numeric representation of industries and I is a symbol representation. For intermediate demands, it is done as:
iod(i,j)=sum((n,m)$(map(n,i) and map(m,j)),iodata(n,m))/1000000;For row based parameters 13:
wages(i)=sum(map(n,i),iodata("11",n))/1000000;And for column based parameters:
Then, we check to see if the transfer was correct by comparing major rows and columns in GAMS and Excel.
iod("rowsum",j)=sum(i,iod(i,j)); iod("chk",j)=sum(map(m,j), iodata("10",m))/1000000-iod("rowsum",j); iod(i,"colsum")=sum(j,iod(i,j)); iod(i,"chk")=sum(map(n,i), iodata(n,"10"))/1000000-iod(i,"colsum");The same type of checks are done for all subtotals and totals from Table 2.
Then, a profit check is performed. It shows the difference between total input and total output for every sector.
prchk(j,"output")=sum(i,iod(i,j))+grvad(j); prchk(i,"use")=usetotbas(i); prchk(i,"chk")=prchk(i,"use")-prchk(i,"output");Because our IO table is not balanced, an adjustment is done as described in Section 4. Return to capital is modified by the amount of difference between inputs and outputs. We combine net profit, mixed income, and depreciation into one parameter of gross return to capital. If return is negative, we make an adjustment to the corresponding wage account. As such, gross value added equals to a sum of non-negative return to capital, wages, and social security contributions.
return(i)=prchk(i,"chk")+deprec(i)+profit(i)+mixed(i); wages(i)=wages(i)+min(0,return(i)); return(i)=max(0,return(i)); va(i)=return(i)+wages(i)+socsec(i);Then, a check of data is done to make sure that we balanced an IO table.
prchk(j,"bal")=va(j)+othtax(j)-subsidy(i)+sum(i,iod(i,j))-prchk(j,"use");In terms of Table 1, the balance means that there is an exact correspondence between Matricies C and J. After checking that the data is balanced, relevant GAMS parameters are created using gams2prm utility. The result is a file, russia.dat, with the data assigned to the following parameters:
iod(i,j) Input-output demand wages(i) Wage payments socsec(i) Social security contribution return(i) Gross return to capital othtax(i) Other taxes subsidy(i) Other subsidies consum(i) Household consumption govdem(i) Government demand stock(i) Stock change fixedi(i) Increments in fixed assets export(i) Export demand trnspt(i) Transport margin trade(i) Trade margin vat(i) VAT in use nettax(i) Net taxes on goods imptax(i) Import taxes import(i) Imports evaluated at basic prices
We use russia.dat file as our dataset file. The program which reads the data from the dataset, prepares it for a static model, and describes the static model in MPSGE format is model.gms (see Appendix for a file listing).
At first, we simply read the data into one array and copy it into another, e.g. export(i) is copied into x0(i). This is done simply due to the authors' preference to use shorter identifiers in the MPSGE model. At the same time, the other assingments to the static model parameters are made in the following way. For private consumption, investment and government:
cd0(i) = consum(i); c0 = sum(i, cd0(i)); id0(i) = stock(i) + fixedi(i); i0 = sum(i, id0(i)); gd0(i) = govdem(i); g0 = sum(i, gd0(i));For export and import (note that the reference price of imports, pm0(i), equals one plus the benchmark tariff rate, 1 + tm(i)):
x0(i) = export(i); m0(i) = import(i); tm(i)$import(i) = imptax(i)/import(i); pm0(i) = 1 + tm(i);For capital, labor, labor tax, and labor reference price, accordingly:
kd0(i) = return(i); ks0 = sum(i, kd0(i)); ld0(i) = wages(i); ls0 = sum(i, ld0(i)); tl(i)$ld0(i) = socsec(i) / ld0(i); pl0(i) = 1 + tl(i);For trade and transportation margins:
trd(i) = max(0, trade(i)); trn(i) = max(0, trnspt(i)); margin(i) = max(0, -trade(i)) + max(0, -trnspt(i));For Armington supply, VAT and net taxes:
a0(i) = sum(j, iod(i,j)) + cd0(i) + gd0(i) + id0(i); ta(i) = vat(i)/a0(i); tn(i) = nettax(i)/a0(i);For domestic sales and indirect production taxes:
d0(i) = a0(i)*(1-ta(i)-tn(i)) - pm0(i) * m0(i) - trn(i) - trd(i); ty(i) = (othtax(i)-subsidy(i))/(d0(i) + margin(i) + x0(i));For balance of payment:
bopdef = sum(i, m0(i) - x0(i));
The program computes and displays a listing of the benchmark tax rates for all sectors. They are presented in Table 3. Tax rates are calculated based on IO information. They do not represent statutory rates. These tax rates apply as follows:
Other possible ways of interpreting taxes are described in Section 5.
The template static general equilibrium model in model.gms contains a minimal set of elements to illustrate the data. The general equilibrium model is intended to be as standard as possible. A representative agent is endowed with primary factors (labor, capital). Investment demand, public provision, and the balance of payments deficit are held constant. After selling primary factors, purchasing investment and public provision, the remaining income is devoted to private consumption. The MPSGE code describing final demand is:
$demand:ra d:pc q:c0 e:pl q:ls0 e:rk q:ks0 e:pfx q:bopdef e:pg q:(-g0) e:pinv q:(-i0)
Investment and public output aggregates are both Leontief aggregates across Armington composites of domestic and imported goods. All users are based on an identical CES aggregation of imports and domestic varieties. These functions are
$prod:g o:pg q:g0 i:pa(i) q:gd0(i) $prod:inv o:pinv q:i0 i:pa(i) q:id0(i)
Final demand is a Cobb-Douglas aggregation of goods, defined in the model as:
$prod:c s:1 o:pc q:c0 i:pa(i) q:cd0(i)
The Armington aggregation sector combines domestic and imported varieties and applied trade and transport margins. There is an elasticity of substitution equal to 4 between domestic and imported goods. This function is as defined in MPSGE follows:
$prod:a(i) s:0 dm:4 o:pa(i) q:a0(i) a:ra t:ta(i) i:pd("trd") q:trd(i) i:pd("trn") q:trn(i) i:pd(i) q:d0(i) dm: i:pm(i) q:(pm0(i)*m0(i)) dm:
Note that "trd" is a subset of i which defines the trade margin sector, and "trn" is a subset of i defining the transport margin sector.
The production of goods follows from a nested Leontief-Cobb Douglas production function. Output is allocated to the domestic and export markets according to a constant-elasticity-of-transformation. Intermediate inputs are Leontief, while labor and capital enter as a Cobb-Douglas value-added aggregate, identified as nest "va:" in the MPSGE production block:
$prod:y(i) t:1 s:0 va:1 o:px(i) q:x0(i) a:ra t:ty(i) o:pd(i) q:(d0(i)+margin(i)) a:ra t:ty(i) i:pa(j) q:iod(j,i) i:pl q:ld0(i) p:pl0(i) a:ra t:tl(i) va: i:rk q:kd0(i) va:Two sets of taxes apply to the production function. The output tax ty(i) applies to both domestic and export supplies. The social security tax, tl(i), applies to labor inputs.
Reference prices for labor and capital are required here because those inputs trade off in a price-responsive nest. The intermediate inputs are untaxed, and they enter in a Leontief aggregate. For both of these reasons, a reference price is not needed - the default input price is unity, the actual benchmark value, and because these inputs are Leontief, the marginal rate of substitution at the benchmark point has no effect on the functional form.
If there were different benchmark tax rates on production for the domestic and export markets, it would specify explicit reference prices for those outputs. However, because the same benchmark tax rate applies to both outputs, the relative price is unity, and no reference price field is needed.
Export and import are defined as:
$prod:x(i) o:pfx q:x0(i) i:px(i) q:x0(i) $prod:m(i) o:pm(i) q:(pm0(i)*m0(i)) i:pfx q:m0(i) a:ra t:tm(i)The pfx in this function represents a foreign exchange, and tax, tm(i), is applied on imports. Export and import blocks could be implicitely specified within production and Armington blocks rather than described in separate blocks as
$prod:y(i) t:1 s:0 va:1 o:pfx q:x0(i) a:ra t:ty(i) o:pd(i) q:(d0(i)+margin(i)) a:ra t:ty(i) i:pa(j) q:iod(j,i) i:pl q:ld0(i) p:pl0(i) a:ra t:tl(i) va: i:rk q:kd0(i) va: $prod:a(i) s:0 dm:4 o:pa(i) q:a0(i) a:ra t:ta(i) i:pd("trd") q:trd(i) i:pd("trn") q:trn(i) i:pd(i) q:d0(i) dm: i:pfx q:m0(i) p:pm0(i) a:ra t:tm(i) dm:
We can check to see if the model recreates an equilibrium presented in a balanced IO table by setting the iteration limit to zero.
A file listing of the benchmark static model in GAMS/MPSGE format can be found in Appendix 3. For the MEB calculation, the model should be modified. First, a government should be declared in $CONSUMER block and intoduced explicitely as:
$demand:gov d:pg q:g0 e:pc q:dt
The agent who collects taxes and demands government goods becomes the government rather than a representative agent as in a core model. Another modification is an introduction of direct taxes in the amount of the difference dt between tax revenue from indirect taxes and government demand. It is assigned as an endowment to the government.
The MEB can be calculated as:
eb(sizegov,taxinst) = 100*(c0*(1-c.l)/(g0*(g.l-1))-1);where sizegov shows the percentage increase in the size of a government, taxinst - different tax instruments, c0 - benchmark private consumption (and welfare level), g0 - benchmark government spending, c.l and g.l - current levels. To compute MEB, one needs to loop over sizegov and taxinst.
In the case of a static model, a steady-state capital contstraint can be introduced in MPSGE as:
$constraint:k pinv =E= rk;capital and investment fields in the demand block are modified by a rationing instrument r
e:rk q:ks0 r:k e:pinv q:(-i0) r:kand a constraint k is declared in $AUXILIARY block. The orientation of the constraint is important to reflect the fact that more capital leads to a decrease in return to capital, which in turn leads to increase in the price of investment.
Appendix 3 contains a listing of three GAMS files iodata.gms, model.gms, and meb.gms. The iodata.gms file reads the data into GAMS format, checks the data, and creates a dataset file russia.dat. The model.gms file prepares the data for a static model and contains a core static MPSGE model. The meb.gms file shows the modification of the core static model for the marginal excess burden calculations.
File 1. IODATA.GMS
$title Excel into GAMS parameter iodata(*,*); * Read data from a file iopaper.wk1 to parameter IODATA $libinclude ssimport iodata iopaper.wk1 b4..z23 display iodata; set n Sectors numeric / 1 Industry 2 Construction 3 Agriculture and forestry 4 Transport and communications 5 Lease advertising audit trade 6 Communal services 7 Education science medical care and recreation servicies 8 Administration banking insurance 9 Others /; set i Sectors - symbols / IND Industry CON Construction AGR Agriculture and forestry TRN Transport and communications TRD Lease advertising audit trade COM Communal services EDU Education science medical care and recreation servicies FIN Administration banking insurance OTH Others /; set map(n,i) / 1.IND, 2.CON, 3.AGR, 4.TRN, 5.TRD, 6.COM, 7.EDU, 8.FIN, 9.OTH /; alias (n,m),(i,j); * Assign data to parameters ******************** * Row parameters parameter iod Input-output demand wages Wage payments socsec Social security contribution profit Net return to capital mixed Net mixed income othtax Other taxes subsidy Other subsidies deprec Depreciation grossva Gross value-added vachk Check of value-added; iod(i,j)=sum((n,m)$(map(n,i) and map(m,j)),iodata(n,m))/1000000; wages(i)=sum(map(n,i),iodata("11",n))/1000000; socsec(i)=sum(map(n,i),iodata("12",n))/1000000; profit(i)=sum(map(n,i),iodata("13",n))/1000000; mixed(i)=sum(map(n,i),iodata("14",n))/1000000; othtax(i)=sum(map(n,i),iodata("15",n))/1000000; subsidy(i)=-sum(map(n,i),iodata("16",n))/1000000; deprec(i)=sum(map(n,i),iodata("17",n))/1000000; * Note alternative formulation * deprec(i)=sum(n$map(n,i),iodata("17",n))/1000000; * Column parameters parameter consum Household consumption govdem Government demand fixedi Increments in fixed assets stock Stock change export Export demand trnspt Transport margin trade Trade margin vat VAT in use nettax Net taxes on goods imptax Import taxes import Imports evaluated at basic prices; consum(i)=sum(map(n,i), iodata(n,"11"))/1000000; govdem(i)=sum(map(n,i), iodata(n,"12"))/1000000; fixedi(i)=sum(map(n,i), iodata(n,"13"))/1000000; stock(i)=sum(map(n,i), iodata(n,"14"))/1000000; export(i)=sum(map(n,i), iodata(n,"15"))/1000000; trnspt(i)=sum(map(n,i), iodata(n,"17"))/1000000; trade(i)=sum(map(n,i), iodata(n,"18"))/1000000; vat(i)=sum(map(n,i), iodata(n,"19"))/1000000; nettax(i)=sum(map(n,i), iodata(n,"20"))/1000000; imptax(i)=sum(map(n,i), iodata(n,"21"))/1000000; import(i)=sum(map(n,i), iodata(n,"22"))/1000000; * Checks ********************** * Check of Subtotal (row 10) iod("rowsum",j)=sum(i,iod(i,j)); iod("chk",j)=sum(map(m,j), iodata("10",m))/1000000-iod("rowsum",j); * Check of Intermediate Consumption (column 10) iod(i,"colsum")=sum(j,iod(i,j)); iod(i,"chk")=sum(map(n,i), iodata(n,"10"))/1000000-iod(i,"colsum"); display iod; * Zero out check rows and colomns iod("rowsum",j)=0; iod("chk",j)=0; iod(i,"colsum")=0; iod(i,"chk")=0; * Check of Gross Value added (row 18) parameter grvad, vachk1; grvad(i)=wages(i)+socsec(i)+profit(i)+mixed(i)+othtax(i)-subsidy(i)+deprec(i); vachk1(i)=sum(map(n,i), iodata("18",n))/1000000-grvad(i); display grvad,vachk1; * Check of Total Use (Final+Intermediate+Export) (column 16) parameter usetot, vachk2, ops; usetot(i)=sum(j,iod(i,j))+consum(i)+govdem(i)+stock(i)+fixedi(i)+export(i); vachk2(i)=sum(map(n,i),iodata(n,"16"))/1000000-usetot(i); ops=sum(i,usetot(i)); display usetot, vachk2, ops; * Check of Total Use at Basic Prices (column 23) parameter usetotbas, vachk3, ops1; usetotbas(i)=usetot(i)-trnspt(i)-trade(i)-vat(i)-nettax(i)-imptax(i)-import(i); vachk3(i)=sum(map(n,i),iodata(n,"23"))/1000000-usetotbas(i); ops1=sum(i,usetotbas(i)); display usetotbas, vachk3, ops1; * Profit check parameter prchk; prchk(j,"output")=sum(i,iod(i,j))+grvad(j); prchk(i,"use")=usetotbas(i); prchk(i,"chk")=prchk(i,"use")-prchk(i,"output"); display prchk; parameter totprofit; totprofit("output")=sum(i,prchk(i,"output")); totprofit("use")=sum(i,prchk(i,"use")); totprofit("total")=totprofit("output")-totprofit("use"); totprofit("dumb")=sum(i,prchk(i,"chk")); display totprofit; * Additional parameters to correct for gross return *Gross return = sectoral profit(use-output)+net profit+depreciation+mixed income *if return is negative - move to wage account *value added = return(positive)+wages+social security parameter return Imputed gross return to capital va Sectoral value added; return(i)=prchk(i,"chk")+deprec(i)+profit(i)+mixed(i); wages(i)=wages(i)+min(0,return(i)); return(i)=max(0,return(i)); va(i)=return(i)+wages(i)+socsec(i); prchk(j,"balanced")=va(j)+othtax(j)-subsidy(j)+sum(i,iod(i,j))-prchk(j,"use"); display prchk; file kdat /russia.dat/; put kdat; $libinclude gams2prm consum $libinclude gams2prm govdem $libinclude gams2prm stock $libinclude gams2prm fixedi $libinclude gams2prm export $libinclude gams2prm trnspt $libinclude gams2prm trade $libinclude gams2prm vat $libinclude gams2prm nettax $libinclude gams2prm imptax $libinclude gams2prm import $libinclude gams2prm iod $libinclude gams2prm wages $libinclude gams2prm socsec $libinclude gams2prm othtax $libinclude gams2prm subsidy $libinclude gams2prm return
File 2. MODEL.GMS
$title MPSGE static model set i Industries - symbols / IND Industry CON Construction AGR Agriculture and forestry TRN Transport and communications TRD Lease advertising audit trade OSG Communal services EDU Education science medical care and recreation servicies FIN Administration banking insurance OTH Others /; alias (i,j); parameter iod(i,j) Input-output demand wages(i) Wage payments socsec(i) Social security contribution return(i) Gross return to capital othtax(i) Other taxes subsidy(i) Other subsidies consum(i) Household consumption govdem(i) Government demand stock(i) Stock change fixedi(i) Increments in fixed assets export(i) Export demand trnspt(i) Transport margin trade(i) Trade margin vat(i) VAT in use nettax(i) Net taxes on goods imptax(i) Import taxes import(i) Imports evaluated at basic prices; $include russia.dat parameter x0(i) Exports d0(i) Domestic sales ld0(i) Labor demand kd0(i) Capital demand ks0 Capital supply ty(i) Output tax tl(i) Social security tax pl0(i) Benchmark gross wage a0(i) Armington supply trd(i) Trade margin trn(i) Transport margin m0(i) Imports (gross of tariff) pm0(i) Benchmark import price tm(i) Tariff rate g0 Government output gd0(i) Government demand i0 Investment id0(i) Investment demand c0 Private consumption cd0(i) Consumption demand tn(i) Net tax on goods rate ls0 Labor supply ta(i) VAT rate margin Margin bopdef Balance of payments deficit; cd0(i) = consum(i); c0 = sum(i, cd0(i)); x0(i) = export(i); m0(i) = import(i); tm(i)$import(i) = imptax(i)/import(i); pm0(i) = 1 + tm(i); id0(i) = stock(i) + fixedi(i); i0 = sum(i, id0(i)); gd0(i) = govdem(i); g0 = sum(i, gd0(i)); kd0(i) = return(i); ks0 = sum(i, kd0(i)); ld0(i) = wages(i); ls0 = sum(i, ld0(i)); tl(i)$ld0(i) = socsec(i) / ld0(i); pl0(i) = 1 + tl(i); parameter profitchk; trd(i) = max(0, trade(i)); trn(i) = max(0, trnspt(i)); margin(i) = max(0, -trade(i)) + max(0, -trnspt(i)); display margin; a0(i) = sum(j, iod(i,j)) + cd0(i) + gd0(i) + id0(i); ta(i) = vat(i)/a0(i); tn(i) = nettax/a0(i); d0(i) = a0(i)*(1-ta(i)-tn(i)) - pm0(i) * m0(i) - trn(i) - trd(i); ty(i) = (othtax(i)-subsidy(i))/(d0(i) + margin(i) + x0(i)); profitchk(i,"orig") = kd0(i) + pl0(i)*ld0(i) + sum(j, iod(j,i)) - (d0(i)+margin(i)+export(i))*(1-ty(i)); profitchk(i,"d0") = d0(i); display profitchk; bopdef = sum(i, m0(i) - x0(i)); parameter taxes Benchmark tax rates; taxes(i, "ta") = round(100 * ta(i)); taxes(i, "tn") = round(100 * tn(i)); taxes(i, "tl") = round(100 * tl(i)); taxes(i, "tm") = round(100 * tm(i)); taxes(i, "ty") = round(100 * ty(i)); option taxes:0; display taxes; * core MPSGE model $ontext $model:static $sectors: y(i) ! Sectoral production a(i) ! Armington supply x(i) ! Export m(i) ! Import c ! Private consumption g ! Public sector demand inv ! Investment $commodities: pa(i) ! Armington price pd(i) ! Domestic market price pm(i) ! Import price px(i) ! Export price pc ! Consumption price pinv ! Investment price pfx ! Foreign exchange pg ! Public goods price pl ! Wage rate rk ! Return to capital $consumer: ra ! Representative agent $prod:y(i) t:1 s:0 va:1 o:px(i) q:x0(i) a:ra t:ty(i) o:pd(i) q:(d0(i)+margin(i)) a:ra t:ty(i) i:pa(j) q:iod(j,i) i:pl q:ld0(i) p:pl0(i) a:ra t:tl(i) va: i:rk q:kd0(i) va: $prod:a(i) s:0 dm:4 o:pa(i) q:a0(i) a:ra t:(ta(i)+tn(i)) i:pd("trd") q:trd(i) i:pd("trn") q:trn(i) i:pd(i) q:d0(i) dm: i:pm(i) q:(pm0(i)*m0(i)) dm: $prod:x(i) o:pfx q:x0(i) i:px(i) q:x0(i) $prod:m(i) o:pm(i) q:(pm0(i)*m0(i)) i:pfx q:m0(i) a:ra t:tm(i) $prod:g o:pg q:g0 i:pa(i) q:gd0(i) $prod:inv o:pinv q:i0 i:pa(i) q:id0(i) $prod:c s:1 o:pc q:c0 i:pa(i) q:cd0(i) $demand:ra d:pc q:c0 e:pl q:ls0 e:rk q:ks0 e:pfx q:bopdef e:pg q:(-g0) e:pinv q:(-i0) $offtext $sysinclude mpsgeset static static.iterlim = 0; $include static.gen solve static using mcp;
File 3. MEB.GMS
* MEB calculation: MPSGE formulation parameter dt Direct tax taxrev Indirect Tax revenue; taxrev = sum(i, (ta(i)+tn(i))*a0(i) + tm(i)*m0(i) + tl(i)*ld0(i) + ty(i)*(d0(i)+margin(i)+x0(i))); dt = g0 - taxrev; parameter gsize Size of government; gsize=1; set taxinst Tax instruments /out, lab, vat, net, imp/ inst(taxinst) Instrument; inst(taxinst)=no; * MPSGE model $ontext $model:static $sectors: y(i) ! Sectoral production a(i) ! Armington supply x(i) ! Export m(i) ! Import c ! Private consumption g ! Public sector demand inv ! Investment $commodities: pa(i) ! Armington price pd(i) ! Domestic market price pm(i) ! Import price px(i) ! Export price pc ! Consumption price pinv ! Investment price pfx ! Foreign exchange pg ! Public goods price pl ! Wage rate rk ! Return to capital $consumer: ra ! Representative agent gov ! Government $auxiliary: tau ! Tax adjustment $prod:y(i) t:1 s:0 va:1 o:px(i) q:x0(i) a:gov t:ty(i) n:tau$inst("out") o:pd(i) q:(d0(i)+margin(i)) a:gov t:ty(i) n:tau$inst("out") i:pa(j) q:iod(j,i) i:pl q:ld0(i) p:pl0(i) a:gov t:tl(i) n:tau$inst("lab") va: i:rk q:kd0(i) va: $prod:a(i) s:0 dm:4 o:pa(i) q:a0(i) a:gov t:tn(i) n:tau$inst("net") + a:gov t:ta(i) n:tau$inst("vat") i:pd("trd") q:trd(i) i:pd("trn") q:trn(i) i:pd(i) q:d0(i) dm: i:pm(i) q:(pm0(i)*m0(i)) dm: $prod:x(i) o:pfx q:x0(i) i:px(i) q:x0(i) $prod:m(i) o:pm(i) q:(pm0(i)*m0(i)) i:pfx q:m0(i) a:gov t:tm(i) n:tau$inst("imp") $prod:g o:pg q:g0 i:pa(i) q:gd0(i) $prod:inv o:pinv q:i0 i:pa(i) q:id0(i) $prod:c s:1 o:pc q:c0 i:pa(i) q:cd0(i) $demand:ra d:pc q:c0 e:pl q:ls0 e:rk q:ks0 e:pfx q:bopdef e:pc q:(-dt) e:pinv q:(-i0) $demand:gov d:pg q:g0 e:pc q:dt $constraint:tau g =E= gsize; $offtext $sysinclude mpsgeset static tau.l=0; static.iterlim = 0; $include static.gen solve static using mcp; static.iterlim=2000; set sizegov Size of the government (percentage increase) /1*5/; parameter eb Excess burden; loop((sizegov,taxinst), gsize = 1 + ord(sizegov)/100; inst(taxinst)=yes; $include static.gen solve static using mcp; eb(sizegov,taxinst) = 100*(c0*(1-c.l)/(g0*(g.l-1))-1); inst(taxinst)=no; ); display eb;
Appendix 4 contains a part of the file with a mixed complimentarity problem (MCP) formulation of the static model. The program calculates the MEB of the value added tax. MCP formulation explicitely describes the equilibrium conditions: zero profit, market clearance and income balance, which are automatically constructed by MPSGE.
set trd(i) /trd/, trn(i) /trn/; * MCP model scalar eta elasticity of transformation: domestic vs export /1/ dm elasticity of substitution: domestic vs import /4/; * Shares PARAMETER vad(i) Sectoral Value added (Capital+Labor) thetag(i) Government share thetap(i) Private thetai(i) Investment thetal(i) Labor thetak(i) Capital thetad(i) Domestic thetam(i) Import; vad(i) = ld0(i)*pl0(i) + kd0(i); thetag(i) = gd0(i)/g0; thetap(i) = cd0(i)/c0; thetai(i) = id0(i)/i0; thetal(i)$vad(i) = pl0(i)*ld0(i)/vad(i); thetak(i)$vad(i) = kd0(i)/vad(i); thetad(i) = (d0(i)+margin(i))/(d0(i)+margin(i)+x0(i)); thetam(i) = (pm0(i)*m0(i)) / (d0(i) + (pm0(i)* m0(i))); VARIABLES C Private consumption G Public provision INV Investment Y(i) Output X(i) Export M(i) Import A(i) Armington aggregation of domestic and import PC Private demand PG Public provision PINV Investment price PD(i) Domestic price PX(i) Export price PM(i) Import price PFX Foreign exchange PA(i) Armington composite price PL Wage rate PK Return to capital RA Representative agent income GOV Government income TAU Tax adjustment; EQUATIONS MKT_PC Private demand MKT_PG Public provision MKT_PINV Investment MKT_PD(i) Domestic price MKT_PX(i) Export price MKT_PM(i) Import price MKT_PFX Foreign exchange MKT_PA(i) Armington composite price MKT_PL Labor price MKT_PK Capital price PRF_C Private consumption PRF_G Public provision PRF_INV Investment PRF_Y(i) Output PRF_A(i) Armington aggregation PRF_M(i) Import PRF_X(i) Export INC_RA Representative agent INC_GOV Government CONSTR Constraint on government size; * For MCP version, three conditions should be specified explicitely: * 1) Zero profit (cost = value of output) * 2) Market clearance (supply = demand) * 3) Income balance (expenditure = income) * Definitions for cost functions * Final production C_Y(i) == SUM(j, iod(j,i) * PA(j)) + kd0(i) * (PL*(1+tl(i))/pl0(i))**thetal(i) * PK**thetak(i) + ld0(i) * pl0(i) * (PL*(1+tl(i))/pl0(i))**thetal(i) * PK**thetak(i); * Armington aggregation C_A1(i) == ((1-thetam(i))*PD(i)**(1-dm)+(thetam(i))*PM(i)**(1-dm))**(1/(1-dm)); C_A(i) == (d0(i) + (pm0(i)*m0(i))) * C_A1(i) + trdmrg(i)*PD("trd") + PD("trn")*trnmrg(i); * Private sector C_C == c0 * PROD(i, PA(i)**thetap(i)); * Public sector C_G == g0 * sum(i, PA(i)*thetag(i)); * Investment C_INV == i0 * sum(i, PA(i)*thetai(i)); * Import C_M(i) == m0(i) * pm0(i) * PFX; * Export C_X(i) == PX(i)*x0(i); * Export supply A_X(i) == x0(i) * (PX(i) / (thetad(i) * PD(i)**(1+eta) + (1-thetad(i)) * PX(i)**(1+eta))**(1/(1+eta)) )**eta; * Domestic supply A_D(i) == (d0(i)+margin(i)) * (PD(i) / (thetad(i) * PD(i)**(1+eta) + (1-thetad(i)) * PX(i)**(1+eta))**(1/(1+eta)) )**eta; * Definitions for demand functions * Private Demand D_C == RA/PC; * Government Demand D_G == GOV/PG; * Investment Demand D_INV == i0; * Domestic demand D_D(i) == A(i) * d0(i) * (C_A1(i) / PD(i))**dm + sum(j, A(j)*trdmrg(j))$trd(i) + sum(j, A(j)*trnmrg(j))$trn(i); * Export demand D_X(i) == x0(i) * X(i); * Import demand D_M(i) == A(i) * pm0(i) * m0(i) * (C_A1(i) / PM(i))**dm; * Foreign exchange demand D_F == sum(i, m0(i)); * Armington good demand D_A(i) == sum(j, iod(i,j)*Y(j)) + cd0(i) * PROD(j, PA(j)**thetap(j))/PA(i) * C + gd0(i) * G + id0(i) * INV; * Labor demand A_L(i) == ld0(i) * (PL*(1+tl(i))/pl0(i))**thetal(i) * PK**thetak(i) / ( PL * (1+tl(i))/pl0(i) ); D_L == sum(i, A_L(i) * Y(i)); * Capital demand A_K(i) == kd0(i) * (PL*(1+tl(i))/pl0(i))**thetal(i) * PK**thetak(i) / PK; D_K == sum(i, A_K(i) * Y(i)); * Zero profit * Production: PRF_Y(i)$(d0(i)+margin(i)+x0(i)).. C_Y(i) =E= (1 - ty(i)) * ((PD(i) * (d0(i)+margin(i))) + PX(i) * x0(i)); * Armington aggregation: PRF_A(i)$a0(i).. C_A(i) =E= (1 - ta(i) - TAU - tn(i)) * PA(i) * a0(i); * Public output: PRF_G.. C_G =E= PG * g0; * Private consumption: PRF_C.. C_C =E= PC * c0; * Investment PRF_INV.. C_INV =E= PINV * i0; * Export PRF_X(i)$x0(i).. C_X(i) =E= PFX * x0(i); * Import PRF_M(i)$m0(i).. C_M(i) =E= PM(i) * m0(i) * pm0(i); * Market clearance * Output + Initial Endowment = Intermediate + Final Demand * Complimentary to price * Private demand: MKT_PC.. C * c0 =E= D_C; * Government provision: MKT_PG.. G * g0 =E= D_G; * Investment: MKT_PINV.. INV * i0 =E= D_INV; * Domestic supply: MKT_PD(i).. A_D(i)*Y(i) =E= D_D(i); * Exports: MKT_PX(i)$x0(i).. A_X(i) * Y(i) =E= D_X(i); * Imports: MKT_PM(i)$m0(i).. (m0(i)*pm0(i))*M(i) =E= D_M(i); * Foreign Exchange MKT_PFX.. bopdef + sum(i, x0(i)*X(i)) =E= sum(i, m0(i)*M(i)); * Armington supply: MKT_PA(i)$a0(i).. a0(i)*A(i) =E= D_A(i); * Labor market: MKT_PL.. ls0 =E= D_L; * Capital market: MKT_PK.. ks0 =E= D_K; * Income balance ********** INC_RA.. RA =E= PL * ls0 + PK * ks0 + PFX * bopdef - PINV*i0 - PC * dt; INC_GOV.. GOV =E= PC * dt * Output tax: + sum(i, ty(i) * Y(i) * (PX(i) * A_X(i) + PD(i) * A_D(i))) * VAT: + sum(i, (ta(i) + TAU) * PA(i) * a0(i) * A(i)) * Net taxes on goods: + sum(i, tn(i) * PA(i) * a0(i) * A(i)) * Labor tax: + sum(i, tl(i) * PL * A_L(i) * Y(i)) * Import tax: + sum(i, tm(i) * PFX * m0(i) * M(i)); * Constraint on government size CONSTR.. G =E= gsize; * Define the mcp model: MODEL STAT / PRF_C.C, PRF_G.G, PRF_INV.INV, PRF_Y.Y, PRF_A.A, PRF_M.M, PRF_X.X, MKT_PC.PC, MKT_PG.PG, MKT_PINV.PINV, MKT_PD.PD, MKT_PX.PX, MKT_PM.PM, MKT_PA.PA, MKT_PL.PL, MKT_PK.PK, MKT_PFX.PFX, INC_RA.RA, INC_GOV.GOV CONSTR.TAU /;
1 At the end of 1996, the following figures on tax collection in Russia were released: 2.6 million enterprises and organizations are registered for tax purposes. One third of this number are ``dead'', i.e., fail to pay taxes altogether. Another 1.7 million are ``sick'', i.e., don't pay their taxes regularly or in full. Only 16.5 percent (436,000) are not facing serious claims against them by the tax service.
2 For detailed discussion, see Leontief (1966).
3 For detailed discussion, see Arrow and Hahn (1971), and Shoven and Whalley (1992).
4 Many alternative functional forms and elasticity parameters might be used. These are presented solely for concretness.
5 An algebraic formulation of output transformation function can be written:
6 Algebraic formulation for Cobb-Douglas aggregate of capital and labor
7 Algebraic formulation for Armington aggregation
8 Aggregate consumption is then expressed as:
9 See Shvyrkov (1980), p.16.
10 You can recreate the spreadsheet file from Table 2 by deleting extra space, table names, and moving tables 2.3 and 2.4 to the top right corner.
11 This step can be avoided if you use new
Rutherford's utility xllink. The utility operates only with
a PC version of GAMS. It requires that Excel be installed on the same
machine. XLLINK can be found at
12 In our example, the range is B4..Z23
13 Note the alternative formulation which leads to the same result: wages(i)=sum(n$map(n,i),iodata("11",n))/1000000;