GBD age-weight function with its age and value of peak weight

Gives the weight on a year of life lived at age x as C times x times e to the minus beta x, the exponential form Murray used for the original DALY. The weight is zero at birth, rises through childhood and declines slowly after its peak, which falls where the slope C e to the minus beta x times (1 minus beta x) is zero, at the age 1/beta. The weight at the peak is C/(beta e). With the standard constants of 0.1658 and 0.04 the peak is at age 25 with a weight of about 1.525, as in the article.

Signature

W = C * x * exp(-beta * x); x_peak = 1 / beta; W_peak = C / beta * exp(-1)
Inputs
InputsDefinitionUnit
CScaling constant of the age-weight function, 0.1658 in the standard GBD DALY and 0.16243 in Murray's 1994 paperper year of age
xAge at which the year of life is livedyears, zero or above
betaParameter that sets where the weight peaks and how fast it declines, 0.04 in the GBD DALYper year of age, above zero
Output
WWeight given to a year of life lived at age x, relative to a weight of 1 under uniform age weightsnone, a relative weight
x_peakAge at which the age weight is greatest, 1/betayears
W_peakLargest weight the function gives, at age x_peaknone, a relative weight

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 the ages at which the GBD age weight crosses a chosen level

    Takes the constants C and beta and a level, by default 1, and returns the two ages at which the weight equals that level, one on each side of the peak 1/beta, so the span of ages weighted above uniform can be read off. The crossing ages have no closed form in elementary functions, so the code finds them numerically by root search on each side of the peak. The calculator line checks a pair of ages by returning their weights. The inputs therefore differ from the formula's variables, which take one age.

    Inputs and outputs: C and beta are the age-weight constants. level is the weight to cross, 1 by default. x_lo and x_hi are the lower and upper crossing ages in years, returned by the code and entered in the calculator line to check them. x_peak is the peak age 1/beta. W_lo and W_hi are the weights at the two ages, equal to the level at a correct crossing. When the peak weight C/(beta e) is below the level there is no crossing.

    Assumption: The weight function is HE-FM-AGW-001 with beta above zero, so it rises to a single peak and then falls, and each side has at most one crossing. An age where the weight equals the level exactly is counted inside the span.

    Worked example (Standard constants): The weight exceeds 1 between about 8.46 and 55.47 years, the article's roughly 8.5 and 55.5. C = 0.1658; beta = 0.04; x_lo = 8.4603; x_hi = 55.4732; x_peak = 25; W_lo = 1; W_hi = 1

    Worked example (Murray's 1994 constant): With C = 0.16243 the span is about 8.73 to 54.53 years, which matches the 9 to 54 years that Barendregt and colleagues report for these values. C = 0.16243; beta = 0.04; x_lo = 8.7292; x_hi = 54.532; x_peak = 25; W_lo = 1; W_hi = 1

    Excel: With a column of ages 0, 0.01 and onwards to 100 named AgeGrid, =INDEX(AgeGrid,MATCH(TRUE,INDEX(AgeWtConstC*AgeGrid*EXP(-AgeWtBeta*AgeGrid)>=1,0),0)) returns the lower crossing and =LOOKUP(2,1/(AgeWtConstC*AgeGrid*EXP(-AgeWtBeta*AgeGrid)>=1),AgeGrid) the upper crossing, both to the nearest 0.01 year and inside the span. Both work in classic Excel without array entry.

    R: agw_cross <- function(C = 0.1658, beta = 0.04, level = 1) { w <- function(x) C*x*exp(-beta*x)-level; if (C/(beta*exp(1)) < level) return(NULL); c(x_lo = uniroot(w, c(0, 1/beta), tol = 1e-10)$root, x_hi = uniroot(w, c(1/beta, 50/beta), tol = 1e-10)$root) } Returns the two crossing ages.

    Python: def agw_cross(C=0.1658, beta=0.04, level=1.0): w = lambda x: C*x*math.exp(-beta*x)-level; return (brentq(w, 0.0, 1/beta, xtol=1e-12), brentq(w, 1/beta, 50/beta, xtol=1e-12)) if C/(beta*math.e) >= level else None Needs import math and from scipy.optimize import brentq.

    Test (Crossings either side of the peak): The lower crossing is below 25 and the upper above it, and the weight at each is 1 to four decimal places. The expected result is TRUE. Excel check =AND(8.4603<25,55.4732>25,ABS(0.1658*8.4603*EXP(-0.04*8.4603)-1)<0.0001,ABS(0.1658*55.4732*EXP(-0.04*55.4732)-1)<0.0001)

    Test (No crossing above the peak weight): A level of 1.6 is above the peak weight 1.525, so the function returns no ages. The expected result is TRUE. Excel check =0.1658/(0.04*EXP(1))<1.6

    Common error (Span read as the ages whose deaths gain from weighting): The ages 8.5 to 55.5 are where a year lived is weighted above 1, not the ages at death whose loss rises. Barendregt and colleagues show that, because years of life lost already favour the young, the ages that gain from weighting are 0 to 27, and in the article's illustration a death at 40, inside the span, loses 8% under age weighting.

    Source: Barendregt JJ, Bonneux L, Van der Maas PJ. DALYs, the age-weights on balance. Bulletin of the World Health Organization. 1996;74(4) 439-443. Page 440 and Figure 1, the function C x e to the minus beta x with C = 0.16243 and beta = 0.04, and the statement that the years lived between ages 9 and 54 have a weight greater than unity, and the summary on page 439, which states that the age range made more important by weighting is 0 to 27 years because the expected years of life lost already emphasise the young. 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, DALY parameters, for the standard constants 0.1658 and 0.04.

    x_peak = 1 / beta; W_lo = C * x_lo * exp(-beta * x_lo); W_hi = C * x_hi * exp(-beta * x_hi)

Try this function

Implementations

  • Excel

    GBD age weight and peak from named cells

    With the constants in AgeWtConstC and AgeWtBeta and the age in AgeYears, the first formula returns the weight (a cell named AgeWeight), the second the peak age (PeakAge) and the third the peak weight (PeakWeight).

    =AgeWtConstC*AgeYears*EXP(-AgeWtBeta*AgeYears); =1/AgeWtBeta; =AgeWtConstC/AgeWtBeta*EXP(-1)

Assumptions

  • Standard GBD constants for the age-weight function

    The constants are fixed conventions, beta = 0.04 and C = 0.1658 in the standard DALY parameters of the WHO environmental burden of disease guide. Larson reports that, with beta at 0.04, C was chosen so that global DALYs were the same with and without age weighting in the 1990 study, so C is a calibration to that study and not a measured preference. Murray's 1994 paper used 0.16243.

  • Age weight as a continuous function of exact age

    Age x is continuous and measured in years from birth, so the weight on a whole year of life is the integral of W over that year, not W at the start of it. Murray chose a continuous function over a set of discrete weights for convenience, and the peak formula uses the derivative, which needs beta above zero.

Worked examples

  • GBD age weight at age 25, the peak

    With the standard constants a year lived at 25 carries a weight of about 1.525, 0.1658 times 25 times e to the minus 1, as in the article. Here x equals the peak age, so W equals W_peak.

    C = 0.1658; beta = 0.04; x = 25; W = 1.5249; x_peak = 25; W_peak = 1.5249
  • GBD age weight at age 70

    A year lived at 70 carries a weight of about 0.706, less than half the weight at 25, as in the article.

    C = 0.1658; beta = 0.04; x = 70; W = 0.7058; x_peak = 25; W_peak = 1.5249
  • GBD age weight at age 5

    A year lived at 5 carries a weight of about 0.679, the figure the article uses for a death at 5.

    C = 0.1658; beta = 0.04; x = 5; W = 0.6787; x_peak = 25; W_peak = 1.5249
  • GBD age weight at birth

    At birth the weight is zero whatever the constants, a limiting case that checks an implementation.

    C = 0.1658; beta = 0.04; x = 0; W = 0; x_peak = 25; W_peak = 1.5249
  • Age weight at age 25 with Murray's 1994 constant

    With C = 0.16243, the value in Murray's 1994 paper, the weight at 25 is about 1.494, some 2% below the standard 1.525 (computed here for illustration).

    C = 0.16243; beta = 0.04; x = 25; W = 1.4939; x_peak = 25; W_peak = 1.4939

Common errors

  • Peak of the age weight read as the age of greatest loss per death

    The weight peaks at 25, but a death at 25 loses fewer age-weighted years than a death in childhood, because the child's lost years pass through the whole high-weight span. Up to an illustrative age of 80 and without discounting, a death at 25 loses about 58.50 age-weighted years against 84.07 at age 5 and 85.88 at birth (HE-FM-AGW-002, computed here for illustration), the article's first misreading.

  • Shape parameter changed without recalibrating the scaling constant

    Murray notes that if beta is altered the constant C would necessarily change as well. Keeping C = 0.1658 with beta = 0.05 lowers every weight, and the undiscounted age-weighted loss from a death at 5 up to age 80 falls from 84.07 to about 58.49 (computed here for illustration), a change produced by the constant, not by the new shape.

Sources

  • Murray on the exponential age-weight function and its constants

    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 436, which gives continuous age-weighting functions of the form C x e to the minus beta x, states that only a narrow range of beta, about 0.03 to 0.05, gives reasonable age patterns, that beta = 0.04 was chosen by informal polling of the advisory board, that C is chosen so that unequal age weights do not change the global burden, that C equals 0.16243, and that altering beta would change the constant.

    View source →

  • WHO guide on standard age-weight constants for the DALY

    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.4, which gives the function used to model the relative age weights, C x e to the minus beta x, and the GBD choice to value a year in young adulthood more than one in old age or infancy, and section 3.5, whose DALY parameters state that standard age weights use beta = 0.04 and C = 0.1658.

    View source →

  • Larson on the age-weight constant chosen to match global DALYs

    Larson BA. Calculating disability-adjusted-life-years lost (DALYs) in discrete-time. Cost Effectiveness and Resource Allocation. 2013;11 article 18. Appendix, equation 5, which gives the age-weighting function as 0.1658 x e to the minus 0.04 x and states that, with beta = 0.04, C = 0.1658 was chosen so that global DALYs were the same with and without age weighting in the 1990 global burden of disease study.

    View source →

Canonical Identity

Stable URI · Machine-readable · Resolvable · CC BY 4.0

GBD age-weight function with its age and value of peak weight | HealthEconomics.wiki