From Wiki
Jump to: navigation, search




Structure and Agent System

Goods and Services Market

Goods and Services
Organizing Structure
Capital, labor, accumulated technology
Production, consumption, trade, investment
Key Aggregate  Relationships 
(illustrative, not comprehensive)
Key Agent-Class Behavior  Relationships
(illustrative, not comprehensive)
Firms and investment;
Government decisions on revenues and on both direct expenditures and transfer payments


 Financial Flows / Social Accounting

Organizing Structure
Government, firm, household assets/debts
Key Aggregate  Relationships 
(illustrative, not comprehensive)
Key Agent-Class Behavior  Relationships
(illustrative, not comprehensive)
Household savings/consumption;
Firm investment/profit returns and FDI decisions;
Government revenue, expenditure/transfer payments;
IFI credits and grants





Dominant Relations: Economics


The following key dynamics are directly related to the dominant relations:



Social Accounting Matrix Approach in IFs









Economic Flow Charts



Visual representation of production detail





Value Added


Visual representation of value added

Multifactor Productivity

The technological factor in the production function is often called multifactor productivity (MFP). The basic value of MFP is a sum of a global productivity growth rate driven by the economically advanced or leading country/region (mfpleadr ), a technological premium dependent on GDP per capita, and an exogenous or scenario factor (mfpadd).


Visual representation of multifactor productivity

Economic Aggregates and Indicators

Visual representation of GDP calculations

Household Accounts


Visual representation of household income

Firm Accounts

 Firms retain as income the portion of total value added that is not sent to households in return for labor provided. Income of firms functioning within a country (ownership in IFs is not designated as domestic or international) benefit from inflows of portfolio and foreign direct investment. Firms direct their income to governments in the form of tax payments, to households as dividends and interest, to the outside world as portfolio or foreign direct investment, and to savings (available for investment).
Visual representation of firm income

Government Accounts

Government revenues come from taxes levied on households and firms. The total expenditures are a sum of two sub-categories, direct consumption and transfer payments
Visual representation of government balance
(the latter in turn being a sum of payments for pensions/retirement and welfare.

The annual government balance is the difference between revenues and expenditures and increments or decrements government debt in absolute terms and as a portion of GDP. That stock variable in turn sends back signals to both revenue and expenditure sides of the model so as to keep the debt at reasonable levels over time.

The level of government consumption and its distribution across targets are important policy-relevant variables in the model. Government consumption is spread across several target spending categories: military health, education, traditional infrastructure, other infrastructure, research and development, other/residual, and foreign aid). The distribution to most of those categories is endogenously determined by functions, but other models in the IFs system provide special signals for military, education, and traditional infrastructure spending. Demand for military spending involves action-reaction dynamics (when a switch is turned on) and threat levels. Demand for educational and infrastructure involves full models. Demands will not equal supply and all demands are normalized to the supply, but special protection can be given to the demands for education and infrastructure spending.

Educational spending by level of education (primary, secondary, and tertiary) is further broken out of total educational spending in the education model but targets can be changed via a multiplier. 

Visual representation of government spending on education

Savings and Investment

Savings is a sum of the savings by households, firms, the government (its fiscal balance) and net foreign savings. Investment is most immediately a sum of gross capital formation and changes in inventories.

As in other parts of the IFs economic model, there will not be an exact equilibrium between savings and investment in any given time step. The system will chase equilibrium over time with the help of two mechanisms. The smoothed pattern of savings over time will affect investment. So, too, will interest rates that respond to changes in inventories or stocks of goods and services.

Visual representation of savings and investment


The trade algorithm of IFs relies on a pooled rather than bilateral trade approach. That is, it does not track exactly who trades with whom, maintaining instead information on gross exports and imports by sector and in total. The algorithm sums import demand and export capacity across all traders (in a given sector), defines world trade as the average of those two values, and then normalizes demand and capacity to the total of world trade to determine sectoral exports and imports by geographic unit.

Visual representation of trade and trade balance

World Trade as a percentage of GDP (WTRADE) is also computed from the trade variables shown above.

International Finance

The current account depends on international loan repayments and foreign aid flows as well as on the trade balance. The exchange rate floats with the debt level (in turn responsive to the current account balance) and is the key equilibrating variable in two negative feedback loops that work via import demand and export capacity (see description of trade).

Visual representation of international finance

Income Distribution

Domestic income distribution is represented by the Gini coefficient. That is calculated with a Lorenz curve that looks at the share of population and income held by the only two subgroups for which we have that information, namely unskilled and skilled households. That part of the calculation is fundamentally mechanical. The complicated part of the specification is the division of the population into unskilled and skilled labor portions and thus households. We have built formulations for that driven by the formal years of education attained by adults and the GDP per capita.

Visual representation of income distribution

Given domestic Gini indices, it is also possible to compute global Gini indices, both treating countries as wholes (GINI) and computing across the world at the household level (GINIFULL).


The calculation of poverty levels is fairly straightforward if one has the average level of consumption per capita (or income) and its distribution as indicated by the Gini index (and if one assumes that the distribution underlying the Gini index is log-normal). The internal calculation using those variables will, however, almost inevitably produce a rate of poverty at odds with the provided by national surveys. We therefore compute a ratio of those in the first year to allow adjustment in forecast years of the values from the lognormal calculation.

As a rough check on the values produced by lognormal calculation we also compute a value of poverty estimated from a cross-sectional function linking GDP per capita (and PPP) and Gini to rates of poverty.

Visual representation of poverty values

Informal Economy

The IFs model represents the overall size of the informal economy in terms of the informal shares of total labor and total GDP. The model first uses several driver variables to calculate the informal labor share, broken down by sector (either the informal sector or the formal and household sector) and by sex. Years of educational attainment by adults (aged 15 and older) is used as the core or deep driver; the other drivers used represent the push and pull factors that keep or push people and businesses out of the formal sector or pull them into it. The push factors modelled are: (1) the business regulatory index, which represents the level of red tape facing businesses trying to formalize and the regulatory burden formal companies must operate under; (2) the tax rate on corporate profits; and (3) the level of corruption. The pull factors modelled are: (1) government spending on social welfare and pensions as a percent of GDP, which is used as a proxy for the general strength of government capacity and the social safety net which can keep workers from having to turn to informal means to survive; and (2) spending on research and development as a percent of GDP, which has an important and independent, though relatively weakly supported, effect on informal GDP share.

The informal labor share is then used, combined with additional drivers, to calculate the share of official GDP that is informal (we assume, based on the non-observed economy framework used by the OECD and a growing number of countries that official GDP statistics capture the size of the informal economy within it). The share of informal GDP has two direct forward linkages, (1) to multifactor productivity or total productivity, and (2) to tax revenues, with the implication that the greater the share of informal GDP, the slower official GDP grows[13] and the more constrained government revenues become. The impacts on GDP and government finances then feed forward to the rest of the IFs model, including back to the drivers of informal labor share.

Economic Equations 


The growth portion of the goods and services module responds to endogenous labor supply growth (from the demographic model), endogenous capital stock growth (with a variety of influences on the investment level), and a mixture of endogenous and exogenous specification of advance in multifactor productivity (MFP). The endogenous portion of MFP represents a combination of convergence and country-specific elements that together create a conditional convergence formulation.

The equilibrium-seeking portion of the goods and services market module uses increases or decreases in inventories and prices (by sector) to balance demand and supply. Inventory stocks in each sector serve as buffers to reconcile demand and supply temporarily. Prices respond to stock levels. The central equilibrium problem that the module must address is maintaining domestic and global balance between supply and demand in each of the sectors of the model. IFs relies on three principal mechanisms to assure equilibrium in each sector: (1) price-driven changes in domestic demand; (2) price-driven changes in trade (IFs represents trade and global financial flows in pooled rather than bilateral form); and (3) stock-driven changes in investment by destination (changes in investment patterns could also be price-driven, but IFs uses stocks because of its recursive structure, so as to avoid a 2-year time delay in the response of investment).

The economic model makes no attempt through iteration or simultaneous solution to obtain exact equilibrium in any time point. In addition to being observationally obvious, Kornai (1971) and others have, of course, argued that real world economic systems are not in exact equilibrium at any time point, in spite of the convenience of such assumptions for much of economic analysis. Similarly, the SARUM global model (Systems Analysis Research Unit 1977) and GLOBUS (Hughes 1987) used buffer systems similar to that of IFs with the model "chasing" equilibrium over time.

Two "physical" or "commodity" models in IFs, agriculture and energy, have structures very similar to each other and to the economic model. They have partial equilibrium structures that optionally, and in the normal base case, replace the more simplified sectoral calculations of the goods and services market module.

The goods and services market sits within a larger social accounting matrix that tracks financial flows among households, firms, and the government. The integrated economic model also allows computation of income distribution and poverty rates.

The Goods and Services Market

The Production Function: Basic Overview

Cobb-Douglas production functions involving sector-specific technology or multifactor productivity (TEFF), capital (KS) and labor (LABS) provide potential value added (VADDP) in each sector, taking into account the level of capacity utilization (CAPUT), initially set exogenously (caputtar ). In a multi-sector model the functions require sectoral exponents for capital (CDALFS) and labor that, assuming constant returns to scale, sum to one within sectors.

Solow (1956) long ago recognized that the standard Cobb-Douglas production function with a constant scaling coefficient in front of the capital and labor terms was inadequate because the expansion of capital stock and labor supply leave a large portion of economic growth unexplained. It then became standard practice to represent an exogenously specified growth of technology term in front of the capital and labor terms as "disembodied" technological progress (Allen 1968: Chapter 13). Romer (1994) began to show the value of unpacking such a term and specifying its elements in the model, thereby endogenously representing this otherwise very large residual, which we can understand to represent the growth of multifactor productivity (MFP).

In IFs that total endogenous productivity growth factor (TEFF) is the accumulation over time (hence a stock like labor and capital) of annual values of growth in multifactor productivity (MFPGRO). There are many components contributing to growth of productivity, and there is a vast literature around them. See, for example, Barro and Sala-i-Martin (1999) for theoretical and empirical treatment of productivity drivers; also see Barro (1997) for empirical analysis (or McMahon 1999) for a focus on education.

In the development of IFs there was a fundamental philosophic choice to make. One option was to keep the multi-factor productivity function very simple, perhaps to restrict it to one or two key drivers, and to estimate the function as carefully as possible. Suggestions included focusing on the availability/price of energy and the growth in electronic networking and the knowledge society.

The second option was to develop a function that included many more factors known or strongly suspected to influence productivity and to attempt a more stylistic representation of the function, using empirical research to aid the effort as much as possible. The advantages of the second approach include creating a model that is much more responsive to a wide range of policy levers over the long term. The disadvantages include some inevitable complications with respect to overlap and redundancy of factor representation, as well as some considerable complexity of presentation.

Because IFs is a thinking tool and an extensively integrated multi-model system, the second approach was adopted, and the production function has become an element of the economic model that will be subject to regular revision and enhancement. IFs groups the many drivers of multifactor productivity into five categories, recognizing that even the categories overlap somewhat. The base category is one that represents core technological development and transfer elements of convergence theory, with less developed countries gradually catching up with more developed ones. The four other categories incorporate factors that can either retard or accelerate such convergence, transforming the overall formulation into one of conditional convergence.

The convergence base . The base rate of multifactor productivity growth (MFPRATE) is the sum of the growth rate for technological advance or knowledge creation of a technological leader in the global system (mfpleadr ) and a convergence premium (MFPPrem) that is specific to each country/region. The basic concept is that it can be easier for less developed countries to adopt existing technology than for leading countries to develop it (assuming some basic threshold of development has been crossed). The base rate for the leader remains an unexplained residual in the otherwise endogenous representation of MFP, but that has the value of making it available to model users to represent, if desired, technological cycles over time (e.g. Kondratief waves). The base also includes a correction term (MFPCor) that is initially set to the difference between empirical growth of MFP (calculated the first year as a residual between factor growth and output growth) and the sum of the technological leader and convergence premium terms. Over time, the correction term is phased out, but the four other terms (below) become key drivers of country-specific productivity. In fact, significant change in the other terms can either undercut the foundational convergence process or greatly augment it.

Human capital . This term has multiple components, including changes in educational spending as a portion of GDP, educational attainment of adults, and changes in health expenditure. For example, Barro and Sala-i-Martin (1999: 433) estimated that a 1.5% increase in government expenditures on education translates into approximately a 0.3% increase in annual economic growth.

Social capital . Similarly, social capital representation aggregates several components including economic freedom and absence of overt social conflict. Illustratively, the value of the parameter for economic freedom (elgref ) was estimated in a cross-sectional relationship of change in GDP level from 1985 to 1995 with the level of economic freedom. Similarly, Barro places great emphasis in his estimation work on the "rule of law".

Physical capital . In collaborative work with the IFs project, Robert Ayres correctly emphasized the close relationship between energy supply availability and economic growth. For instance, a rapid increase in world energy prices (WEP) essentially makes much capital stock less valuable. IFs uses world energy price relative to world energy prices in the previous year to compute an energy price term. The physical capital term also represents the extent of various types of infrastructure in a society.

Knowledge Capital . This fourth term includes changes in the R&D spending, computed from government spending (GDS) on R&D as a portion of total government spending (GOVCON) contribute to knowledge creation, notably in the more developed countries. Globerman (2000) reviewed empirical work on the private and social returns to R&D spending and found them to be in the 30-40% range; see also Griffith, Redding, and Van Reenen (2000). Many other factors undoubtedly contribute to superior knowledge development diffusion. This term represents especially the extent of economic integration with the global economy via trade.

All of the elements computed in the human, social, physical and knowledge capital terms are used in shaping economic productivity and growth rates of the model on a differential basis–that is, they are computed and evaluated relative to underlying "expected" patterns given overall economic development levels. Their actual levels can be above or below expected ones and they can therefore either add to or slow down the productivity growth rate. See the detailed equations of the production function for elaboration. 

The Production Function: Detail

The core equation for the production function computes value added (VADD) from technology (TEFF), capital (KS), labor (LABS), and capacity utilization (CAPUT), with a time-constant scaling parameter (CDA) assuring that gross production is consistent with data the first year. GDP is, of course, the sum across sectors of valued added. Although the production function can serve all sectors of IFs, the parameters agon and enon act as switches; when their values are one, production in the agricultural and primary energy sectors, respectively, are determined in the larger, partial equilibrium models and the values then override this computation (see documentation on those models for detail.

$ VADDP_{r,s}=CDA_{r,s,t=1}*TEFF_{r,s}*CAPUT_{r,s}*KS_{r,s}^{CDALFS_{r,s}}*LABS_{r,s}^{(1-CDALFS_{r,s})} $
$ s=3,4...nsectr $ or $ s=1,2...nsectr $


$ CDA_{r,s,t=1}=\frac{VADDP_{r,s,t=1}}{(KS_{r,s,t-1})^{CDALFS_{r,s,t=1}}*(LABS_{r,s,t=1})^{(1-CDALFS_{r,s,t=1})}} $
$ CAPUT_{r,s,t=1}=\mathbf{caputtar} $

Other topics in our documentation explain the dynamics underlying change in capital stock (through investment and depreciation) and labor supply (through demographic change and participation patterns). The rest of this topic will focus on the computation of the elements that go into the MFP or technology term (TEFF), working our way progressively deeper into their determinants.

At the most basic level the stock term is simply an accumulation of the annual increments in MFP. 

$ TEFF_{r,s}=TEFF_{r,s,t-1}*(1+MFPGRO_{r,s}) $;where 
$ TEFF_{r,s,t=1}=1.0 $

The annual growth in MFP (MFPGRO) consists of a base rate linked to systemic technology advance and convergence (MFPRATE) plus four terms that affect MFP growth over time as a result of human, social, physical, and knowledge capital. 

$ MFPGRO_{r,s}=MFPRATE_{r,s}+MPFHC_{r,s}+MFPSC_{r,s}+MFPPC_{r,s}+MFPKN $

Each of the following subsections elaborates one of the five terms.

Annual Base Technology Growth in MFP

The base rate related to technology or other factors unexplained by the four capital terms is anchored by an exogenous specification of the sector-specific rate of advance in the systemic leader’s technology (mfpleadr ); the leader is assumed to be the United States. (The rate in the leader's ICT sector gradually convergences over time to that of the service sector.) On top of that is an endogenously computed premium computed for convergence of each country/region (MFPPrem), a term that is a function of GDP per capita at PPP, the function for which posits an inverted-V shape with the greatest potential for technological convergence to the leader among middle-income countries. In this calculation there needs to be a correction factor (MFPCor), computed to assure that the actual rate of this growth is consistent with the actual amount of growth for a country/region (MFPGRO) that is unexplained by capital and labor growth in the first model run year. That correction factor converges to 0 over the number of years specified by mfpconv . This convergence assumption has significant implications for model behavior because it tends to slow down growth in countries (like China) that have had a burst of growth beyond that which the rates of the leader and the catch-up factor would lead us to anticipate and to speed up growth in countries (like the transition states of Central Europe) that have suffered a reduction similarly unexpected by the basic formulation.

$ MFPRATE_{r,s}=\mathbf{mfpleadr}_{s}+MFPrem_{r}+MFPCor_{r,s}+MFPGloCor_{t=1}+\mathbf{mfpbasgr}+\mathbf{mfpbasinc}*zy+\mathbf{mfpadd}_{r} $


$ MFPPrem_{r}=Func(GDPPCP_{r}) $
$ MFPCor_{r,s,t=1}=MFPGRO_{r,s,t=1}-MFPRATE_{r,s,t=1} $and
$ MFPCor_{r,s,t}=(ConvergeOverTime(MFPCor_{r,s,t=1},0,\mathbf{mfpconv}) $
$ MFPGloCor_{t=1}=\sum_{r=1}^{R}\sum_{s=1}^{S}MFPCor_{r,s,t=1}*VADD_{r,s,t=1}/\sum_{r=1}^{R}\sum_{s=1}^{S}VADD_{r,s,t=1} $

It is possible for the regionally and sectorally specific MFP correction terms (MFPCOR) to still leave a small discrepancy between the global economic growth in the data and the initial growth rate in the model. To avoid this, we also compute a global correction factor (MFPGloCor) as the region/country and value added weighted sum of the individual country-sector terms divided by the global and regional sums of value added.

In addition to the basic technology terms and the correction factors, there are three parameters in the MFPRATE equation (with zero values as the default) that allow the model user much control over assumptions of technological advance. The first is basic parameter (mfpbasgr ) that allows a global growth increment or decrement; the second is a parameter (mfpbasinc ) that allows either a constant rise or slowing of growth rate globally, year by year, where zy is the count of the model run years across time; finally is a frequently-used parameter (mfpadd ) allowing flexible intervention for any country/region.

Driver Cluster 1: Human Capital

The general logic of each the four driver clusters around human, social, physical, and knowledge capital is the same. Each cluster aggregates several variables that generally contribute to productivity. For each variable, such as average years of adult education in the human capital cluster, there is an expected value and an actual value. It is the difference between actual and expected values that gives rise to a positive or negative contribution to productivity and growth. Most expected values are identified in a relationship with GDP per capita at PPP.

That is, there is a tendency for most developmentally supportive variables to advance in a rough relationship with each other and with GDP per capita (Kuznets 1959 and 1966; Chenery and Syrquin 1975; Syrquin and Chenery 1989; Sachs 2005). To the degree that they do, such advance can be understood to be consistent also with the overall technological advance of the country. If, however, a variables such as years of formal education attained by adults exceeds the typical or expected value for a country at a given level of GDP per capita, we can expect that variable to add something more to productivity. Similarly, falling behind the expected value could retard productivity advance. To illustrate and emphasize this point, even a country for which adult education levels advance could find that education is not keeping up with the advance in other developmental variables including GDP per capita and find that its education levels move from contributing to productivity enhancement to decrementing that productivity enhancement.

In the human capital cluster there are six variables that add to or subtract from the human capital (MFPHC) term: the educational spending contribution (EdExpContrib), the years of adult education contribution (EdYearsContribub), the boost from life expectancy years (LifExpEdYrsBoost) assumed to generate (via mfpedlifexp ) extra years of education, the stunting contribution (StuntContrib) related to undernutrition of children, the disability contribution (DisabContrib) related to morbidity from the health model, and vocational education contribution (edVoccontrib) resulting from growth (or decline) in vocational share of lower and upper secondary enrollment,. The first five of these six drivers have a similar formulation while the formulation for vocational education is slightly different. The first five, as computed in IFs often as a result of extended formulations and even other models of system (as with life expectancy, computed in the health model) are compared with an expected value. In the case of disability, the expected value is set to the world average level (WorldDisavg), but all other expected values (EdExpComp, EdYrsComp, LifExpComp, and StuntingComp) are computed as functions of GDP per capita at PPP. As the provision of vocational education does not follow any common pattern or trend and is rather a matter of policy choices made (or will be made) by the particular country, it was not possible to calculate an expected value for this variable We have instead computed the vocational education contribution from changes in vocational share over time with appropriate moving averages to capture the lag required in materializing such contribution and to smooth out the contribution over time. (Note: In the base case of the model, vocational shares do not change and as such EdVocContrib is zero).

In each case a parameter drawn from study of the literature and/or our own analysis converts the difference between actual and expected into a positive or negative contribution to MFP. (Because of the recursive structure of IFs, some terms rely on variables from the previous time step, estimated from the current time step with a correction factor based on initial GDP growth.)

$ MFPHC_{r}=EdExpContrib_{r}+EdYrsContrib_{r}+LifExpEdYrsBoost_{r}+StuntContrib_{r}+DisabContrib_{r}+edVocContrib_{r} $


$ EdExpContrib_{r}=(\frac{GDS_{r,s=EDUC,t-1}*(1+IGDPRCor_{r})}{GDP_{r,t-1}*(1+IGDPRCor_{r})}*100-EdExpComp_{r})*\mathbf{mfpedspn} $
$ EdYrsContrib_{r}=(EDYRSAG15_{r,t-1}-EdYrsComp_{r})*\mathbf{mfpedyrs} $
$ LifExpEdYrsBoost_{r}=(Amin(LIFEXP_{r,t-1},SLifExpSlow_{r}+2)-LifExpComp_{r})*\mathbf{mfpedlifexp}*\mathbf{mfpedyrs} $
$ StuntContrib_{r}=(HLSTUNT_{r,t-1}-StuntingComp_{r})*\mathbf{mfpstunt} $
$ DisabContrib_{r}=(Amin(0.17,\frac{SumHlYLDWork_{r}}{Amax(0.001,POPWORKING_{r})})-WorldDisAvg)*\mathbf{mfphlyld} $
$ edVocContrib_{r,t}=f(EDSECLOWRVOC_{r,t-1}, EDSECLOWRVOC_{r,t-2}, EDSECUPPRVOC_{r,t-1}, EDSECUPPRVOC_{r,t-2}) $
$ edVocContrib_{r}=(0.9*edVocContrib_{r,t-1}+0.1*edVocContrib_{r,t})*\mathbf{mfpedvoc} $


Vocational contribution for lower secondary is calculated as:

$ eSecLowrVoc_{r,t}=0.9*eSecLowrVoc_{r,t-1}+0.1*EDSECLOWRVOC_{r,total,t-1} $
$ edVocSecLowrContrib_{r}=EDSECLOWRVOC_{r,total,t-1}-eSecLowrVoc_{r} $

A similar calculation is done for upper secondary vocational and the two are averaged as shown below:

$ edVocContrib_{r}=(edVocSecLowrContrib_{r}+edVocSecLowrContrib_{r})/2 $

Driver Cluster 2: Social Capital

The logic of comparison of actual with expected values is the same as that described above for human capital in the case of the six factors that contribute to social capital: economic freedom as in the Fraser Institute measure (EconFreeContrib), government effectiveness as in the World Bank measure (GovtEffContrib), corruption as in the Transparency International measure (CorruptContrib), democracy as in the Polity project measure (DemocPolicyContrib), freedom as in the Freedom House measure (FreedomContrib), and conflict as in the IFs project's own measure tied in turn to the work of the Political Instability Task Force (ConflictContrib). In each case other than that for conflict, the expected values (EconFreeComp, GovEffectComp, CorruptComp, DemocPolityComp, and FreeComp) are computed from functions with GDP per capita at PPP. In the case of conflict, the expected value is set at the initial year's value (and the comparison is reversed because lower conflict values contribute positively to MFP).

$ MFPSC_{r}=EconFreeContrib_{r}+GovtEffContrib_{r}+CorruptComp_{r}+DemocPolityContrib_{r}+FreedomContrib_{r}+ConflictContrib_{r} $


$ EconFreeContrib_{r}=(ECONFREE_{r,t-1}-EconFreeComp_{r})*\mathbf{mfpefree} $
$ GovtEffectContrib_{r}=(GovEffect_{r,t-1}-GovEffectComp_{r})*\mathbf{mfpgoveff} $
$ CorruptContrib_{r}=(GOVCORRUPT_{r,t-1}-CorruptComp_{r})*\mathbf{mfpgovcor} $
$ DemocPolityContrib_{r}=(DemoPolity_{r,t-1}-DemcPolityComp_{r})*\mathbf{mfpdemoc} $
$ FreedomContrib_{r}=(FREEDOM_{r,t-1}-FreeComp_{r})*\mathbf{mfpfree} $
$ ConflictContrib_{r}=(GOVINDSECRI_{r,t=1}-GOVINDSECR_{r,t})*\mathbf{mfpconflict} $

Driver Cluster 3: Physical Capital

The logic of the physical capital cluster is again parallel to that of the human and social capital clusters and involves the comparison of an actual (that is, IFs computed) with an expected value. The formulation for MFPPC can actually take several forms depending on the value of a switching parameter (inframfpsw ) but the standard form involves four contributions, from traditional infrastructure (InfraTradContrib), ICT infrastructure (InfraICTContrib), other infrastructure spending level (InfOthSpenContrib), and the price of energy (EnPriceTerm). The last term is included because higher prices of energy can make some forms of capital plant no longer efficient or productive.

In the case of this cluster only the expected value of the traditional infrastructure index (InfraIndTradComp) and the expected value of other infrastructure spending (InfraOthSpendComp) are computed as most other cluster elements are, namely as a function of GDP per capita at PPP. In the case of the ICT index contribution, the technology has been evolving so rapidly that there is not really a basis for an expected value with some stability over time. Instead the contribution from ICT is computed in terms of a moving average value of change over time, such that faster rates of change contribute more to MFP as the moving average expected value lags further behind the actual. In the case of the energy price term, the "expected" value is set equal to the energy price in the first year of the model run. As with other clusters and the variables in them, a single parameter links the discrepancy between actual and expected values to MFP.

$ MFPPC_{r}=InfraTradContrib_{r}+InfraICTContrib_{r}+InfOthSpndContrib_{r}+EnPriceTerm_{r,t-1} $


$ InfraTradContrib_{r}=(INFRAINDTRAD_{r,t-1}-InfraIndTradComp_{r})*\mathbf{mfpinfraindtrad} $
$ InfraICTContrib_{r}=(0.8*IndICTIndChange_{r,t-1}+0.2*IndICTIndChange_{r,t})*\mathbf{mfpinfraindict} $


$ IndICTIndChange_{r}=InfraIndICT_{r,t-1}-InfraIndICT_{r,t-2} $
$ InfraOthSpndContrib_{r}=(\frac{GDS_{r,s=InfraOther,t-1}*(1+IGDPRCor_{r})}{GDP_{r,t-1}*(1+IGDPRCor_{r})}*100-INFRAOthSpndComp_{r})*\mathbf{mfpinfrothspnd} $
$ PhysicalCapitalTerm_{r,s}=EnPriceTerm_{t-1} $
$ EnPriceTerm_{t-1}=(\frac{WEP_{t-1}-WEP_{t=1}}{WEP_{t=1}})*\mathbf{mfpenpri} $

Driver Cluster 4: Knowledge Capital

Following the pattern of other MFP driver clusters, the one for knowledge accumulation includes terms that compare actual model and typical or expected values and use parameters to translate the differences into increments or decrements of MFP. In this case the three terms represent R&D spending (RDExpContrib), economic integration via trade with the rest of the world (EIntContrib) and the share of science and engineering among all tertiary degrees earned (EdTerSciContrib). In the first and third case the expected value (RDExpComp; EdTerGRSciEnComp) is a function of GDP per capita at PPP. In the second instance, there is no clear relationship between extent of economic integration and GDP per capita, so the model compares a moving average of trade openness (exports plus imports as a percentage of GDP) with the initial value of openness (because trade is computed later in the computational sequence for each year, the values of trade variables lag one year behind those of the production function). Given the extreme global range of trade openness, the elasticity term itself in this relationship is variable, with values decreasing when initial openness is greater (that is, countries that start with less openness gain more from the same percentage point increases in it).

$ KnowledgeTerm_{r,s}=RDExpContrib_{r}+EIntContrib_{r}+EdTerSciContrib_{r} $


$ RDExpContrib_{r}=(RANDEXP_{r,t-1}-RDExpComp)*\mathbf{mfprandd} $
$ EIntContrib_{r}=(TradeTermMA_{r,t-1}-TradeTerm_{r,t=1})/10*ElasTerm_{r} $


$ TradeTerm_{r}=\frac{X_{r}+M_{r}}{GDP_{r}}*100 $
$ TradeTermMA_{r}=0.8*TradeTermMA_{r,t-1}+0.2*TradeTerm_{r,t-1} $
$ ElasTerm_{r}=Amax(0.1*\mathbf{mfpeconint},Amin(2*\mathbf{mfpeconint},\mathbf{mfpeconint}*(1+\frac{50-TradeTerm_{r,t=1}}{50}))) $
$ EdTerSciContrib_{r}=(EDTERGRSCIEN_{r,t-1}*EDTERGRATE_{r,t-1}/100-EdTerGrSciEnComp)*\mathbf{mfpedscien} $

Issues Concerning Parameterization and Interaction Effects

Although our approach to calculation of MFP creatively connects developments in many other models in the IFs system to it, parameterization of the effects individually and in interaction is complicated and uncertain. Hughes (2005) documented the original creation of the structure and its parameterization based on existing literature.

One of the concerns with this approach is the possibility of double counting of effects from the large number of variables fed into the MFP calculations. In general the project has dealt in part with this by selecting conservative values for the parameters when studies indicate possible ranges of contribution of the variables to productivity and/or growth. Another concern is that a very large or extreme advance by one or a small subset of variables could have inappropriately large impacts of productivity given the fundamental conceptual foundation of the approach in the notion that development involves widespread and reinforcing structural changes across many variables. In order to limit this possibility, we have created an algorithmic function (MFPContribAdj) to adjust the multiple MFP contributions and dampen especially high positive or negative contributions of the four cluster terms (MFPHC, MFPSC, MFPPC, and MFPKN). 

The Relationship of Physical Models to the Economic Model

IFs normally does not use the economic model's equations representing MFP and production for the first two economic sectors, because the agriculture and energy models provide gross production for them (unless those sectors are disconnected from economics using the agon and/or enon parameters). Instead, the two physical models provide gross production, translated to value terms, back to the economic model. See Section 3.2.3 for discussion of gross production.

In addition to this impact of the physical models on the economic model, there is one more of importance. Physical shortages on energy may constrain actual value added in each sector (VADD) relative to potential production. Economists typically do not accept such shortages as a real world phenomenon because (at least in theory) prices rise to clear markets; yet periods like the 1970s when governments intervened in those markets, such shortages do appear and they can in some IFs scenarios. In those situations, IFs assumes that energy shortages (ENSHO), as a portion of domestic energy demand (ENDEM) and export commitments (ENX) lower actual production in all sectors through a physical shortage multiplier factor (SHOMF). A parameter/switch (squeeze ) controls this linkage and can turn it off.

$ VADD_{r,s}=VADDP_{r,s}*(1-ShoMF_{r})*(\frac{MKAV_{s=manuf}}{MKAV_{s=manuf,t=1}})^{prodme} $


$ ShoMF=\frac{ENSHO_{r}}{ENDEM_{r}+ENX_{r}}*\mathbf{squeez} $

In addition, the translation of potential into actual production depends on the imports of manufactured goods (MKAV), which serve as a proxy for both availability of intermediate goods and for technological imports. A parameter (PRODME) also controls this relationship.

Although the IFs model represents prices in real terms (no monetary sector and no inflation), there are relative sectoral price changes (PRI). Some of those can be quite dramatic over time, especially in the agricultural and energy sectors where the equilibration of physical representations of supply and demand can swing those prices. Such relative price swings can, in the real world, give added drag or boost to the value added in certain sectors and for economies as a whole. To represent this we compute a relative-price adjusted version of value added (VADDRPA), which is the normal value added weighted by world sectoral prices (WP); the prices are lagged a year because of the recursive model structure.

$ VADDRPA_{r,s}=VADD_{r,s}*WP_{s,t-1} $

Gross Production and Intersectoral Flows

Given value added in each sector it is possible using an exogenously provided input/output matrix (A) to determine the level of gross production in each sector. We will see below, however, that the A-matrix is actually computed as a function of GDP per capita—the model interpolates among multiple A-matrices for various levels of GDP per capita in a procedure originally developed for the GLOBUS model (Hughes 1987).

$ ZS_{r,s}=\frac{VADD_{r,s}}{1-\Sigma^{Row}A_{row,column=s}} $

Given gross production and the A-matrix we can compute intersectoral flows (INTS).

$ INTS_{row,column=s}=ZS_{r,s}*A_{row,column=s} $

Production available for final demand (PFD) is the residual of gross production minus the sum delivered to all columns.

$ PFD_{r,s}=ZS_{r,s}-\sum^{Column}INTS_{row=s,column} $

GDP per capita-linked generic A-matrices are created in the pre-processor of IFs. To build them the IFs project turned to the IO matrices collected in the Global Trade Analysis Project. That database includes extensive data, including IO matrices, for 127 regions/individual countries across 57 sectors in GTAP 8 (every version tends to increase geographic coverage). With origins in 1992 of the now global project at the agricultural economics department of Purdue, GTAP heavily represents agricultural sectors. Narayanan, Aguilar and McDougall (2012) documented GTAP 8 (see also earlier versions including Dimaranan and McDougall (2002) for GTAP 5).

The pre-processor of IFs (Hughes and Irfan 2006) processes the IO matrices of GTAP to create those needed by IFs. One aspect of that involves collapsing the sectors to those of IFs (currently 6) using a concordance table. Even more importantly, however, the pre-processor generates from the most recent GTAP files within IFs a set of nine generic IO matrices to represent the average technical coefficient pattern of countries at different levels of GDP per capita. The generic matrices are calculated as unweighted averages of matrices for all countries with GDPs per capita in categories established by lower-end breakpoints of $0, $175, $375, $750, $1,500, $3,000, $6,000, $12,000, and $24,000.

The assumption behind the generic IO matrices is that countries at different GDP per capita levels typically use different types of technology. The resultant IO matrices bear this out in ways that seem intuitively plausible. For example, Tables 3.1 and 3.2 show (using earlier data from GTAP 5) the technical coefficient matrices for extreme levels of GDP/capita, below $100 and above $24,000, respectively. Note, for instance, how much lower a share of manufactures goes into the agricultural sector in the richest countries relative to the poorest, and how much more of the IC sector goes back into the IC sector in richer countries.

Table 3.1 Generic IO Matrix for Countries with GDP/Capita Below $100








AG Sector







RM Sector







PE Sector







MN Sector







SR Sector







IC Sector








Table 3.2 Generic IO Matrix for Countries with GDP/Capita Above $24,000








AG Sector







RM Sector







PE Sector







MN Sector







SR Sector







IC Sector








These generic matrices are used for two purposes. First, they are used for estimating values for countries of IFs that are NOT in the GTAP data set. Second, they are used in the actual dynamic calculations of the model. As countries rise in GDP/capita, interpolations between matrices above and below their level allow us to gradually change the matrix representing each country.

GTAP also provides data on return to four factors of production in each sector: land, unskilled labor, skilled labor, and capital. These returns represent value added and are very important data for the value added blocks of the SAM. The pre-processor also collapses these values into the (six) sectors of IFs and computes generic shares of the factors in value added by GDP per capita category, using the same unweighted average technique used for the IO coefficients. Once again the generic value-added shares are used both to fill country holes in the GTAP data set and to provide a basis for dynamically representing changes in those shares as countries develop.

Table 3.3 Generic Returns to Labor for Countries Below GDP/Capita $100























Table 3.4 Generic Returns to Labor for Countries Above GDP/Capita $24,000























The changes across the levels of GDP/capita appear reasonable. Note, for instance, the general shift of return to skilled from unskilled labor and the increase in returns to labor in total for the manufacturing and ICT sectors (at the expense of capital and other inputs).

The equations for value added and income in household categories can be found in the discussion of households as agents. Although the GTAP data by no means provide everything that was needed for the generation of universal SAMs, the project is aware of the utility of SAMs (Brockmeier and Arndt 2002) and provided several primary data inputs that serve our purposes.

Further, the GTAP data and the GDP per capita threshold approach is used in the pre-processor to compute a generic table for labor demand coefficients by sector, distinguishing skilled and unskilled labor. These are stored in the IOLaborCoefs table of IFs.mdb and are available for the computation of labor demand in the economic model. 

Labor Supply

Labor supply (LAB) is a function of population, depending on a labor force participation rate (LAPOPR). In earlier versions of IFs that participation rate was an exogenous parameter. It has now been decomposed into three elements: (1) the share of the population in the traditional working ages between 15 and 65, (2) the retirement age, and (3) the participation rate of women.

At one time we computed the share of population in the traditional working ages as a ratio of the size of the population in that age category (POP15TO65) and population (POP).

$ Pop15to65Ratio_{r}=\frac{POP15TO65_{r}}{POP_{r}} $

Although the name of the variable has not been changed yet, the formulation has now been changed in order to represent variable ages of entry into the work force (workageentry ) and retirement age (workageretire ) across countries and time. Those parameters are used to compute an actual working aged population (POPWORKING) or potential labor force in an algorithm across population age categories in the population model.

$ Pop15to65Ratio_{r}=\frac{POPWORKING_{r}}{POP_{r}} $


$ POPWORKING_{r}=F(AgeDst_{c,r},\mathbf{workageentry}_{r},\mathbf{workageretire}_{r}) $

The participation of women in the work force (FEMSHRLAB) as a share of the total labor force is assumed to grow over time with an exogenous parameter based on past experience (femshrgr ); the representation of women as a share of the labor force rather than in terms of percentage points of their participation somewhat complicates the equations below. The growth in labor-force share is modified by a multiplier (FemShrLabMul) that introduces saturation as female participation rates approach a target (FemShrTar). The model user can modify that target, normally between 50 and 60% via an exogenous parameter (labfemshrm ).

$ FEMSHRLAB_r=FEMSHRLAB_{r,t=1}+\mathbf{femshrgr}*FemShrLabMul_{r} $


$ FemShrLabMul_r=\frac{FemShrTar_r-FEMSHRLAB_{r,t-1}}{FemShrTar_r-FEMSHRLAB_{r,t=1}} $
$ FemShrTar_r=Amin(60,Amin(50,FEMSHRLAB_{r,t=1}+20)*\mathbf{labfemshrm}_e) $

Given the three drivers of labor force participation rates (LAPOPR) it is possible to compute it relative to the rate in the first year:

$ LAPOPR_r=(LAPOPR_{r,t=1}+\frac{FEMSHRLAB_r-FEMSHRLAB_{r,t=1}}{100}*\frac{FEMSHRLAB_{r,t=1}}{100})*\frac{Pop15to65Ratio_r}{Pop15to65Ratio_{r,t=1}}*\mathbf{labretagem}_r*\mathbf{lapoprm}_r $

Change in the retirement age can be reflected in the above equation via a multiplicative parameter (labretagem ), but it does not give the precision of control that workageretire does and is no longer recommended for use. The multiplier on participation rate (lapoprm ) is, however, a useful scenario intervention point.

The product of participation rate and population provides the total labor pool (LAB).

$ LAB_r=POP_{r,t}*LAPOPR_r $

The total labor pool can be divided into subcomponents in two different ways. First, labor is spread across production sectors (LABS). Second, it is differentiated by household type in to skilled and unskilled labor (LABSUP).

Labor Supply by Sector

Labor by sector of the economy (LABS) is a share of the total labor force (LAB) minus unemployment calculated at an exogenous unemployment rate (UNEMPR). The sectoral share is calculated in a function that estimates the labor demand for each unit of value added (VADD) at given levels of GDP per capita (GDPPC).

$ LABS_{r,s}=\frac{LAB_r*(1-\mathbf{unempr}_r)*\Sigma^HLaborF_{r,s}}{\Sigma^S\Sigma^HLaborF_{r,s}} $


$ LaborF_{r,s}=AnalFunc(GDPPC_r,VADD_{r,s}) $

Labor Supply by Household Skill Category

Labor by household type (LABSUP) is determined by calculation of the percentage that comes from skilled households (PerSkilled). At the core of that calculation of percent skilled is an analytical function with GDP per capita at PPP (GDPPCP). But the analytical function is fundamentally tied to conditions that prevail in the contemporary era (as captured by the GTAP data on which it is based). We know that education levels have been increasing, even to the extent of involving some credential inflation. Thus the percentage of the labor force considered skilled is likely to increase faster than the function indicates. Thus it is modified by a skilled labor adjustment factor (LabSupSkiAdj) that takes into account the difference between the actual extent of education among adults over 15 (EDYEARS15) and the expected level and translated that into a boost or reduction in the percentage skilled in the same manner that differences between actual and expected years affect MFP in the production function. The YearsEdDiff term simply maintains the difference by country/region of the initial (year 2) difference between the expected years from the function and the actual years of education.

$ LABSUP_{r,h=Skilled}=LAB_r*\frac{PerSkilled}{100} $


$ PerSkilled=AnalFunc(GDPPCP_r)*(1+LabSupSkiAdj) $
$ LabSupSkiAdj=\frac{EDYEARS15_r-YearsEdExp}{YearsEd}*0.3 $


$ YearsEd=AnalFunc(GDPPCP_r) $
$ YearsEdDiff_r=EDYRSAG15_{r,t=2}-YearsEd_{t=2} $
$ YearsEdExp=YearsEd+YearsEdDiff_r $

The unskilled labor is computed as a residual.

$ LABSUP_{r,h=UnSkilled}=LAB_r-LABSUP_{r,h=Skilled} $

Capital-Labor Shares

The Cobb-Douglas exponent (CDALF) of the production function is known to change over long time periods, giving somewhat less weight to capital as an economy becomes more capital intensive (see, for instance, Thirlwall 1977: chapter 2). The GTAP project data again provided the basis for an estimation of this relationship.

That function, in combination with data from Thirlwall and others on sectoral differences in capital share, allow the computation of sectoral capital shares (CDAlfS), normalized so as to generate CDALF for the total economy. A parameter (salpha ) represents a generic pattern of capital share variation across production sectors.

$ CDALF_r=AnalFunc(GDPPCP_r) $
$ CDAlfS_{r,s}=Normalization(CDALF_r,saplha_s) $

GDP at MER and PPP and Relative-price Adjusted GDP

Gross regional or domestic product (GDP) is the sum of value added across sectors, which would also equal the sum of production for final demand across sectors.

$ GDP_r=\sum^SVADD_{r,s} $

The GDP per capita (GDPPC) and the regional economic growth rate (GDPR) follow easily.

$ GDPPC_r=\frac{GDP_r}{POP_r} $
$ GDPR_r=\frac{GDP_r-GDP_{r,t-1}}{GDP_{r,t-1}} $

The basic GDP figures for the model are represented in dollars at official exchange rate values. It is important, however, to estimate the value of GDP and GDPPC at purchasing power parity levels as well (GDPP and GDPPCP). To do that we need to compute a purchasing power parity conversion value (PPPConV). Data sources provide the initial conversion value. IFs uses an analytic function that relates GDP per capita at MER to that at PPP to compute change in the conversion value over time.

The initial condition for the conversion ratio comes from data values for the GDP per capita at PPP and MER. Over time, the conversion ratio (which can be considerably above 1 for developing countries) erodes. The annual erosion is the difference between the previous year's value and a product of two terms: (1) an initial ratio that controls for any difference between the actual GDP per capita at PPP and the value produced by the function relating it to GDP per capita at MER (this ratio should not normally be very different from 1); (2) the current conversion ratio, which uses the potential GDP per capita (actual GDP per capita having not yet been computed) to feed the analytical function.

$ GDPP_r=GDP_r*PPPConV_r $


$ PPPConV_{r,t=1}=\frac{GDPPCP_{r,t=1}}{GDPPC_{r,t=1}} $
$ PPPConV_{r,t}=PPPConV_{r,t-1}-(PPPConV_{r,t-1}-(FunctionRatioInitial_{r,t=1}*ConversionRatioCurrent_{r,t})) $
$ FunctionRatioInitial_{r,t=1}=\frac{GDPPCP_{r,t=1}}{AnalFunc(GDPPC_{r,t=1}} $
$ ConversionRatioCurrent_{r,t}=\frac{AnalFunc(GDPPOTPC_{r,t})}{GDPPOTPC_{r,t}} $

Although the IFs model represents prices in real terms (no monetary sector and inflation), there are relative sectoral price changes and a separate section of the documentation describes the computation of a relative-price adjusted value added (RPA). The sum of those can also produce a relative-price adjusted GDP (GDPRPA). The utility of this variable can be seen, for instance, in countries, like Saudi Arabia, that are heavily dependent on energy exports. Large swings in the relative price of the energy sector can dramatically affect the relative-price adjusted GDP and we therefore carry this variable forward from the goods and services market into the more encompassing social accounting matrix representation.

$ GDPRPA_r=\sum^SVADDRPA_{r,s} $


Imports and exports respond to regional prices (PRI) relative to those elsewhere. As a measure of prices elsewhere, IFs uses a world average price (WP), weighted by regional gross production and adjusted by the exchange rate (EXRATE).

$ WP_s=\frac{\Sigma^R(PRI_{r,s,t-1}*EXRATE_r*ZS_{r,s})}{\Sigma^RZS_{r,s}} $

The computation uses lagged prices because at this point the recursive equation system has not yet computed current prices.

Exports are responsive to both changes in production and changes in prices via respective elasticities. On the production side we begin by computing an export base (XBASE). It is initial exports (XS) plus some portion (XKAV) of growth in production, represented by potential gross sectoral production (ZSP). Representing a moving average of incremental production that is exported helps maintain global balance and stable behavior in long-term forecasting. The exported portion is modified over time in response to two elasticities. The first is a fairly standard elasticity of exports with income/production growth (elasxinc ). The second is an export shift parameter that one would normally use to represent scenarios about export promotion or constraint.

$ XBASE_{r,s}=(XS_{r,s,t-1}+(ZSP_{r,s}-ZSP_{r,s,t-1})*XKAV_{r,s}*\mathbf{elasxinc}_r)*(1+\mathbf{xshift}_r) $

Given the export base, export capacity (XC) responds to the difference between local and global prices using an elasticity of trade with prices (elastrpr ). In addition we use two parameters (first order and second order) to pursue dynamically a global trade balance over time (elprx1 and elprx2 ). You may wish more detail on the adjustment mechanism.

$ XC_{r,s}=XBASE_{r,s}*(1+(\frac{PRI_{r,s,t-1}*EXRATE_r-WP_s}{WP_s}))^{elxpr1}*(1+(\frac{PRI_{r,s,t-1}*EXRATE_r-WP_s}{WP_s}-\frac{PRI_{r,s,t-2}*EXRATE_{r,t-1}-WP_{r,t-1}}{WP_{r,t-1}}*\mathbf{elastrpr}_s))^{elxpr2} $

Import capacities or demands (MD) are almost exactly analogous. Whereas exports are tied to production, however, imports are tied to a demand base (DBASE) made up of final demands plus gross sectoral production potential (ZSP).

$ DBASE_{r,s}=CS_{r,s}+GS_{r,s}+INVS_{r,s}+ZSP_{r,s} $

Imports are responsive to both changes in income and changes in prices and respective elasticities. We use the demand base as the basis for the income term. Specifically, we create a basic import level (MBASE) that grows with the demand base, responsive to an income elasticity parameter for imports (elasminc ).

$ MBASE_{r,s}=MS_{r,s,t-1}+(DBASE_{r,s}-DBASE_{r,s,t-1})*MKAV_{r,s}*\mathbf{elasminc}_r $

A moving average for imports (MKAV) as a portion of changes in the demand base helps maintain global balance and stable behavior over the long-term.

Given this income responsive import base, regional prices relative to global ones (again with first and second order terms), an elasticity of imports with prices (elastrpr ), and parameters for dynamic change of imports (elprm1 and elprm2 ) largely determine import demands. One last factor, however, is a domestic protection multiplier (protecm ), which can cause the import price (MPRIC) to rise or fall relative to the world price.

$ MD_{r,s}=MBASE_{r,s}*(1+(\frac{PRI_{r,s,t-1}*EXRATE_r-MPRIC_{r,s}}{MPRIC_{r,s}}*\mathbf{elastrpr}_s))^{elmpr1}*(1+(\frac{PRI_{r,s,t-1}*EXRATE_r-MPRIC_{r,s}}{MPRIC_{r,s}}-\frac{PRI_{r,s,t-2}*EXRATE_{r,t-1}-MPRIC_{r,s,t-1}}{MPRIC_{r,s,t-1}}*\mathbf{elastrpr}_s))^{elmpr2} $


$ MPRIC_{r,s}=WP_{s}*\mathbf{protecm}_r $

World export capacity (WXC) and world import demand (WMD) are simply sums across regions.

$ WXC_s=\sum^RXC_{r,s} $
$ WMD_s=\sum^RMD_{r,s} $

These will always be somewhat different. Actual world trade (WT) is the average of the two.

$ WT_s=\frac{WXC_s+WMD_s}{2} $

We are now able to compute actual sectoral exports (XS) and imports (MS), normalizing the capacity for exports and the demand for imports to the actual world trade.

$ XS_{r,s}=WT_s\frac{XC_{r,s}}{WXC_s} $
$ MS_{r,s}=WT_s\frac{MD_{r,s}}{WMD_s} $

We can now update the moving average export (XKAV) and import (MKAV) propensities for the next cycle. This requires historical weights (xhw and mhw ) for exports (XHW) and imports (MHW).

$ XKAV_{r,s,t+1}=XKAV_{r,s}*\mathbf{xhw}+(1-\mathbf{xhw})*\frac{XS_{r,s}}{ZSP_{r,s}} $
$ MKAV_{r,s,t+1}=MKAV_{r,s}*\mathbf{mhw}+(1-\mathbf{mhw})*\frac{MS_{r,s}}{DBASE_{r,s}} $

The above equations are necessary only for three of the five economic sectors. The agriculture and energy models compute trade in those sectors separately. Given the computation of sectoral exports and imports for all sectors (in this or other models), it is possible to compute total exports (X) and imports (M).

$ X_r=\sum^SXS_{r,s} $
$ M_r=\sum^SMS_{{r,s}_s} $

IFs also computes these in a "relative-priced adjusted" form, multiplying the real sectoral values by global prices. Why is this important? If, for example, a country were highly dependent on energy exports and the price of energy (from the energy model) doubled relative to other prices, failure to adjust trade for prices would understand the country’s trade balance. It is the relative price-adjusted trade that is taken to the international financial calculations.

$ XRPA_r=\sum^SXS_{r,s}*WP_{s_r} $
$ MRPA_r=\sum^SMS_{r,s}*WP_s $

A purely optional adjustment to the relative price adjusted import and export levels is available for the model user who wishes to examine the hypothetical impact of changes in the terms of trade. The terms of trade parameter (termtrm ) is a multiplier with a normal value of 1.0. Higher values shift the terms of trade in the favor of Southern or less-developed regions (those with initial GDP per capita less than an amount, such as $5,000, specified by nsdiv ) and lower values favor Northern regions. The determination of North and South by initial GDP per capita and the fixing of those categories is important. 

if $ GDPPC_{r,t=1}>\mathbf{nsdiv} $ then :$ XRPA=XXRPA_r/\mathbf{termtrm} $

$ MRPA_r=MRPA_r*\mathbf{termtrm} $

if $ GDPPC_{r,t=1}\le\mathbf{nsdiv} $ then :$ XXRPA_r=XXRPA_r*\mathbf{termtrm} $

$ MRPA_r=MRPA_r/\mathbf{termtrm} $

The adjustment to regional exports and imports for hypothetical terms-of-trade change can result in a failure of exports and imports to sum across regions to the same global total. At this point IFs thus normalizes regional exports and imports to a total value for world trade equal to the average of the current sums of exports and imports across regions.

Given final values for regional exports and imports it is possible to compute regional trade balances (TRADEBAL), using relative-price adjusted exports and imports.


Stocks and Prices

IFs is fundamentally a general equilibrium model (GEM), but one in which inventory stocks serve as a temporary buffer between demand and supply and prices act to move the system towards equilibrium over time. The production available for final demand (PFD) and imports (MS) serve to increase stocks. Consumption (CS), investment (INVS), and government spending (GS) by sector of origin serve to decrease stocks, as do exports (XS).

$ ST_{r,s}=ST_{r,s,t-1}+PFD_{r,s}-CS_{r,s}-INVS_{r,s}-GS_{r,s}-XS_{r,s}+MS_{r,s} $

Prices (PRI) in IFs are quite important in the agricultural and energy models where they directly affect demand and supply through elasticities. In the economic model they have lesser impact, primarily through trade and secondarily through price-responsiveness of sectoral consumption. In addition, prices implicitly affect investment by destination, although for reasons of computational sequence IFs actually uses stock levels directly to redirect investment by sector. Prices in IFs are relative prices and are indices around initial base values of "1." They are based on stock levels and a second order stock change term.

$ PRI_{r,s}=PRI_{r,s,t-1}*(1+\frac{ST_{r,s}-dstl*STBASE_{r,s}}{STBASE_{r,s}})^\mathbf{elprst1}*(1+\frac{ST_{r,s}-ST_{r,s,t-1}*GDPR_{r,t=1}}{STBASE_{r,s}})^\mathbf{elprst2} $



The stock base (STBASE) is the sum of gross production (important to large producers in an economic sector, whether they consume domestically or export) and initial imports scaled up by potential GDP growth (important to large importers, when domestic production is small). The desired level of stocks as a portion of the base (dstl ) is exogenous. 


The determination of investment by destination is a two-step procedure. First, IFs computes demand for investment by each sector (IFSDEM), responsive primarily to inventory levels. The base value of investment demand is dependent on the total level of gross capital formation (IGCF)—see its computation in the discussion of the social accounting matrix—and the portion of that directed into a particular sector (IDK) during the last time step. Parameters (elinst1 and elinst2 ) control the speed of adjustment. Second, IFs normalizes those demands to the total level of gross capital formation.

$ IFSDEM_{r,s}=IDK_{r,s,t-1}*IGCF_r*(1+\frac{ST_{r,s}-dstl*STBASE_{r,s}}{STBASE_{r,s}})^\mathbf{elinst1}*(1+\frac{ST_{r,s}-ST_{r,s,t-1}}{STBASE_{r,s}}^\mathbf{elinst2} $



The above equation handles the sectors other than agriculture and energy. The model for agriculture provides investment need for that sector (IANEED), as does the energy model (IENEED).

$ IDSDEM_{r,s=1}=IANEED_r $
$ IDSDEM_{r,s=2}=IENEED_r $

To obtain actual investment by destination (IDS) we can distribute total investment (I) across sectors proportionately to their demands.

$ IDS_{r,s}=IGCF_r*\frac{IDSDEM_{r,s}}{\sum^SIDSDEM_{r,s}} $

As an indicator (and as the basis for sectoral investment splits in the next time cycle) we can compute the fractions going to each sector (IDK).

$ IDK_{r,s}=\frac{IDS_{r,s}}{IGCF_r} $

Capital stock (KS) in the next time period is simply the old capital stock plus investment by destination, minus depreciation (the capital stock divided by its lifetime, lks ), and minus the portion of capital destroyed as civilian damage (CIVDM) in war (see the policy model). The last term is, of course, normally zero.

$ KS_{r,s,t+1}=KS_{r,s}+IDS_{r,s}+\frac{KS_{r,s}}{\mathbf{lks}}-KS_{r,s}*CIVDM_r $

IFs makes no effort to represent a gestation period for capital of more than 1 year. Although it would be desirable to do so, it would also require a "look ahead" capability of the model to plan capital requirements several years in the future. Such a feature would add some realistic cyclical behavior to the model, but would also be somewhat difficult to control. And it is not the aim of IFs to capture business cycles. 


The economic model computes several indicators of interest to many IFs users. These include global product (WGDP), global product per capita (WGDPPC), an absolute measure of the per capita GDP gap between more developed (D) and less economically developed (L) regions (NSGAPA), and a relative measure of the same gap (NSGAPR). A parameter (nsdiv ) establishes the dividing point in thousand constant dollars between more and less developed.

$ WGDP=\sum^RGDP_r $
$ WGDPPC=\frac{WGDP}{WPOP} $
$ NSGAPA=(\frac{\sum^DGDP_R}{\sum^DPOP_r})-(\frac{\sum^LGDP_r}{\sum^LPOP_r}) $
$ NSGAPR=\frac{(\frac{\sum^DGDP_R}{\sum^DPOP_r})}{(\frac{\sum^LGDP_r}{\sum^LPOP_r})} $

In an algorithmic procedure the system also computes a ratio of the GDP per capita (MER) in the countries that by average GDP per capita make up the richest 10 percent of global population to those that populate the bottom 10 percent (NSGAPRTB). 

The Social Accounting Matrix

Data for Initial Conditions in the Pre-processor









A Note on Forecasting Central and Local Government Performance


GOVREVLOCAL (local government revenues)
GOVEXPLOCAL (local government expenditures)
GOVCONLOCAL (local government direct consumption)


GOVREVLOCALTAX (government revenue raised through local taxes)

Possible Futures Steps in Forecasting Central/Local Government Finance








Government Revenue














$ TAXRA_r=GovRevBA_r/GDP_r $


if AIDr >0 then

$ GOVREV_r=GovRevBA_r+AID_r $


Government Expenditure



Government Consumptions


$ EstGovtConsum_r=AnalFunc(GDPPCP_r) $



















Government to Household Transfers



$ EstGovtHHTrn_r=AnalFunc(GDPPCP_r) $













$ EstGovtHHTrnPen_r=AnalFunc(GDPPCP_{r,t}) An initial estimate of government spending on pensions (GovtPensions) is calculated by multiplying this estimate, adjusted for the shift between estimate and actual value in the first year, by an adjustment portion by a potential relative price adjusted GDP (GDPPOTRPA). :<math>GovtPensions_r=EstGovHHTrnPen_r*GovHHTrnPenR_{r,t=1}*GDPPOTRPA_r $











$ GovHHTrnTotalBottom_r=GovHHTrnPenBottom_r+GovHHTrnWelBorrom_r $




$ GovHHWelTot_r=GOVHHTRN_r-GovHHPenTot_r $







Government Consumption by Destination




Preliminary GDS Calculations (Top Down Except for Infrastructure)

























$ GDS_{r,g=Infra}=CalcInfraBudgetDemand_r $




Bottom-Up Cost Calculation









Reconciling Top-Down Expenditure Availability With Bottom-Up Cost Calculation




















$ GTOT_r=GTOT_r-GDSEdSetAside_r-GDSInfraSetAside_r-GDSInfraOtherSetAside_r $


$ GOVCONRed_r=GOVCON_r-GDSEdSetAside_r-GDSInfraSetAside_r-GDSInfraOtherSetAside_r $
















Government Balances and Dynamics




$ GOVDEBT_r=GovDebtAbs_r/GDPRPA_r $



$ MulRev_{r,t=1}=1 $
$ MulExp_{r,t=1}=1 $





and where if












Household and Firm Income






where exponent decreases with GDPPCP






















Household Consumption and Net Savings



The Permanent Income Foundation of Consumption




Basic Computation and the Affect of GDP Per Capita






$ HHCProp_r=AnalFunc(GDPPCP_r) $
$ PenShrInc_r=\frac{GOVHHPENT_r}{TotHHIncPerm_r} $


$ C_r=ConvergeOverTime(C_r,CTarget_r,150) $



The Impact of Age Structure on Consumption



$ YouthCon_r=AnalFunc(workageentry_r/2) $




$ SavingsNeeded_r=SavingsNew_r-SavingsOld_r $




$ YouthPopShr_r=\frac{POPPREWORK_r}{POP_r} $
$ WorkerPopShr_r=\frac{POPWORKING_r}{POP_r} $
$ PensonerPopShr_r=\frac{POPRETIRED_r}{POP_r} $


$ YouthConShr_r=(YouthPopShr*YouthCon_r)/100 $
$ WorkerConShr_r=(WorkerPopShr*WorkerCon_r)/100 $
$ PensionerConShr_r=PensionerConShr_r*PensionerConShr_r/100 $

The sum of the consumption shares follows.

$ ComputedCon_r=YouthConShr_r+WorkerConShr_r+PensionerConShr_r $


$ C_r=C_r+AgingAdjustment_r $



A normalization process assures that the term sum to C.

The Impact of Life Expectancy on Consumption


$ C_r=C_r-LifExpTerm_r $


$ LifExpGDPBased_r=F(GDPPCP_r) $

Interest Rates, Stocks (Inventories) and Consumption




$ C_r=C_r*IntrMulTermC_r+ExcessStocks_r/2 $



Savings Rates and Consumption



$ C_r=C_r*MulCon_r $


$ MulCon_r=Adjstr(HHFirmSavR_r-HHFirmSavTarget_r) $

Investment and Consumption


$ C_r=C_r-IAdj_r $




$ I_r=I_r+IAdj_r $

Consumption by Household Type and Update of Consumption Propensity for Future Years














Household Savings




Household Consumption by Sector







Domestic Distribution of Household Income



Example of a Lorenz curve with Gini coefficient









An Earlier, Legacy Process to Compute Domestic Gini




Logarithmic form of GDP graph above


GDP graph above with shares of value added accruing to skilled labor
GDP graph above with shares of value added accruing to unskilled labor

The Current Process in IFs to Compute Domestic and Global Gini Coefficients



$ PerSkilled_r=PerSkilledExp_r*(1+LabSupSkillAdj_r) $


$ PerSkilledExp_r=AnalFun(GDPCPP) $
$ YearsEdExp_r=AnalFun(GDPCPP) $
















Firm Savings



Domestic Closure: Total Savings, Investment, and Interest Rates


Foreign and Total Savings










Gross Capital Formation and Investment












$ LifExpGap_r=LIFEXP_r-LifExpComp_r $
$ LifExpComp_r=F(GDPPDP_r) $
$ SavingsAgeAdj_r=F(LIFEXP_r,AgeStructure,SavingsStructure) $





Interest Rates








$ LongTermIntr_r=LongTermIntr_r*0.95+INTR_r*0.05 $
$ SmoothIntr_r=SmoothIntr_r*0.7+INTR_r*0.3 $

Current and Capital Account Elements




Foreign Aid








Woker Remittances








Foreign Direct Investment







$ ExpFDIRatioIn=AnalFunc(GDPPCP) $




$ ExpFDIRatioOut=AnalFunc(GDPPCP) $






Again the logic is the same for outward flows and stocks.








$ WFDIGR=0.005 $





International Accounting and Financial Equilibration




Current Account




$ FirmDebt_r=XFIRMDEBT_r $
$ GovtDebt_r=XGOVTDEBT_r $


Captial Account


$ CapActLim_r=FDIFlow_r+PortFlow_r+IFIFlow_r $



External Debt




$ LoanPortionAid_r=AID_r*\mathbf{aidlp}_r $







External Debt for Exchange Rates and External Accounts Balancing


$ XDebtTargetPerGDP_r=ConvergeOverTime(XDebtIRat_r,UltimateTarget_r,100) $


$ TypicalDebt_r=F(GDPPCP_r) $




$ Diff1=XDEBTRPA_r/GDPPOT_r-XDebtTargetPerGDP_r $



where if





$ Mul=0.2 $

Foundations in the Preprocessor for Extending Treatment of Debt








$ GOVTDEBTD_r=TotGovtDebt_r-XGOVDEBT_r $


The IFs project has given special attention to the forecasting of poverty, most notably in the first volume of the project's Patterns of Potential Human Progress series, titled Reducing Global Poverty (Hughes et al. 2009). We therefore want to document the approach taken within IFs to that forecasting. We begin with the conceptual foundations and turn to the specific forecasting formulations.

The Proximate Drivers of Poverty

Knowledge of two drivers allows quite accurate calculation of the portion of a population living at or below any specified poverty level: the average income of the population and the distribution of that income. Once the rate of poverty is known, it requires only knowledge of a third driver, population size, to know also the number of people living below that poverty level. In dynamic societies there are, of course, a huge number of deeper or more distal drivers that affect these proximate drivers (literally anything that affects economic growth, the nature of income distribution, and the population size). The figure below shows this conceptual understanding of poverty, and indicates that the IFs system formalizes that understanding by calculating poverty from the three proximate drivers and also calculates those proximate drivers from the much larger forecasting system (the economic, population, and other models of IFs). Moreover, the IFs system makes available large numbers of intervention points for developing alternative scenarios around poverty futures.

Visual representation of poverty

Other parts of the documentation of IFs describe the determination of population and economic growth and of the calculation of the Gini coefficient (GINIDOM) as the key representation within IFs of income distribution. That documentation describes how the Gini coefficient is based on the Lorenz curve and how the Lorenz curve in IFs is tied to forecasting of the income shares of unskilled and skill households and the shares of population in those two household types.

The Lorenz curve of IFs with only two income categories is, however, an unsatisfactory form for representing the income distribution of the societies we forecast. It is both “non-parametric” in the sense that no simply analytical form can describe it for the purposes of our forecasting and it is crude in the representation of just the two income types. What we want for poverty forecasting is an analytical form and one that can capture more smoothly the increasing income shares that richer portions of the population will have. (Ideally we would also want a representation from which we can conveniently compute specific deciles or quintiles.)

The most widely used parametric representation in poverty analysis is the lognormal density. A density curve captures the percentage of the population that earns or consumes a given amount (unlike a distribution that captures the cumulative percentage of population that earns or consumes up to a given amount). Although income and consumption are not exactly distributed in a lognormal form for every country, it is a very good approximation to observed empirical distributions for most (it will obviously not be such a good form for a country like post-Apartheid South Africa that has something closer to a binormal distribution). As Bourguignon (2003: 7)[14] notes, a lognormal distribution is “a standard approximation of empirical distributions in the applied literature.” A variable is lognormally distributed if the natural logarithm of that variable is normally distributed, as in the well-known “bell curve.” See the figure below a lognormal density curve.

Lognormal density curve

One advantage of using a lognormal density to capture the distribution of income in a society is that it can be fully specified with only two parameters, average income and the standard deviation of it. More useful for our purposes, the Gini coefficient can be used in lieu of the standard deviation. See Appendix 2 of Hughes et al. (2009) for the explanation of that relationship and for much more information on the use of the lognormal distribution in IFs, including the calculations of poverty rates and poverty gaps, and the reconciliation of analysis using national accounts and survey data.

The figure above provides an illustration of how to obtain the poverty headcount from a lognormal density curve. For a specified poverty line—for example, the one corresponding to dollar a day—the area to the left of the line gives the poverty headcount ratio. The first vertical line in the figure shows the poverty line, and hatched lines show the area corresponding to the headcount ratio. The poverty headcount number is the headcount ratio times population.

The figure below similarly illustrates how changes in income distribution and the average level of per capita income can affect the poverty rate and therefore number. In this figure, the second vertical line from the left shows the income level for a given point in time, say Year 1, while the solid curve shows the income distribution. The third and dashed vertical line shows the income for a subsequent time, say Year 2,while the dashed curve shows an associated income distribution. The area of hatched, dashed lines to the left of the poverty line in the new distribution shows the new poverty headcount ratio. This area is smaller than the area under the Year 1 distribution, and the poverty headcount ratio has decreased. What happens to the poverty headcount number depends on the how the population has changed between the two years. If the population increases significantly, the headcount number can increase even if the headcount ratio decreases.

Lognormal density curve with changes in income distribution and income

What is the evidence on poverty changes arising from the interaction of growth and distributional effects? There is evidence that growth tends to be “distribution neutral” on average; Ravallion and Chen (1997), Ravallion (2001), Dollar and Kraay (2002), find a close to zero correlation between changes in inequality and economic growth. This is consistent with the evidence that the growth effect dominates and growth tends to reduce absolute poverty (World Bank 1990, 2000; Ravallion 1995; Ravallion and Chen 1997; Fields 2001, and Kraay 2004). World Bank (2001) and Ravallion (2004) suggest that the “elasticity” of the dollar-a-day poverty rate to growth is -2; an increase in the growth rate by 1% is associated with a decrease of 2% in the headcount index of poverty.

While there is general consensus that growth is good for poverty alleviation, a few voices of caution can be heard. The actual reduction in poverty is arguably lower than might be expected given recorded rates of economic growth. This has been termed “the paradox of persistent global poverty” (Cline 2004: 28). Poverty in the 1990s declined by less than would have been predicted with a poverty-growth elasticity of around -2. Khan and Weiss (2006) warn that the elasticity of poverty to growth can vary widely—only -0.7 for the Philippines compared to -2.0 for Thailand—depending on the initial inequality and changes in inequality over time. Ravallion (2004) lists a few reasons to be cautious about the finding of distribution neutrality of growth: measurement error in changes in inequality, possible churning under the surface with winners and losers at all income levels, and possible increases in absolute income disparities. Moreover, a few countries and regions could experience poverty increases from distributional changes, even if on average there is neutrality.

In addition to uncertainties introduced by income inequality effects, the elasticity approach to anticipating poverty decline with income suffers from another problem. A given rate of economic growth will have a bigger impact on poverty headcount when the poor are clustered closely around the poverty line than when their incomes fall markedly below the line. In some countries this phenomenon might explain the weaker than expected response of poverty levels to growth in the face of only modest changes in overall inequality.

The lognormal approach for forecasting poverty of IFs eliminates the need to use the elasticity approach. In fact, lognormal specifications could be used to calculate variable poverty elasticities across countries and time.

Lognormal Anaylsis of Change in Poverty: IFs Formulations




$ LNStDev_r=Sqr(r)*CalcNormalInverse(\frac{GINIDOM_r+1}{2}) $
$ MeanConsumption_r=\frac{C_r}{POP_r}*SmPPPConv_r $


$ SmPPPConv_r=SmPPPConv_r*0.8+PPPCONV_r*0.2 $


$ LNMean_r=Log(MeanConsumption_r*NSNARatFac_{r,t=1}*\mathbf{nsnaratm}_r*1000)-.05*LNStDev_{r}^2 $


$ NSNARatFac_{r,t=1}=Back\ Calculation\ from\ LNMean_{r,t=1}\ and\ MeanConsumption_{r,t=1} $


$ INCOMELT1LN_r=CalcLogNormalCDF(365*\mathbf{incpovlevm},\ LNMean_r, LNStDev_r)*POP_r $



$ MeanConsumption11_r=\frac{C_r}{POP_r}*RationGDP2011to2005ICP_{r,t=1}*SmPPPConv_r $


$ RatioGDP2011to2005ICP_{r,t=1}=GDPPCP2011_{r,t=1}*GDPPCP2005_{r,t-1} $


$ POVGAP_r+PortionPoor_r-\frac{MeanBackCalculation_r}{365*\mathbf{incpovlevm}}*IncFrac_r*100 $


$ PortionPoor_r=\frac{INCOMELT1LN_r}{POP_r} $
$ MeanBackCalculation_r=Exp(LNMean_r+0.5*LNStDev_{r}^2) $

Cross-Sectional Analysis of Change in Poverty

Although the dominant approach to forecasting poverty in IFs used the lognormal formulation, a simpler approach is also possible using a cross-sectional estimation of the relationship between poverty and GDP per capita at PPP. This simpler approach was developed for IFs before the lognormal one and has been retained as a useful second estimate of future poverty. In addition, in the pre-processor the cross-sectional formulation is used to fill holes for countries without surveys in estimating initial poverty rates (even when forecasts then go on to use the logarithmic approach). Not surprisingly, the cross-sectionally estimated function uses the same proximate driving variables as the lognormal function, namely GDP per capita at PPP (GDPPCP) and domestic Gini (GINEDOM). A scaling factor computed the first year (IncomeLT1RI) assures that the value computed in the first year matches data; the factor is maintained in the calculation over time. The formulation for poverty at $2.00 per day (INCOMELT2CS) uses the same formulation.

$ INCOMELT1CS_r=AnalFunc(GDPPCP_r,GINIDOM_r)*IncomeLT1RI_{r,t=1} $


$ IncomeLT1RI_{r,t=1}=\frac{INCOMELT1CS_{r,t=1}}{AnalFunc(GDPPCP_{r,t=1},GINIDOM_{r,t=1})} $

As with other functions used in IFs, we experimented with many variations before determining which to use in the model. The figure below shows the relationship between GDP per capita at PPP and poverty using both an exponential or power curve and a logarithmic form; both produce approximately the same R-squared. The logarithmic form is normally used in IFs, because it appears visually to capture better both the higher levels of poverty at low levels of GDP per capita and to capture the near elimination of extreme poverty by about $10,000 per capita.

GDP per capita at PPP and poverty with power curve and logarithmic form

The Adjustment Mechanism and Other Specialized Functions

There are many specialized functions used in the IFs forecasting system. See the IFs Development Manual for more detail on them. Here we describe only the one that has special significance for the energy model.

In many models of IFs, especially the economic model and the two elaborated sectoral models (agriculture and energy), IFs relies upon an adjustment function to alter key variables (e.g., demand, prices, trade, and investment) in the pursuit of equilibrium. The adjustment function compares the level of some stock type variable (most often either inventory levels or prices, but including other variables such as international indebtedness) with a desired level, and adjusts the dependent variable.

IFs computes a difference (DIFF1) between the actual and desired levels and scales that difference with a scaling base (SCALINGBASE) value (for instance, total production in an economic sector might be a reasonable scaling base value against which to gauge the importance of a deviation of inventories from desired levels). In addition, the adjustment mechanism uses a second-order difference (DIFF2) to compare the level of the stock-type driving variable with its value in the previous time cycle, relying upon the same scaling base.

Non-zero differences result in a multiplier value (MUL) that deviates from "1" depending on the magnitude of two elasticities (EL1 and EL2). Specifically, the formulation is

$ MUL=(1+\frac{DIFF1}{SCALINGBASE})^{EL1}*(1+\frac{DIFF2}{SCALINGBASE})^{EL2} $

This mechanism is represented in a function called the adjuster (ADJSTR) that the model calls at numerous locations. The magnitude of the two parameters will, of course, differ depending on the model variable in which equilibrium is being pursued. Experience has shown, however, that EL1 normally takes absolute values between 0.2 and 0.4, while EL2 is most often two times the value of EL1 and thus varies most often between 0.4 and 0.8. The values of EL1 and EL2 have been determined experimentally, in order to be large enough to maintain approximate equilibrium and small enough to avoid unreasonably rapid or extreme oscillation. There will inevitably be some oscillation in equilibrium-seeking processes, and in some cases (such as inventory levels), the values could be set so as to provide an oscillation consistent with known cycles (such as business cycles). Because IFs is a long-term rather than a short-term model, however, we have generally devoted little attention in scaling to the oscillation cycle, focusing instead on long-term stability in the face of shocks introduced by scenarios of model users.

This kind of adjustment mechanism is sometimes called a PID controller, that is, an adjustment process that responds proportionately (the adjustment parameters) to the integral of the error (the stock discrepancy) and to the derivative of the error (the change in stock term).. For more information see the books by Chang (1961) and by Mishkin and Braun (1961). An early version of this adjustment mechanism was developed by Thomas Shook for the Mesarovic-Pestel modeling project.

Creating and Initializing Country SAMS: The Pre-processor

Preparing an initial data load for a model sometimes requires almost as much work as does creating and maintaining the dynamics of the model. Data inconsistency and data holes require attention; in a model like IFs with physical representations of partial equilibrium sectoral models (agriculture and energy) as well as a general equilibrium multi-sector model represented in value terms, there is the also the need to reconcile the physical and value data.

Creation of a data pre-processor within IFs moved the project from manual handling of issues around data loads to automatic, algorithm-based processing. The pre-processor greatly facilitates both partial data updates as better data become available and rebasing of the entire model to a new initial year (such as the rebasing from 2005 to 2010). It works with an extensive raw data file for all areas of the model, using data gathered for 1960 through the most recent year available. This allows it to create an historical data load (based in 1960) for the purposes of historical validation analysis, as well as the load for forecasting.

It is not the purpose here to fully document the pre-processor, but a summary description is important (see Hughes and Irfan 2006 for much more detail). In general, the pre-processing begins with demographics, and imposes total population data on the cohort-specific data by normalizing cohort numbers to the total. The pre-processor reads values for a wide range of population-related variables: total fertility rate, life expectancy, crude birth rate, crude death rate, urban population, migration etc. IFs uses cross-sectionally estimated relationships to fill holes in such data (generally with separate functions for the 1960 (historical base) and 20xx (future) data loads). Most often, functions driven by GDP per capita at PPP have had the highest correlations with existing data; the best functions have often been logarithmic, because the most rapid structural change occurs at lower levels of GDP per capita (Chenery 1979; Hughes 2001). The philosophy in demographics and in subsequent issue areas in the pre-processor is that values for all countries in IFs will come from data when they are available, but will be estimated when they are not.

The pre-processor then proceeds to the agricultural and energy issue areas. In agriculture, the pre-processor reads data on production and trade. It aggregates production of various crops into a single crop production variable used by the model. It similarly aggregates meat and fish production for the model. It computes apparent consumption. It reads data on variables such as the use of water and on the use of grain for livestock feed. It uses estimated functions or algorithms to fill holes and to check consistency (for instance, checking grain use against livestock herd and grazing land data).

In energy, the pre-processor reads and converts energy production and consumption to common units (billion barrels of oil equivalent). It checks production and reserve/resource data against each other and adjusts reserves and resources when they are inconsistent. Null/missing production values are often overridden with a very small non-zero value so that a “seed” exists in a production category for the subsequent dynamics of the model (a technique used by the Interfutures model of the OECD). World energy exports and imports are summed; world trade is set at the average of the two and country-specific levels are normalized to that average.

The outputs from processing of agricultural and energy data become inputs to the economic stage of pre-processing. The economic processing begins by reading GDP at both exchange rates and purchasing power and saving the ratio of the two for subsequent use in forecasting. The first real stages of economic data pre-processing center on trade. Total imports and exports for each country are read; world sums are computed and world trade is set at the average of imports and exports; country imports and exports are normalized to that global average. The physical units of agricultural and energy trade are read and converted to value terms. Data on materials, merchandise, service, and ICT trade are read. Merchandise trade is checked to assure that it exceeds food, energy, and materials trade, and manufactures trade is identified as the residual. All categories of trade are normalized. When this process is complete, the global trade system will be in balance. The use in IFs of pooled trade rather than bilateral trade makes this easier, but a similar process could be used for bilateral trade with Armington structures.

The processes for filling the SAM with goods and services production and consumption, and with financial flows among agent-classes follow next. More information can be found in the documentation of the economic model. The pre-processor then moves on to other models in IFs, including education, health, infrastructure and socio-political ones.

See Hughes and Hossain (2003) for earlier documentation on the SAM and also its initialization in the pre-processor. See Hughes with Irfan (2006) for documentation on the pre-processor.


  13. That is normally true, if the labor informal share exceeds the GDP informal share, implying that labor in the informal economy is less productive than that in the formal economy.
  14. Eicher, T. S., & Turnovsky, S. J. (Eds.). (2003). Inequality and growth: theory and policy implications. Cambridge, Mass: MIT Press.