Signature
YLL_awd = K * C * exp(r * a) / (r + beta)^2 * (exp(-(r + beta) * (L + a)) * (-(r + beta) * (L + a) - 1) - exp(-(r + beta) * a) * (-(r + beta) * a - 1)) + (1 - K) / r * (1 - exp(-r * L))
| Inputs | Definition | Unit |
|---|---|---|
K | Age-weighting modulation constant, 0 for no age weights and 1 for full age weights | none, at least 0 and at most 1 |
C | Scaling constant of the age-weight function, 0.1658 in the standard GBD DALY | per year of age |
r | Continuous discount rate applied from the time of death, 0.03 in the standard GBD 1990 DALY | per year, above zero |
a | Age at death | years, zero or above |
beta | Shape parameter of the age-weight function, 0.04 in the GBD DALY | per year of age, above zero |
L | Standard life expectancy at the age of death | years, zero or above |
YLL_awd | Age-weighted, continuously discounted years of life lost for one death, valued at the time of death | years |
|---|
Function
Age-weighted healthy years lost under the GBD 1990 exponential age-weight function
Maps an age, or a span of ages from the age at death or onset a over L years, together with the age-weight constants C and beta, the modulation constant K, a discount rate r and, for a case of illness, a disability weight DW, to the weight on a year lived at that age and to the age-weighted, discounted healthy years lost over the span. With K = 0 the age weights drop out and the result is the continuously discounted years of HE-FM-YLL-003 for a death and HE-FM-YLD-002 for an incident case, the per-death and per-case inputs of HE-FN-YLL-001, HE-FN-YLD-001 and the DALY records HE-FN-DALY-001 and HE-FM-DALY-004. The package adds the weight function and its peak, the undiscounted age-weighted years lost, the age-weighted discounted years lost per death of the original DALY, and the same expression for years lived with disability. Notation follows the Age Weighting article.
Computational function
Computational function for age-weighted discounted years lost per death or case with a numerical integral check
Takes the age at death or onset, the years lost or duration, the discount rate, the modulation constant, the age-weight constants and a disability weight, and returns the closed-form age-weighted discounted years (HE-FM-AGW-003, or HE-FM-AGW-002 when the rate is zero), the same quantity from a numerical integral of the weighted, discounted integrand over the span, their difference, the result times the disability weight for a case (HE-FM-AGW-004), and the ratio to the unweighted discounted years of HE-FM-YLL-003. The integral is a Simpson's rule sum over 1,000 panels in Excel and Python and adaptive quadrature in R, so a typing error in the closed form shows as a difference. The inputs therefore differ from the formula's variables.
Inputs and outputs:
ais the age at death or onset in years.Lis the standard years lost, or the duration for a case, in years.ris the continuous discount rate, zero or above.Kis the modulation constant, at least 0 and at most 1.Candbetaare the age-weight constants.DWis the disability weight, 1 for a death.sis r + beta.Gis the closed-form age-weighted discounted years for one unit of loss.G_0is the unweighted discounted years.Yis DW times G.effectis G divided by G_0. The code also returns the numerical integral and its absolute difference from the closed form.Assumption: Loss runs at a constant rate over the span from a to a + L and is discounted continuously from a. The calculator line follows the discounted path and needs r above zero; the code switches to HE-FM-AGW-002 at r = 0.
Worked example (Article's death at 5 with weights and 3% discounting): The closed form and the integral both give 36.4398 years, and age weighting raises the discounted loss by about 22% (computed here for illustration).
a = 5; L = 75; r = 0.03; K = 1; C = 0.1658; beta = 0.04; DW = 1; s = 0.07; G = 36.439825; G_0 = 29.820026; Y = 36.439825; effect = 1.221992Worked example (Article's death at 40 with weights and 3% discounting): Both give 23.2180 years, about 0.3% below the unweighted discounted value.
a = 40; L = 40; r = 0.03; K = 1; C = 0.1658; beta = 0.04; DW = 1; s = 0.07; G = 23.217966; G_0 = 23.293526; Y = 23.217966; effect = 0.996756Worked example (Illustrative case with onset at 35, 10 years at a weight of 0.6): The case counts about 6.955 age-weighted discounted years against 5.184 without age weights, Larson's discounted value for the same case (computed here for illustration).
a = 35; L = 10; r = 0.03; K = 1; C = 0.1658; beta = 0.04; DW = 0.6; s = 0.07; G = 11.591293; G_0 = 8.639393; Y = 6.954776; effect = 1.341679Worked example (Zero rate, read from the code): At r = 0 the code returns the undiscounted 84.0684 years of HE-FM-AGW-002 for the death at 5, matched by the integral; the calculator line is not used at r = 0.
Excel: The closed form is the HE-FM-AGW-003 cell with OnsetAge in place of AgeAtDeath and Duration in place of YearsLost, times DisabilityWt. For the integral, fill a column named PanelIdx with 0, 1 and onwards to Panels (1,000, an even number) and use
=DisabilityWt*Duration/Panels/3*SUMPRODUCT((2+2*MOD(PanelIdx,2)-(PanelIdx=0)-(PanelIdx=Panels))*(AgeWtModulation*AgeWtConstC*(OnsetAge+PanelIdx*Duration/Panels)*EXP(-AgeWtBeta*(OnsetAge+PanelIdx*Duration/Panels))+1-AgeWtModulation)*EXP(-DiscRate*PanelIdx*Duration/Panels)), which applies the Simpson weights 1, 4, 2 and so on to 4, 1 and multiplies by the disability weight, so it matches the closed-form cell for a case as well as for a death (DisabilityWt = 1).R:
agw_yll <- function(a, L, r, K = 1, C = 0.1658, beta = 0.04, DW = 1) { f <- function(x) (K*C*x*exp(-beta*x)+1-K)*exp(-r*(x-a)); num <- integrate(f, a, a+L, rel.tol = 1e-10)$value; s <- r+beta; g <- if (r > 0) K*C*exp(r*a)/s^2*(exp(-s*(L+a))*(-s*(L+a)-1)-exp(-s*a)*(-s*a-1))+(1-K)/r*(1-exp(-r*L)) else K*C/beta^2*((1+beta*a)*exp(-beta*a)-(1+beta*(a+L))*exp(-beta*(a+L)))+(1-K)*L; g0 <- if (r > 0) (1-exp(-r*L))/r else L; c(closed = DW*g, numerical = DW*num, diff = DW*abs(g-num), effect = g/g0) }Returns a named vector.Python:
def agw_yll(a, L, r, K=1.0, C=0.1658, beta=0.04, DW=1.0, n=1000): f = lambda x: (K*C*x*math.exp(-beta*x)+1-K)*math.exp(-r*(x-a)); h = L/n; num = h/3*sum((1 if i in (0, n) else 4 if i % 2 else 2)*f(a+i*h) for i in range(n+1)); s = r+beta; g = K*C*math.exp(r*a)/s**2*(math.exp(-s*(L+a))*(-s*(L+a)-1)-math.exp(-s*a)*(-s*a-1))+(1-K)/r*(1-math.exp(-r*L)) if r > 0 else K*C/beta**2*((1+beta*a)*math.exp(-beta*a)-(1+beta*(a+L))*math.exp(-beta*(a+L)))+(1-K)*L; g0 = (1-math.exp(-r*L))/r if r > 0 else L; return DW*g, DW*num, DW*abs(g-num), g/g0Needsimport math; n must be even.Test (Closed form agrees with the integral): For the article's death at 5 the closed form and the 1,000-panel integral differ by less than 0.0001 years. The expected result is TRUE. Excel check
=ABS(ClosedFormYears-SimpsonYears)<0.0001with the two Excel results in cells named ClosedFormYears and SimpsonYears.Test (Modulation constant enters linearly): The value at K = 0.5 is the mean of the values at K = 0 and K = 1, 33.1299 for the death at 5. The expected result is TRUE. Excel check
=ABS((29.820026+36.439825)/2-33.129926)<0.00001Common error (Integral started at birth or at the reference year): Discounting from age 0 instead of from the age at death or onset shrinks every result by e to the minus ra, the error of HE-ER-AGW-005, and for a death at 40 the integral then returns about 7.0 years instead of 23.22.
Source: Prüss-Üstün A, Mathers C, Corvalán C, Woodward A. Introduction and methods, assessing the environmental burden of disease at national and local levels. Environmental Burden of Disease Series No. 1. Geneva, World Health Organization, 2003. Section 3.5, pages 32 to 34, for the YLL and YLD formulas with K, C, beta and r. Murray CJ. Quantifying the burden of disease, the technical basis for disability-adjusted life years. Bulletin of the World Health Organization. 1994;72(3) 429-445. Page 441 for the integral from a to a + L and its closed-form solution. Larson BA. Calculating disability-adjusted-life-years lost (DALYs) in discrete-time. Cost Effectiveness and Resource Allocation. 2013;11 article 18. Equation 2 for 5.1836 discounted YLDs in the same case without age weighting.
s = r + beta; G = K * C * exp(r * a) / s^2 * (exp(-s * (L + a)) * (-s * (L + a) - 1) - exp(-s * a) * (-s * a - 1)) + (1 - K) / r * (1 - exp(-r * L)); G_0 = (1 - exp(-r * L)) / r; Y = DW * G; effect = G / G_0
Try this function
Implementations
Excel
Age-weighted discounted years lost per death from named cells
With AgeWtModulation, AgeWtConstC, AgeWtBeta, the continuous rate in DiscRate, the age at death in AgeAtDeath and the standard years in YearsLost, the cell (named YLLAgeWtDisc) returns the years lost for one death.
=AgeWtModulation*AgeWtConstC*EXP(DiscRate*AgeAtDeath)/(DiscRate+AgeWtBeta)^2*(EXP(-(DiscRate+AgeWtBeta)*(YearsLost+AgeAtDeath))*(-(DiscRate+AgeWtBeta)*(YearsLost+AgeAtDeath)-1)-EXP(-(DiscRate+AgeWtBeta)*AgeAtDeath)*(-(DiscRate+AgeWtBeta)*AgeAtDeath-1))+(1-AgeWtModulation)/DiscRate*(1-EXP(-DiscRate*YearsLost))
Assumptions
Continuous discounting from the time of death at one rate
Each lost year at age x is discounted by e to the minus r (x minus a), counting from the death, at a constant continuous rate above zero. The formula divides by r, so the undiscounted case is computed with HE-FM-AGW-002, not by entering r = 0. The guide's rate of 0.03 is used directly as the continuous rate, as in HE-FM-YLL-003.
Age-weighted discounted DALYs as a historical convention
The standard DALYs of the original GBD study and of subsequent WHO updates used 3% discounting and age weights for YLLs and YLDs. GBD 2010 dropped age weights, judging them hard to justify once the DALY was defined as a measure of health loss, and WHO adopted a 0% rate and no age weighting after consultations in 2012, so results from this formula are for comparison with those earlier estimates.
Worked examples
Age-weighted discounted years lost for a death at 5
A death at 5 with 75 years lost to an illustrative age of 80 counts about 36.44 years with age weights and 3% discounting, as in the article's table, against 29.82 with discounting alone.
K = 1; C = 0.1658; r = 0.03; beta = 0.04; a = 5; L = 75; YLL_awd = 36.4398
Age-weighted discounted years lost for a death at 40
A death at 40 with 40 years lost counts about 23.22 years, slightly below the 23.29 with discounting alone, as in the article's table.
K = 1; C = 0.1658; r = 0.03; beta = 0.04; a = 40; L = 40; YLL_awd = 23.218
Discounted years lost for a death at 5 without age weights
With K = 0 a death at 5 counts about 29.82 years, the value of HE-FM-YLL-003 for 75 years at 3%, a limiting case that checks the second term.
K = 0; C = 0.1658; r = 0.03; beta = 0.04; a = 5; L = 75; YLL_awd = 29.82
Common errors
Factor e to the ra dropped from the age-weighted term
The age-weighted term is valued at the time of death, which the factor e to the ra restores after the integral is taken from birth. Without it a death at 5 counts about 31.36 years instead of 36.44, and a death at 40 about 7.0 instead of 23.22 (computed here for illustration), so the error grows with the age at death.
Age-weighted discounted values compared with later unweighted estimates
GBD from 2010 onwards and WHO after its 2012 decision use neither age weights nor discounting. Comparing the 36.44 years for a death at 5 in the article's illustration with an undiscounted 75 years from a later study attributes to a change in health a difference that is the change in convention, the article's second misreading.
Sources
WHO guide on the age-weighted discounted years of life lost for a single death
Prüss-Üstün A, Mathers C, Corvalán C, Woodward A. Introduction and methods, assessing the environmental burden of disease at national and local levels. Environmental Burden of Disease Series No. 1. Geneva, World Health Organization, 2003. Section 3.5, Calculation of DALYs with discounting and age weighting, pages 32 to 34, which gives YLL for a single death as K C e to the ra over (r + beta) squared times the bracketed difference at a + L and at a, plus (1 minus K)/r times (1 minus e to the minus rL), with a the age of death, L the standard life expectancy at that age, r usually 3%, beta = 0.04 and C = 0.1658.
Murray's closed-form DALY formula for an individual
Murray CJ. Quantifying the burden of disease, the technical basis for disability-adjusted life years. Bulletin of the World Health Organization. 1994;72(3) 429-445. Page 441, which gives the solution of the definite integral of D C x e to the minus beta x e to the minus r (x minus a) from a to a + L as the DALY formula for an individual, with r = 0.03, beta = 0.04 and C = 0.16243 in the specific form used. This is the K = 1 case of the guide's formula.
WHO on the original age weights and their removal from GBD 2010 and WHO estimates
World Health Organization. WHO methods and data sources for global burden of disease estimates 2000-2023. Global Health Estimates Technical Paper WHO/DSA/DDA/GHE/2026.3. Geneva, WHO, September 2026. Section 2, which states that the standard DALYs of the original GBD study and later WHO updates used 3% discounting and non-uniform age weights, and section 2.3, which states that GBD 2010 dropped age weights as hard to justify for a measure of health loss that in the original method the discounting of YLDs started at the year of incidence and that of YLLs at the year of death, and that WHO adopted a 0% discount rate and no age weighting after informal consultations in 2012.
Murray and colleagues on GBD 2010 DALYs computed without age weights
Murray CJ, Vos T, Lozano R, et al. Disability-adjusted life years (DALYs) for 291 diseases and injuries in 21 regions, 1990-2010, a systematic analysis for the Global Burden of Disease Study 2010. The Lancet. 2012;380(9859) 2197-2223. Abstract, methods, which states that neither YLLs nor YLDs were age-weighted or discounted.
Canonical Identity
Stable URI · Machine-readable · Resolvable · CC BY 4.0
