Isoelastic Atkinson health social welfare of three equal-sized groups for epsilon other than 1

Adds h_i^(1-epsilon)/(1-epsilon) over the groups, the welfare function Atkinson derived from constant relative inequality aversion with its two constants set to 0 and 1, which leaves every ranking unchanged. The line is written for the three groups of the article's example, and with n people or groups the sum has n terms. At epsilon of 0 W is total health, the utilitarian rule of maximising total QALYs; as epsilon rises the weight on a small gain to group i, h_i^(-epsilon), shifts priority to the less healthy (HE-FM-ATK-004), and the ranking approaches the maximin rule of HE-FM-SWF-003. Solving W = n h_EDE^(1-epsilon)/(1-epsilon) for h_EDE gives the EDE health of HE-FM-ATK-002, so W and EDE health rank allocations identically, and W has meaning only in comparisons made at the same epsilon.

Signature

W = h_1^(1 - epsilon) / (1 - epsilon) + h_2^(1 - epsilon) / (1 - epsilon) + h_3^(1 - epsilon) / (1 - epsilon)
Inputs
InputsDefinitionUnit
h_1Health of the first group, for example its quality-adjusted life expectancy (QALE), above zeroyears of QALE
epsilonAtkinson inequality aversion parameter, zero or above and not equal to 1; 0 gives the utilitarian sumnone
h_2Health of the second group, above zeroyears of QALE
h_3Health of the third group, above zeroyears of QALE
Output
WSocial welfare of the allocation under the isoelastic form at the chosen epsilon, higher being betterwelfare score, comparable only at the same epsilon

Function

Health social welfare function ranking distributions of health

Maps the health of n people, or of n groups of equal size, and the parameters theta that state a distributional value judgement to a single social welfare value W, so that allocations can be ranked when they differ in who gains as well as in how much is gained. When W rises whenever one person's health rises and nobody's falls, every Pareto improvement raises welfare. The package gives Atkinson's isoelastic additive form for epsilon other than 1, its logarithmic form at epsilon of 1, the maximin limit, the two-group CES form of Wagstaff and the slope of its social indifference curve. The equally distributed equivalent (EDE) health that gives the same W is live as HE-FM-ATK-002 and HE-FM-ATK-003, the Atkinson index as HE-FM-ATK-001, the relative weight on a small gain as HE-FM-ATK-004 and equity-weighted QALY totals as HE-FM-EQWA-001, and HE-FM-WE-004 holds the linear two-group welfare with a switching weight; none is redrafted here. The health forgone for equity and the inequality aversion at which two options swap rank are left to the Equity-Efficiency Trade-off and Distributional Cost-Effectiveness packages. Notation follows the Social Welfare Function article.

Computational function

  • Computational function for ranking allocations by utilitarian, isoelastic and maximin health social welfare

    Takes the health of each equal-sized group under each option and an inequality aversion parameter, and returns for every option the utilitarian total, the isoelastic welfare of HE-FM-SWF-001 (HE-FM-SWF-002 at epsilon of 1) and the maximin welfare of HE-FM-SWF-003, with the option ranked first under each. It repeats the article's three-step ranking for any number of options and groups, and it ranks the isoelastic values on a log scale so that very high epsilon values do not underflow. The Math / Code line shows three options and three groups at one epsilon other than 1, and the R and Python versions take any number. The values of epsilon at which two options swap rank belong to the Distributional Cost-Effectiveness package and are not computed here.

    Inputs and outputs: h_P1, h_P2 and h_P3 are the health of the three groups under option P, and h_T1 to h_T3 and h_R1 to h_R3 the same for options T and R, in years of QALE, each above zero. epsilon is the inequality aversion parameter, zero or above. U_P, U_T and U_R are the utilitarian totals in years. W_P, W_T and W_R are the isoelastic welfare scores. M_P, M_T and M_R are the maximin values in years.

    Assumption: Groups are of equal size and every member of a group has the group's health, as in HE-FM-SWF-001. Tied options are all reported as first, because the three forms give no rule to break a tie.

    Worked example (Article's three options at epsilon of 2): With the article's illustrative QALE values, P ranks first on the total, T on the isoelastic welfare and R on the maximin, the result of the article's steps 1 to 3. h_P1 = 60.3; h_P2 = 68.5; h_P3 = 76.7; h_T1 = 61; h_T2 = 68.3; h_T3 = 76; h_R1 = 61.2; h_R2 = 67.6; h_R3 = 75.6; epsilon = 2; U_P = 205.5; U_T = 205.3; U_R = 204.4; W_P = -0.0442201; W_T = -0.0441926; W_R = -0.0443603; M_P = 60.3; M_T = 61; M_R = 61.2

    Worked example (Same options at epsilon of 0.5): At low aversion P also ranks first on the isoelastic welfare, about 49.5993 against 49.5849 for T and 49.4796 for R. h_P1 = 60.3; h_P2 = 68.5; h_P3 = 76.7; h_T1 = 61; h_T2 = 68.3; h_T3 = 76; h_R1 = 61.2; h_R2 = 67.6; h_R3 = 75.6; epsilon = 0.5; U_P = 205.5; U_T = 205.3; U_R = 204.4; W_P = 49.5993; W_T = 49.5849; W_R = 49.4796; M_P = 60.3; M_T = 61; M_R = 61.2

    Worked example (Epsilon of 0 returns the totals): With no inequality aversion each isoelastic value equals the option's total, the limiting case that checks the implementation. h_P1 = 60.3; h_P2 = 68.5; h_P3 = 76.7; h_T1 = 61; h_T2 = 68.3; h_T3 = 76; h_R1 = 61.2; h_R2 = 67.6; h_R3 = 75.6; epsilon = 0; U_P = 205.5; U_T = 205.3; U_R = 204.4; W_P = 205.5; W_T = 205.3; W_R = 204.4; M_P = 60.3; M_T = 61; M_R = 61.2

    Excel: With one option per row, the row's group health values in columns B to D and the parameter in InequalityAversion, =IF(InequalityAversion=1,SUMPRODUCT(LN(B2:D2)),SUMPRODUCT(B2:D2^(1-InequalityAversion))/(1-InequalityAversion)) returns the isoelastic welfare, =SUM(B2:D2) the total and =MIN(B2:D2) the maximin value, each filled down. With these columns named IsoelasticByOption, TotalByOption and MaximinByOption and the option names in OptionLabels, =INDEX(OptionLabels,MATCH(MAX(IsoelasticByOption),IsoelasticByOption,0)) returns the preferred option. MATCH returns only the first of tied options, so =COUNTIF(IsoelasticByOption,MAX(IsoelasticByOption)) is checked for a value above 1.

    R: swf_rank <- function(H, epsilon) { U <- rowSums(H); M <- apply(H, 1, min); if (epsilon == 1) { W <- rowSums(log(H)); K <- W } else { L <- (1-epsilon)*log(M)+log(rowSums((H/M)^(1-epsilon)))-log(abs(1-epsilon)); W <- sign(1-epsilon)*exp(L); K <- sign(1-epsilon)*L }; best <- function(v) rownames(H)[abs(v-max(v)) <= 1e-12*max(1, abs(max(v)))]; list(U = U, W = W, M = M, best_U = best(U), best_W = best(K), best_M = best(M)) } H is a matrix with one named row per option and one column per group; K is the log-scale ranking key, which keeps its order when W underflows.

    Python: import math then def swf_rank(H, eps): s = math.copysign(1, 1-eps); U = [sum(r) for r in H]; M = [min(r) for r in H]; K = [sum(math.log(x) for x in r) if eps == 1 else s*((1-eps)*math.log(min(r))+math.log(sum((x/min(r))**(1-eps) for x in r))-math.log(abs(1-eps))) for r in H]; W = [k if eps == 1 else s*math.exp(s*k) for k in K]; best = lambda v: [i for i, x in enumerate(v) if abs(x-max(v)) <= 1e-12*max(1, abs(max(v)))]; return {"U": U, "W": W, "M": M, "best_U": best(U), "best_W": best(K), "best_M": best(M)} Takes a list of options, each a list of group health values, and returns the outputs with the positions of the preferred options.

    Test (Epsilon of 0 gives the totals): With InequalityAversion at 0 every isoelastic value equals the option's total. Expected result TRUE. FALSE shows the exponent written as minus epsilon, which gives 3 for every option. Excel check =OR(InequalityAversion<>0,SUMPRODUCT(ABS(IsoelasticByOption-TotalByOption))<1E-9)

    Test (Article's isoelastic ranking at epsilon of 2): With the article's options in rows ordered P, T and R and InequalityAversion at 2, T is above P and P above R in IsoelasticByOption. Expected result TRUE. FALSE shows the divisor 1 minus epsilon left out of the isoelastic column, which reverses the order. Excel check =AND(InequalityAversion=2,INDEX(IsoelasticByOption,2)>INDEX(IsoelasticByOption,1),INDEX(IsoelasticByOption,1)>INDEX(IsoelasticByOption,3))

    Common error (Isoelastic values that underflow at very high epsilon): At epsilon of 200 each term h_i^(1-epsilon) is far below the smallest double-precision number, so W is zero for all three options and they appear tied. The log-scale key used here still ranks R first, as the maximin form does.

    Source: Atkinson AB. On the measurement of inequality. Journal of Economic Theory. 1970;2(3):244-263. Page 251, equation (5), for the isoelastic and logarithmic welfare functions, and page 257 for epsilon of 0 ranking by the total and the minimum as the limit when epsilon tends to infinity.

    U_P = h_P1 + h_P2 + h_P3; U_T = h_T1 + h_T2 + h_T3; U_R = h_R1 + h_R2 + h_R3; W_P = (h_P1^(1 - epsilon) + h_P2^(1 - epsilon) + h_P3^(1 - epsilon)) / (1 - epsilon); W_T = (h_T1^(1 - epsilon) + h_T2^(1 - epsilon) + h_T3^(1 - epsilon)) / (1 - epsilon); W_R = (h_R1^(1 - epsilon) + h_R2^(1 - epsilon) + h_R3^(1 - epsilon)) / (1 - epsilon); M_P = min(h_P1, min(h_P2, h_P3)); M_T = min(h_T1, min(h_T2, h_T3)); M_R = min(h_R1, min(h_R2, h_R3))

Try this function

Implementations

  • Excel

    Isoelastic social welfare of three groups from named cells

    With the three groups' health in HealthFirstGroup, HealthSecondGroup and HealthThirdGroup and the parameter in InequalityAversion, not equal to 1, the formula returns W. The result cell is named IsoelasticWelfare.

    =(HealthFirstGroup^(1-InequalityAversion)+HealthSecondGroup^(1-InequalityAversion)+HealthThirdGroup^(1-InequalityAversion))/(1-InequalityAversion)

Assumptions

  • Equal-sized groups each at its mean health in the isoelastic welfare

    Each h_i is the health of one person, or of one of n groups of equal size whose members are all given the group's mean health, so inequality within a group is ignored. Groups of unequal size need population shares, as in the computational function HE-CF-ATK-001.

  • Inequality aversion as a value judgement in the isoelastic welfare

    Epsilon states how much total health would be given up for a more equal spread, a social value judgement that comes from outside the clinical evidence. Asaria, Griffin and Cookson state that such judgements should be provided by the decision maker and that the sensitivity of conclusions to them should be explored, so W is reported over a range of epsilon values.

  • Isoelastic welfare and the NICE limits on inequality aversion functions

    In NICE technology appraisal a distributional cost-effectiveness analysis (DCEA) is supporting evidence only (PMG36, section 4.12.3), and its results should not weight costs or benefits by the social characteristics of the people affected (section 4.12.7). The NICE support document on health inequalities states that this includes mathematical functions that use health inequality aversion parameters, so W at an epsilon above 0 falls outside the DCEA results reported to NICE.

Worked examples

  • Isoelastic welfare of the targeted option at epsilon of 2

    In the article's illustrative example, option T leaves three equal-sized groups with QALE of 61.0, 68.3 and 76.0 years. At epsilon of 2 each term is minus the reciprocal of health, and W is about minus 0.0441926, shown in the article multiplied by 1,000 as minus 44.1926.

    h_1 = 61; h_2 = 68.3; h_3 = 76; epsilon = 2; W = -0.0441926
  • Isoelastic welfare of the population-wide option at epsilon of 2

    Option P, with QALE of 60.3, 68.5 and 76.7 years, has W of about minus 0.0442201 at epsilon of 2. This is below T's minus 0.0441926, so the isoelastic function prefers T although P has the larger total.

    h_1 = 60.3; h_2 = 68.5; h_3 = 76.7; epsilon = 2; W = -0.0442201
  • Isoelastic welfare at epsilon of 0 equals total health

    At epsilon of 0 every term is the group's own health, so W for option P is its total of 205.5 years, the utilitarian limiting case in which P ranks first.

    h_1 = 60.3; h_2 = 68.5; h_3 = 76.7; epsilon = 0; W = 205.5

Common errors

  • Dropping the divisor 1 minus epsilon from isoelastic welfare

    For epsilon above 1 the divisor is negative, so leaving it out flips the sign of every term and reverses the ranking. In the article's example at epsilon of 2 the values become 0.0442201 for P, 0.0441926 for T and 0.0443603 for R, so R would appear best and T worst, the opposite of the correct order.

  • Comparing isoelastic welfare values across epsilon values

    W for option P is about 49.5993 at epsilon of 0.5 and minus 0.0442201 at epsilon of 2. The fall reflects the change of scale alone, so W is compared only between allocations at one epsilon, and a comparison across epsilon values uses EDE health from HE-FM-ATK-002, which is in years of QALE.

Sources

  • Atkinson's isoelastic welfare function under constant relative inequality aversion

    Atkinson AB. On the measurement of inequality. Journal of Economic Theory. 1970;2(3):244-263. Page 251, equation (5), which derives U(y) = A + B y^(1-epsilon)/(1-epsilon) for epsilon not equal to 1 and log y at epsilon of 1 from constant relative inequality aversion, with epsilon of zero or above for concavity, and page 257, which takes the welfare function as symmetric and additively separable, with epsilon of 0 ranking distributions solely by the total and the limit as epsilon tends to infinity giving the minimum.

    View source →

  • Asaria, Griffin and Cookson on the utilitarian and maximin limits of the Atkinson social welfare index

    Asaria M, Griffin S, Cookson R. Measuring health inequality in the context of cost-effectiveness analysis. In Health and Inequality. Research on Economic Inequality, volume 21. Emerald Group Publishing, 2013, pages 491-507. Author manuscript, section on the Atkinson social welfare index, which states that an epsilon of 0 represents the utilitarian view that only total health matters and that as epsilon approaches infinity the index represents the maximin view, and the passage after the Kolm index, which states that these social value judgements should be provided by the decision maker and that the sensitivity of conclusions to them should be explored.

    View source →

  • NICE manual on distributional cost-effectiveness analysis as supporting evidence

    National Institute for Health and Care Excellence. NICE technology appraisal and highly specialised technologies guidance: the manual (PMG36). Published 31 January 2022, last updated 13 October 2026. Chapter 4 Economic evaluation, section 4.12.3, which states that DCEA should only be used as supporting evidence of the potential for a technology to impact health inequalities, and section 4.12.7, which states that the results of the DCEA should not weigh the costs or benefits of a technology differently based on the social characteristics of the people affected by the recommendation.

    View source →

  • NICE support document on inequality aversion functions in distributional analysis

    National Institute for Health and Care Excellence. Support document: health inequalities. Technology evaluation methods support document for PMG36, chapter Distributional cost-effectiveness analysis methods, page last updated 13 May 2025. Section Health inequality aversion weights, which states that the results of the DCEA should not weight the costs or benefits of a technology differently based on the social characteristics of the people affected, and that this includes using mathematical functions that use health inequality aversion parameters, and table 1, which states that health inequality aversion weights should not be applied to QALYs.

    View source →

Canonical Identity

Isoelastic Atkinson health social welfare of three equal-sized groups for epsilon other than 1 | HealthEconomics.wiki