Signature
DALY_av = DALY_0 - DALY_1; ICER = (C_1 - C_0) / DALY_av
| Inputs | Definition | Unit |
|---|---|---|
DALY_0 | DALYs the cohort incurs without the programme, from HE-FM-DALY-002 or HE-FM-DALY-004 | DALYs |
DALY_1 | DALYs the cohort incurs with the programme, on the same conventions as DALY_0 | DALYs |
C_1 | Total cost with the programme over the time horizon | currency, such as USD |
C_0 | Total cost without the programme over the same horizon | currency, such as USD |
DALY_av | DALYs averted, the comparator's DALYs less the programme's | DALYs |
|---|---|---|
ICER | Incremental cost per DALY averted | currency per DALY averted |
Function
Disability-adjusted life years for a cause or a scenario from years of life lost and years lived with disability
Maps the deaths and the non-fatal health loss from a cause, or in one scenario of an economic evaluation, to disability-adjusted life years (DALYs) by adding the years of life lost (YLL) to the years lived with disability (YLD), each calculated by its own formula. YLLs are deaths times a standard loss function of the age at death (HE-FN-YLL-001, HE-FM-YLL-001, with the discounted form HE-FM-YLL-003 and the age-group total HE-CF-YLL-001), and YLDs are prevalent cases times a disability weight (HE-FM-DWT-001) or incident cases times the weight and the duration (HE-FN-YLD-001, HE-FM-YLD-001, discounted in HE-FM-YLD-002). This package adds the sum itself, the DALYs of a cohort in one scenario, DALYs averted and cost per DALY averted between two scenarios, the continuously discounted cohort form and the DALY rate per 100,000 population. DALYs averted by a change in disability weights alone, with mortality unchanged, are HE-FM-DWT-005, and the general incremental ratio is HE-FM-ICER-001. Notation follows the Disability-Adjusted Life Year article.
Computational function
Computational function for DALYs averted and cost per DALY averted from deaths, disability and duration in two scenarios
Takes the size of a cohort, its deaths and the survivors' disability weight with and without a programme, the duration of the condition, the standard remaining life expectancy at the age of death, an optional continuous discount rate and the extra cost, and returns each scenario's DALYs, the DALYs averted, the share of them that comes from deaths prevented and the cost per DALY averted. It sets the survivors in each scenario to the cohort less its deaths, so the people saved by the programme are counted as living with the condition, and it chains HE-FM-DALY-002 or HE-FM-DALY-004 with HE-FM-DALY-003. The inputs therefore differ from the formulas' variables, which take survivors and DALY totals as given.
Inputs and outputs:
Nis the cohort size, required, above zero.D_0andD_1are the deaths without and with the programme, zero or above and no more than N.DW_0andDW_1are the survivors' disability weights without and with the programme.Tis the years survivors live with the condition before full recovery.Lis the standard remaining life expectancy at the age of death in years.ris the continuous annual discount rate as a decimal, above zero in the calculator text and zero or above in the R and Python code.dCis the extra cost of the programme in currency.f_Landf_Tare the discounted values of L and T years.DALY_0,DALY_1andDALY_avare the DALYs without and with the programme and the DALYs averted.share_YLLis the proportion of DALYs averted that comes from deaths prevented.CPDis the cost per DALY averted in currency per DALY.Assumption: Deaths occur at the start and at one age, survivors live exactly T years at one weight and then recover fully, and deaths and disability are both discounted continuously from time zero with no age weighting, as in HE-FM-DALY-004.
Worked example (Article's programme discounted at 3 per cent): The cohort of 200 incurs 960.37 DALYs without and 363.41 with the programme, so the programme averts 596.95 DALYs at about USD 744 each, and deaths prevented supply about 50% of the gain. The article shows 960.35 and 596.94 because it multiplies factors rounded to 24.692 and 8.639.
N = 200; D_0 = 20; D_1 = 8; DW_0 = 0.3; DW_1 = 0.1; T = 10; L = 45; r = 0.03; dC = 444000; f_L = 24.691991; f_T = 8.639393; DALY_0 = 960.37; DALY_1 = 363.41; DALY_av = 596.95; share_YLL = 0.4964; CPD = 743.77Worked example (Same programme at a rate close to zero): A rate of 0.0000001 stands in for zero, which the calculator text cannot take because it divides by r. The results return the article's undiscounted 1,440 and 552 DALYs, 888 DALYs averted with 61% from deaths prevented, and USD 500 per DALY averted, a limiting case that checks the implementation.
N = 200; D_0 = 20; D_1 = 8; DW_0 = 0.3; DW_1 = 0.1; T = 10; L = 45; r = 0.0000001; dC = 444000; f_L = 44.999899; f_T = 9.999995; DALY_0 = 1440.00; DALY_1 = 552.00; DALY_av = 888.00; share_YLL = 0.6081; CPD = 500.00Excel:
=CostDiff/((DeathsComp-DeathsProg)*IF(DiscRate=0,StdLE,(1-EXP(-DiscRate*StdLE))/DiscRate)+((CohortSize-DeathsComp)*DWComp-(CohortSize-DeathsProg)*DWProg)*IF(DiscRate=0,DurationYrs,(1-EXP(-DiscRate*DurationYrs))/DiscRate))Returns the cost per DALY averted from named cells and takes a zero rate as the undiscounted case. It uses no LET, so it runs in any current version of Excel.R:
daly_cea <- function(N, D0, D1, DW0, DW1, Tdur, L, dC, r = 0) { fL <- if (r > 0) (1-exp(-r*L))/r else L; fT <- if (r > 0) (1-exp(-r*Tdur))/r else Tdur; d0 <- D0*fL+(N-D0)*DW0*fT; d1 <- D1*fL+(N-D1)*DW1*fT; av <- d0-d1; c(DALY_0 = d0, DALY_1 = d1, DALY_av = av, share_YLL = (D0-D1)*fL/av, CPD = dC/av) }Base R, returning a named vector;daly_cea(200, 20, 8, 0.3, 0.1, 10, 45, 444000)gives the undiscounted case.Python:
def daly_cea(N, D0, D1, DW0, DW1, T, L, dC, r=0): fL = (1-math.exp(-r*L))/r if r > 0 else L; fT = (1-math.exp(-r*T))/r if r > 0 else T; d0 = D0*fL+(N-D0)*DW0*fT; d1 = D1*fL+(N-D1)*DW1*fT; av = d0-d1; return d0, d1, av, (D0-D1)*fL/av, dC/avNeedsimport mathand returns a tuple in the order of the outputs.Test (Article's undiscounted cost per DALY averted): Deaths prevented give 540 DALYs averted and the change in weighted years of illness 348, so 444,000 divided by 888 returns USD 500. The expected result is TRUE. Excel check
=ABS(444000/((20-8)*45+(180*0.3-192*0.1)*10)-500)<1E-9Test (Article's discounted cost per DALY averted): With continuous factors at 3% the ratio is USD 743.77 to the cent. The expected result is TRUE. FALSE shows discrete annual factors or the rate entered as 3. Excel check
=ABS(444000/((20-8)*(1-EXP(-0.03*45))/0.03+(180*0.3-192*0.1)*(1-EXP(-0.03*10))/0.03)-743.77)<0.005Common error (Survivors held fixed when deaths fall): Entering the survivors directly and leaving them at 180 in the programme scenario credits 900 DALYs averted in place of 888 undiscounted and lowers the cost per DALY averted to about USD 493 (computed here for illustration). Setting survivors to the cohort less its deaths avoids this.
Source: World Health Organization. WHO methods and data sources for global burden of disease estimates 2000-2019. Global Health Estimates Technical Paper WHO/DDI/DNA/GHE/2020.3. Geneva, WHO, 2020 (full text read). Section 2 on DALYs as YLLs plus YLDs and on the YLL and YLD formulas. Larson BA. Calculating disability-adjusted-life-years lost (DALYs) in discrete-time. Cost Effectiveness and Resource Allocation. 2013;11 article 18 (full text read). Equations 1 and 2 on continuously discounted years of life lost and years lived with disability. Bertram MY, Lauer JA, Stenberg K, Tan Torres Edejer T. Methods for the economic evaluation of health care interventions for priority setting in the health system, an update from WHO CHOICE. International Journal of Health Policy and Management. 2021;10(11) 673-677 (full text read). Cost per DALY as the WHO-CHOICE outcome, with health benefits undiscounted and at 3%.
f_L = (1 - exp(-r * L)) / r; f_T = (1 - exp(-r * T)) / r; DALY_0 = D_0 * f_L + (N - D_0) * DW_0 * f_T; DALY_1 = D_1 * f_L + (N - D_1) * DW_1 * f_T; DALY_av = DALY_0 - DALY_1; share_YLL = (D_0 - D_1) * f_L / DALY_av; CPD = dC / DALY_av
Try this function
Implementations
Excel
Cost per DALY averted from named scenario cells
With the costs in CostProg and CostComp and the DALYs in DALYsProg and DALYsComp, the first formula returns the DALYs averted, held in DALYsAverted, and the second the cost per DALY averted, held in CostPerDALY.
=DALYsComp-DALYsProg; =(CostProg-CostComp)/DALYsAverted
Assumptions
Same cohort, horizon and conventions in both DALY scenarios
Both scenarios follow the same people over the same time horizon with the same life table, disability weights and discount rate, and costs are counted on a stated convention. Fox-Rushby and Hanson found many published analyses could not be compared or transferred because these assumptions differed or were unclear.
Programme averts DALYs at a positive extra cost
The ratio is read as a cost per DALY averted only when DALY_av is above zero and the extra cost is positive. A programme that averts DALYs and saves money dominates its comparator, and one that adds DALYs at extra cost is dominated, so neither is summarised by the ratio. Ties in cost or in DALYs are classified by the dominance rule HE-FM-DOM-001, with DALYs averted as the effect.
Worked examples
Article's programme undiscounted at USD 444,000 extra cost
The programme lowers the cohort's DALYs to 552 against 1,440, averting 888, and costs USD 444,000 more, so it costs USD 500 per DALY averted. The comparator's cost is entered as 0 so that C_1 holds the extra cost. All figures are illustrative, as in the article.
DALY_0 = 1440; DALY_1 = 552; C_1 = 444000; C_0 = 0; DALY_av = 888; ICER = 500
Article's programme with DALYs discounted continuously at 3 per cent
With the article's discounted totals of 960.35 and 363.41 DALYs the programme averts 596.94 DALYs and costs about USD 744 per DALY averted, about 49% more than undiscounted, because the years saved by deaths prevented lie further in the future than the relief from lower severity.
DALY_0 = 960.35; DALY_1 = 363.41; C_1 = 444000; C_0 = 0; DALY_av = 596.94; ICER = 743.79
Common errors
Denominator taken as the programme's DALYs less the comparator's
Copying the QALY form E_1 minus E_0 with DALYs gives 552 less 1,440, or minus 888, and a ratio of minus USD 500, which reads as a programme that saves money and loses health. With a loss measure the comparator's DALYs come first.
Reading a cost per DALY averted against a cost per QALY threshold
A cost per DALY averted is not read directly against a threshold set per QALY gained. DALY weights run the other way, with 1 for death, and each corresponds to a specific disease, while QALY weights value health state attributes, and burden DALYs use a standard life table where QALYs follow modelled survival.
Multiples of GDP per capita applied as a decision rule for cost per DALY averted
Calling the article's USD 500 per DALY averted cost-effective because it lies below one or three times GDP per capita applies a rule that Bertram and colleagues, writing for WHO in 2016, said should not be used alone as a decision rule for funding. The 2021 WHO-CHOICE update recommends against using any threshold as a decision rule.
Sources
Neumann and colleagues on cost per DALY averted and the direction of DALY weights
Neumann PJ, Anderson JE, Panzer AD, Pope EF, D'Cruz BN, Kim DD, Cohen JT. Comparing the cost-per-QALYs gained and cost-per-DALYs averted literatures. Gates Open Research. 2018;2 article 5 (full text read). Background, cost per DALY averted as one of the two common metrics of cost-effectiveness analysis; Introduction, QALY weights run from 0 for dead to 1 for perfect health and reflect health state attributes, while for DALYs 1 corresponds to dead and each weight corresponds to a specific disease.
Fox-Rushby and Hanson on DALYs as the outcome of cost-effectiveness analysis
Fox-Rushby JA, Hanson K. Calculating and presenting disability adjusted life years (DALYs) in cost-effectiveness analysis. Health Policy and Planning. 2001;16(3) 326-331 (abstract read). DALYs used as an outcome indicator in economic evaluations and league tables, the finding that many analyses are not comparable or transferable because their assumptions differ or are unclear, and a set of minimum reporting criteria.
WHO-CHOICE use of cost per DALY and its position on thresholds
Bertram MY, Lauer JA, Stenberg K, Tan Torres Edejer T. Methods for the economic evaluation of health care interventions for priority setting in the health system, an update from WHO CHOICE. International Journal of Health Policy and Management. 2021;10(11) 673-677 (full text read). The update keeps cost per DALY because it is the preferred outcome metric in low- and middle-income settings, presents health benefits undiscounted and discounted at 3% with costs at 3%, and recommends against using a cost-effectiveness threshold as a decision rule.
Bertram and colleagues on GDP-based cost-effectiveness thresholds
Bertram MY, Lauer JA, De Joncheere K, Edejer T, Hutubessy R, Kieny MP, Hill SR. Cost-effectiveness thresholds, pros and cons. Bulletin of the World Health Organization. 2016;94(12) 925-930 (full text read). The 2001 Commission on Macroeconomics and Health thresholds based on multiples of GDP per capita, the 2005 WHO-CHOICE wording of one and three times per capita income per DALY averted, and the statement that none of these thresholds should be used alone as a decision rule for funding.
Canonical Identity
Stable URI · Machine-readable · Resolvable · CC BY 4.0
