-------------------------------------------------------------------------------
help for adecomp                                             Joao Pedro Azevedo
                                                               Minh Cong Nguyen
                                                              Viviane Sanfelice
-------------------------------------------------------------------------------

adecomp - Shapley Decomposition by Components of a Welfare Measure

adecomp welfarevar components [weight] [if exp] [in exp], by(varname) equation(c#[operator]c#[operator]c#[operator]...[operator]cN) [ indicator(string) varpl(varname) mpl(numlist) gic(#) group(varname) id(varname) rank(string) strata(varlist) percentile(#) oneway std ]

fweights and aweights are allowed; see help weights. See help weight.

Description

adecomp implements the shapley decomposition of changes in a welfare indicator as proposed by Azevedo, Sanfelicce and Minh (2012). Following Barros et al (2006), this method takes advantage of the additivity property of a welfare aggregate to construct a counterfactual unconditional distribution of the welfare aggregate by changing each component at a time to calculate their contribution to the observed changes in poverty and inequality.

Given that the distribution of a observable welfare measure (i.e. income or consumption) for period 0 and period 1 are known, we can construct counterfactual distributions for period 1 by substituting the observed level of the indicators c in period 0, one at a time. For each counterfactual distribution, we can compute the poverty or inequality measures, and interpret those counterfactuals as the poverty or inequality level that would have prevailed in the absence of a change in that indicator.

As much of the micro-decomposition literature, approaches of this nature traditionally suffer from path-dependence (See Essama-Nssah (2012), Fortin et al (2011) and Ferreira (2010) for recent reviews of the literature), in other words, the order in which the cumulative effects are calculated matters . One of the major contributions of Azevedo, Sanfelicce and Minh (2012) is the implementation of the best known remedy for path-dependence which is to calculate the decomposition across all possible paths and then take the average between them. These averages are also known as the Shapley-Shorrocks estimates of each component, implying that we estimate every possible path to decompose these components and then take the average of these estimates (See Shapley (1953) and Shorrocks (1999)).

There is one remaining caveat to this approach: the counterfactual income distributions on which these decompositions suffer from equilibrium-inconsistency. Since we are modifying only one element at a time, the counterfactuals are not the result of an economic equilibrium, but rather a statistical exercise in which we assume that we can in fact modify one factor at a time and keep everything else constant.

For further examples of implementations of this approach please see Azevedo, Inchausete and Sanfelice (2012).

Thanks for citing adecomp as follows

Azevedo, Joao Pedro, Viviane Sanfelice and Minh Cong Nguyen (2012) Shapley Decomposition by Components of a Welfare Measure. World Bank. (mimeo)

Where

welfarevar is the welfare aggregate variable.

components are the components used to construct the welfare variable, and which will be for the decomposition.

by is the comparison indicator. It must take two categorical values and is usually defines two points in time or two geographic locations, which the difference of the indicator of choice is being decomposed.

equation() captures the relationship between welfarevar and components. The component variables in varlist must be denoted by c#, and must be separated by an arithmetic operator.

Options

indicator(string) poverty and inequality indicators. fgt0, fgt1, fgt2, gini and theil are the currently supported options.

varpl(varname) poverty line variable. It must be specified when fgt0, fgt1 and/or fgt2 indicators are used.

mpl(numlist) allow to calculate the poverty indicators by multiple of the poverty line. It can be specified when fgt0, fgt1 and/or fgt2 indicators are used.

gic(#) use as indicator the percentual change on the average of welfarevar in which one of its # percentile, i.e., decomposing the Growth Incidence Curve of welfarevar. You need to specify a number of bins

group(varname) the indicators are calculated by each group of groupvar. Differ from the if option because do not restrict the database. Groupvar must be a numeric and discrete variable.

id(varname) to specify the identificator variable in case of balanced panel data. The observed value of the unit of analysis is going to be used when changing the distribution.

strata(varlist) allow the transposition of distributions be made within groups created using the variables listed in varlist.

rank(string) specific the rank of which variable must be used when changing the distribution. It can be a varname or typing components the rank of each component is going to be used. Default is welfarevar rank.

percentile(#) used # percentile of componentvar to change the distribution. Default is to rescale the dataset in each period.

oneway decomposition is made only one way from period 0 to period 1. Default is both ways.

std Returns the standard deviation of the effect, besides the average.

Saved Results

adecomp returns results in r() format. By typing return list, the following results are reported:

Scalars r(path) number of paths of the shapley decomposition r(component) number of components of the decomposition r(N) number of observations utilized on the calculation

Matrices r(b) average effect of each components based on all paths. r(sd) standard deviation of the effects based on all paths. If option std is specify. r(gic) average effect of each components based on all paths when the indicators are the changes on welfarevar() by bin. r(sd_gic) standard deviation of each components based on all paths when the indicators are the changes on welfarevar() by bin. If option std is specify.

Obs: On the reported matrices Index label: 0 - FGT(0); 1 - FGT(1); 2 - FGT(2); 3 - Gini; 4 - Theil. Effect label: 1 represents the first component listed on the command, and so on. Total of components plus 1 represents the total change on the indicator and plus 2 denotes the residual, when this option is specified.

Important: To guarantee precision, we recommend to use double when create variables.

Examples

. adecomp percapitainc laborinc nonlaborinc, by(year) equation(c1+c2) indicator(fgt0 fgt1 fgt2 gini theil) varpl(pline)

. adecomp percapitainc laborinc nonlaborinc, by(year) equation(c1+c2) in(fgt0) varpl(pline) gic(100)

. adecomp percapitainc laborinc nonlaborinc, by(year) equation(c1+c2) indicator(fgt0) varpl(pline) mpl(1 3.5)

. adecomp percapitainc laborinc nonlaborinc, by(year) equation(c1+c2) indicator(fgt0 fgt1 fgt2 gini theil) varpl(pline) gic(100) strata(urban)

. adecomp percapitainc laborinc nonlaborinc, by(year) equation(c1+c2) indicator(fgt0 fgt1 fgt2 gini theil) varpl(pline) gic(100) id(hh_id)

. adecomp percapitainc laborinc nonlaborinc [w=weight], by(year) equation(c1+c2) indicator(fgt0 fgt1 fgt2) varpl(pline) group(region)

. adecomp percapitainc laborinc nonlaborinc if (region == 1), by(year) equation(c1+c2) indicator(gini)

. adecomp percapitainc padults laborinc capitalinc pensioninc transferinc othersinc, by(year) equation(c1*(c2+c3+c4+c5+c6)) indicator(fgt0) varpl(pline)

(click to run the example below)

. use exdata_adecomp.dta, clear . adecomp ipcf_ppp ila_ppp itran_ppp ijubi_ppp icap_ppp others /// . [w=pondera], by(ano) eq(c1+c2+c3+c4+c5) /// . varpl(lp_2usd_ppp) in(fgt0 fgt1 fgt2 gini theil) . mat result = r(b) . mat colnames result = indicator effect rate . drop _all . svmat double result, n(col) . label define indicator 0 "FGT0" 1 "FGT1" 2 "FGT2" 3 "Gini" 4 "Theil" . label values indicator indicator . label define effect /// 1 "Labor" /// 2 "Transfer" /// 3 "Pension" /// 4 "Capital" /// 5 "Others" /// 6 "Total change" . label values effect effect . local total 6 . gen aux=rate if effect==`total' . egen total_effect=sum(aux) , by(indicator) . drop aux . gen share_effect= -100*rate/abs(total_effect)

. keep if effect!=6 . graph bar share_effect , over(effect, label(labsize(*0.6))) /// by(indicator) blabel(bar, format(%16.1fc) size(*.98)) /// ytitle(Share of the component effect in the total change)

References

Azevedo, Joao Pedro, Gabriela Inchauste, and Viviane Sanfelice. Forthcoming. Decomposing the Recent Inequality Decline in Latin America. World Bank (mimeo).

Azevedo, Joao Pedro, Gabriela Inchauste, Sergio Olivieri, Jaime Saavedra, and Hernan Winkler. Forthcoming. “Is Labor Income Responsible for Poverty Reduction? A Decomposition Approach.” World Bank Policy Research Working Paper.

Azevedo, Joao Pedro, Viviane Sanfelice and Minh Cong Nguyen (2012) Shapley Decomposition by Components of a Welfare Measure. World Bank. (mimeo)

Barros, Ricardo Paes de. Carvalho, Mirela de. Franco, Samuel. Mendoça, Rosane (2006). "Uma Análise das Principais Causas da Queda Recente na Desigualdade de Renda Brasileira." In: Revista Econômica. Volume 8, número 1, p.117-147. Universidade Federal Fluminense. Rio de Janeiro. (link to publication)

Essama-Nssah, B. (2012). "Identification of Sources of Variation in Poverty Outcomes", World Bank Policy Research Working Papers, No. 5954.

Ferreira Francisco H.G. (2010) "Distributions in Motion: Economic Growth, Inequality and Poverty Dynamics". World Bank Policy Research Working Paper No. 5424. The World Bank, Washington, D.C.

Fortin Nicole, Lemieux Thomas and Firpo Sergio. (2011). "Decomposition Methods in Economics". In: Ashenfelter Orley and Card David (eds) Handbook of Labor Economics, Vol. 4A , pp. 1-102. Northolland, Amsterdam..

Inchauste, Gabriela , João Pedro Azevedo, Sergio Olivieri, Jaime Saavedra, and Hernan Winkler (2012) When Job Earnings Are behind Poverty Reduction. Economic Premise, November 2012, Number 97. World Bank: Washington DC. (link to publication)

Shapley, L. (1953). "A value for n-person games", in: H. W. Kuhn and A. W. Tucker (eds.), Contributions to the Theory of Games, Vol. 2 (Princeton, N.J.: Princeton University Press).

Shorrocks, Anthony (2012) Decomposition procedures for distributional analysis: a unified framework based on the Shapley value. Journal of Economic Inequality (link to publication)

World Bank (2012) The Effect Of Women'S Economic Power: in Latin America and the Caribbean. LAC Poverty and Labor Brief. World Bank: Washington DC. (link to publication)

Authors

Joao Pedro Azevedo, jazevedo@worldbank.org Minh Cong Nguyen, mnguyen3@worldbank.org Viviane Sanfelice, vsanfelice@worldbank.org Acknowledgements The authors would like to thank Gabriela Inchauste, Samuel Freije, Andres Castaneda and Gabriel Facchini for their valuable suggestions. The code from Samuel Franco and Sergio Oliveri were used for inspiration in a few passages of this ado and should be greatfully acknowledged. All errors and ommissions are of exclusive responsability of the authors. This program was developed by the LAC Team for Statistical Development (2012), in the Latin American and Caribbean Poverty Reduction and Economic Managment Group of the World Bank.

Also see

Online: help for apoverty; ainequal; wbopendata; mpovline; drdecomp; skdecomp (if installed)