Signature
pi_K = C_P - G_X
| Inputs | Definition | Unit |
|---|---|---|
C_P | Concentration index of health care payments, with households ranked by ability to pay from poorest to richest | index without unit, from minus 1 to 1 |
G_X | Gini coefficient of the ability to pay variable, for example pre-payment household income or equivalent household expenditure | index without unit, usually from 0 to 1 |
pi_K | Kakwani index of progressivity of a health care payment source | index without unit, from minus 2 to 1 |
|---|
Function
Vertical equity in health financing: progressivity and redistribution function
Maps the distribution of health care payments and of ability to pay, across households ranked from poorest to richest, to measures of vertical equity in financing: the Kakwani index of progressivity for each source of finance, the revenue-weighted index for the whole financing mix, and the vertical redistributive effect of compulsory payments on the Gini coefficient of income. Progressivity is measured as a departure from proportionality between payments and ability to pay. Vertical equity in delivery is judged against a need norm that the analyst chooses and defends, so it has no single formula and is not covered here.
Computational function
Computational function: Kakwani index from group shares of income and health payments
Takes the inputs a financing incidence table usually holds, the share of the population, of ability to pay and of one health payment in each group, and returns the Gini coefficient of ability to pay, the concentration index of the payment and the Kakwani index. It cumulates the shares, adds the trapezoids of HE-FM-VEQ-002 for each curve, and subtracts as in HE-FM-VEQ-001. Each trapezoid uses the identity L_t plus L_(t-1) equals twice L_t minus s_t, where s_t is the group's own share. The inputs therefore differ from the formula's variables: HE-FM-VEQ-001 needs the two indices already computed, and the function builds them from group shares, for groups of any size.
Inputs and outputs:
f_t: Share of the population in each group, ordered from poorest to richest by ability to pay; required, each above zero, adding to 1. Unit: proportion.;sX_t: Share of total ability to pay held by each group, in the same order; required, adding to 1. Unit: proportion.;sP_t: Share of the total health payment made by each group, in the same order; required, adding to 1. Unit: proportion.;G_X: Gini coefficient of ability to pay, returned as an intermediate output. Unit: index without unit.;C_P: Concentration index of the payment, returned as an intermediate output. Unit: index without unit.;pi_K: Kakwani index of the payment. Unit: index without unit, from minus 2 to 1.Assumption: Groups are ranked by ability to pay, not by the payment, and the curves are straight lines between group points, so inequality within groups does not enter. Payments are attributed by their assumed economic incidence.
Worked example (Tax finance by income quintile): The article's income and tax shares give a Gini coefficient of 0.352, a concentration index of 0.452 and a Kakwani index of 0.100.
f_t = [0.2,0.2,0.2,0.2,0.2]; sX_t = [0.06,0.11,0.16,0.23,0.44]; sP_t = [0.03,0.08,0.14,0.23,0.52]; G_X = 0.352; C_P = 0.452; pi_K = 0.100Worked example (Out-of-pocket payments by income quintile): The out-of-pocket shares give a concentration index of 0.184 and a Kakwani index of minus 0.168.
f_t = [0.2,0.2,0.2,0.2,0.2]; sX_t = [0.06,0.11,0.16,0.23,0.44]; sP_t = [0.12,0.15,0.19,0.23,0.31]; G_X = 0.352; C_P = 0.184; pi_K = -0.168Worked example (Proportional payment gives a zero index): When each group's payment share equals its income share, the two curves coincide and the Kakwani index is zero, a limiting case that checks the implementation.
f_t = [0.2,0.2,0.2,0.2,0.2]; sX_t = [0.06,0.11,0.16,0.23,0.44]; sP_t = [0.06,0.11,0.16,0.23,0.44]; G_X = 0.352; C_P = 0.352; pi_K = 0Excel:
=LET(lx,SCAN(0,IncShare,LAMBDA(a,b,a+b)),lp,SCAN(0,PayShare,LAMBDA(a,b,a+b)),SUMPRODUCT(Pop,2*lx-IncShare)-SUMPRODUCT(Pop,2*lp-PayShare))With the group population shares in a range named Pop and the income and payment shares in IncShare and PayShare, poorest group first, SCAN builds the cumulative shares and the formula returns the Kakwani index. SCAN and LAMBDA need Excel for Microsoft 365 or Excel 2024.R:
kakwani_grouped <- function(f, sx, sp) { conc <- function(s) 1-sum(f * (2*cumsum(s)-s)); conc(sp)-conc(sx) }The inner function returns one minus the trapezoid sum for one curve; calling conc(sx) alone gives the Gini coefficient.Python:
def kakwani_grouped(f, sx, sp): conc = lambda s: 1-sum(fi * (2*L-si) for fi, L, si in zip(f, itertools.accumulate(s), s)); return conc(sp)-conc(sx)Uses itertools.accumulate for the cumulative shares, so the itertools module must be imported.Test (Each set of input shares adds to one): The population, income and payment shares each add to 1. Expected result: TRUE. FALSE shows a missing group or shares entered as percentages. Excel check:
=AND(ABS(SUM(Pop)-1)<1E-9,ABS(SUM(IncShare)-1)<1E-9,ABS(SUM(PayShare)-1)<1E-9)Test (Function agrees with the trapezoid formula and the Kakwani formula): The function returns the same value as the payment concentration index minus the Gini coefficient, each computed separately with HE-FM-VEQ-002. Splitting every quintile into two equal halves with half the shares also leaves the result unchanged. Expected result: TRUE. Excel check:
=ABS(KakwaniGrouped-(ConcPayments-GiniATP))<1E-9Common error (Groups ordered from richest to poorest): Entering the richest group first reverses the curves and flips the sign of every output: the tax data give a Gini coefficient of minus 0.352, a concentration index of minus 0.452 and a Kakwani index of minus 0.100, so a progressive tax appears regressive.
Source: O'Donnell O, van Doorslaer E, Wagstaff A, Lindelow M. Analyzing Health Equity Using Household Survey Data: A Guide to Techniques and Their Implementation. Washington, DC: World Bank; 2008. Chapter 8, equations 8.1 and 8.4, on the concentration index as twice the area between the curve and the line of equality and its grouped-data computation, and chapter 16, page 193, on the Kakwani index as the payment concentration index minus the Gini coefficient of ability to pay.
LX_t = sum_(k=1)^t [sX_k]; LP_t = sum_(k=1)^t [sP_k]; G_X = 1 - sum_(t=1)^T [f_t * (2 * LX_t - sX_t)]; C_P = 1 - sum_(t=1)^T [f_t * (2 * LP_t - sP_t)]; pi_K = C_P - G_X
Try this function
Implementations
Excel
Kakwani index of a health payment source in one cell
With the payment concentration index in a cell named ConcPayments and the Gini coefficient of ability to pay in a cell named GiniATP, both computed with the same household ranking, Excel returns the Kakwani index.
=ConcPayments-GiniATP
Assumptions
Same ability to pay ranking for both indices in the Kakwani index
Both indices use the same ability to pay variable and the same ranking of households from poorest to richest. The concentration index ranks households by ability to pay, not by the size of the payment, so the difference measures departure from proportionality.
Health payments attributed by economic incidence
Each payment is assigned to the households assumed to bear its real cost, not to whoever hands it over. A common assumption is that employer contributions to health insurance fall on employees through lower wages. A different incidence assumption changes C_P and therefore the index.
Kakwani index read alongside the concentration and Lorenz curves
A zero index is consistent with proportionality, but curves that cross can also give zero when positive and negative gaps between them cancel. The index is therefore used as a supplement to the curves, not as a replacement for them.
Worked examples
Kakwani index of illustrative tax finance in the vertical equity example
In the article's illustrative quintile data, tax payments have a concentration index of 0.452 and income a Gini coefficient of 0.352, so the Kakwani index is 0.100 and tax finance is progressive. The ratio of tax share to income share rises from 0.5 in the poorest quintile to about 1.18 in the richest.
C_P = 0.452; G_X = 0.352; pi_K = 0.100
Kakwani index of illustrative out-of-pocket payments in the vertical equity example
Out-of-pocket payments in the same example have a concentration index of 0.184, so the Kakwani index is minus 0.168 and the source is regressive. The ratio of payment share to income share falls from 2.0 in the poorest quintile to about 0.70 in the richest.
C_P = 0.184; G_X = 0.352; pi_K = -0.168
Common errors
Subtracting the payment concentration index from the Gini coefficient
Reversing the order, G_X minus C_P, flips the sign of the index. Out-of-pocket payments in the article's example would then show a value of 0.168 and appear progressive, although they take a falling share of income as income rises.
Ranking households by the payment instead of by ability to pay
Ranking households by the size of their payment gives the Gini coefficient of payments, not their concentration index. The Gini coefficient of payments is never smaller than their concentration index, so the source looks more progressive than it is whenever households with similar ability to pay make different payments.
Sources
World Bank guide on the Kakwani index of health finance progressivity
O'Donnell O, van Doorslaer E, Wagstaff A, Lindelow M. Analyzing Health Equity Using Household Survey Data: A Guide to Techniques and Their Implementation. Washington, DC: World Bank; 2008. Chapter 16, page 193: the Kakwani index as the payment concentration index minus the Gini coefficient of ability to pay, twice the area between the two curves, its range from minus 2 to 1, and the warning that crossing curves can give zero. Pages 188 to 189: incidence assumptions, including employer contributions borne by employees.
Canonical Identity
Stable URI · Machine-readable · Resolvable · CC BY 4.0