help for skdecomp                                              Bernardo Atuesta
                                                             Joao Pedro Azevedo
                                                              Andres Castanedas
                                                              Viviane Sanfelice

Shapley value of growth, price, and distribution components of on changes in po > verty indicators

skdecomp welfarevar [weight] [if exp] [in exp] , by(varname) varpl(varname) [ indicator(string) mpl(numlist) idpl(varname) ]

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


skdecomp implements the shapley value of Kolenikov and Shorrocks (2003) decomposition of changes in a welfare indicator into growth, distribution and price.


welfarevar is the welfare aggregate variable.

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

varpl(varname) poverty line variable.


indicator(string) poverty indicators. fgt0, fgt1, fgt2 are the currently supported options. fgt0 is the indicator default.

mpl(numlist) allow to calculate the poverty indicators by range using multiples of the poverty line.

idpl(varname) to switch the poverty line in case the poverty line is not constant to all the observation in one categorical of by. For instance, there are different poverty lines to urban and rural areas.

Saved Results

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

Matrices r(b) average effect by factors and the total change on the poverty indicator. r(shapley) besides the average effect, returns the contribution of each paths. r(poverty) returns the value of the indicator by categorical value of by.

Obs: On the reported matrices

Indicator label: 0 - FGT(0); 1 - FGT(1); 2 - FGT(2).

Effect label: 1 represents the growth; 2 distribtuion; 3 line and 4 the total change in percentage points on the indicator.

Line label (if mpl specified): 1 represents the first multiple; 2 the second, and so on. The last indicates the range from the last multiple and the maximun value.


. skdecomp income, by(year) varpl(pline)

. skdecomp income, by(year) varpl(pline) idpl(region)

. skdecomp income, by(year) varpl(pline) in(fgt0 fgt1 fgt2)

. skdecomp income, by(year) varpl(pline) mpl(1 2.5 6)

(click to run the example below) {Original SK decomposition - welfare and poverty line variable in nominal terms} . skdecomp ipcf [w=pondera], by(ano) varpl(lp_4usd) /// . in(fgt0 fgt1 fgt2)


Shorrocks, A.; Kolenikov, S. A Decomposition Analysis of Regional Poverty in Russia, Discussion Paper No. 2003/74 United Nations University, 2003.

Shorrocks, A. F. Decomposition procedures for distributional analysis: a unified framework based on the Shapley value. Journal of Economic Inequality, 2012.

World Bank (2011) On The Edge Of Uncertainty: Poverty Reduction in Latin America and the Caribbean during the Great Recession and Beyond. LAC Poverty and Labor Brief. World Bank: Washington DC. (link to publication)


Bernardo Atuesta, Joao Pedro Azevedo, jazevedo@worldbank.org Andres Castanedas, acastanedaa@worldbank.org Viviane Sanfelice, vsanfelice@worldbank.org

Acknowledgements 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 gidecomposition; apoverty; ainequal; wbopendata; adecomp; mpovline; drdecomp (if installed)