Incremental cost per QALY of a programme with two cost instalments and one later QALY gain under separate cost and health rates

Discounts a cost paid at the start (year 0) and a second cost in year a at the cost rate, discounts a QALY gain that arrives in year b at the health rate, and divides the discounted cost by the discounted QALY gain. It is the article's prevention programme, whose costs fall early and whose health gain falls late, so the pair of rates can change its ratio a great deal; a treatment with all its cost in year 0 is the special case with no second instalment.

Signature

C_d = C_0 + C_a / (1 + r_C)^a; Q_d = Q_b / (1 + r_H)^b; ICER = C_d / Q_d
Inputs
InputsDefinitionUnit
C_0Cost falling at the discount base year, not discountedpounds
C_aCost falling in year apounds
r_CFor example 0.035 in the NICE reference case or 0.03 in the Dutch guidelineproportion per year
aYears after the discount base yearyears
Q_bQALYs gained in year bQALYs
r_HFor example 0.035 in the NICE reference case or 0.015 in the Dutch guidelineproportion per year
bYears after the discount base yearyears
Output
C_dPresent value in year 0 of the programme's incremental costspounds
Q_dPresent value in year 0 of the QALY gainQALYs
ICERDiscounted cost per discounted QALY gained against the comparatorpounds per QALY

Function

Differential discounting of incremental costs and health effects in a cost-effectiveness ratio

Converts the yearly streams of incremental costs and incremental QALYs to present values at two different annual rates, a cost rate and a usually lower health rate, before dividing one by the other. The package covers the ratio for a programme with costs and QALYs in different years, the exact health rate implied by growth in the money value of health, the effective cost rate implied by a growing cost-effectiveness threshold, and the factor by which delay changes the ratio. Separate discounting of two streams in general is HE-FM-DR-003 on the discount rate page and the two-option ratio HE-FM-ICER-001. Notation follows the Differential Discounting article.

Computational function

  • Computational function: discounted cost per QALY of several programmes' yearly streams under a list of cost and health rate pairs

    Discounts each programme's yearly cost and QALY streams under every pair of rates in a list, returns the discounted totals and ratios, and marks the programme with the lowest ratio under each pair. The inputs differ from the formula's: whole streams by year for any number of programmes, starting at year 0, and a table of rate pairs, in place of two cost instalments and one QALY gain.

    Inputs and outputs: cost, qaly: One row per programme, one column per year from year 0, holding incremental costs and incremental QALYs. Unit: pounds; QALYs.; rates: One row per pair, cost rate then health rate. Unit: proportion per year.; disc_cost, disc_qaly: Discounted totals for each programme and pair. Unit: pounds; QALYs.; ratio: Discounted cost per discounted QALY. Unit: pounds per QALY.; lowest: Whether the programme has the lowest ratio under that pair. Unit: logical.

    Assumption: Each amount falls at a whole-year point and year 0 is the start of treatment; all programmes are compared with the same comparator and independently of each other, so the lowest ratio describes value under each pair, not an incremental ranking of mutually exclusive options.

    Worked example (The article's two programmes under three pairs): The prevention programme (12,000 pounds in years 0 and 10, 1.2 QALYs in year 20) has ratios of 34,004, 25,074 and 23,490 pounds per QALY at 3.5 and 3.5, 1.5 and 1.5, and 3 and 1.5 per cent; the treatment (20,000 pounds in year 0, 0.8 QALYs in year 1) has 25,875, 25,375 and 25,375, so the treatment is lowest only under the first pair, as in the article. cost_A = 12000 in years 0 and 10, otherwise 0; cost_B = 20000 in year 0, otherwise 0; qaly_A = 1.2 in year 20; qaly_B = 0.8 in year 1; years = 0 to 20; rates = [[0.035, 0.035], [0.015, 0.015], [0.03, 0.015]]; ratio = [[34004, 25875], [25074, 25375], [23490, 25375]]

    Worked example (The same programmes undiscounted): With both rates at zero the ratios are 20,000 and 25,000 pounds per QALY, so the prevention programme is lowest (computed here for illustration). rates = [[0, 0]]; ratio = [20000, 25000]

    Excel: With one programme's streams in rows named CostRow and QALYRow and the years 0, 1, 2 and so on in YearRow, =SUMPRODUCT(CostRow,(1+RateC)^-YearRow)/SUMPRODUCT(QALYRow,(1+RateH)^-YearRow) returns its ratio; copied across pairs and programmes it fills the table, and =MIN(...) over a column picks the lowest.

    R: dd_ratios <- function(cost, qaly, rates) { yr <- 0:(ncol(cost)-1); do.call(rbind, lapply(seq_len(nrow(rates)), function(k) { dc <- as.vector(cost %*% (1+rates[k, 1])^-yr); dq <- as.vector(qaly %*% (1+rates[k, 2])^-yr); data.frame(r_C = rates[k, 1], r_H = rates[k, 2], programme = rownames(cost), disc_cost = dc, disc_qaly = dq, ratio = dc/dq, lowest = dc/dq == min(dc/dq)) })) } Base R only; dd_ratios(rbind(A = c(12000, rep(0, 9), 12000, rep(0, 10)), B = c(20000, rep(0, 20))), rbind(A = c(rep(0, 20), 1.2), B = c(0, 0.8, rep(0, 19))), rbind(c(0.035, 0.035), c(0.015, 0.015), c(0.03, 0.015))) returns the first example.

    Python: def dd_ratios(cost, qaly, rates, names=None): names = names or [f"P{i+1}" for i in range(len(cost))]; disc = lambda rows, r: [sum(v/(1+r)**t for t, v in enumerate(row)) for row in rows]; tab = [(rc, rh, disc(cost, rc), disc(qaly, rh)) for rc, rh in rates]; return [{"r_C": rc, "r_H": rh, "programme": n, "disc_cost": a, "disc_qaly": b, "ratio": a/b, "lowest": a/b == min(x/y for x, y in zip(dc, dq))} for rc, rh, dc, dq in tab for n, a, b in zip(names, dc, dq)] Needs no imports; called with the same streams as lists, the rate pairs as tuples and names ["A", "B"], it returns the same values as the R function.

    Test (Year numbering starts at 0): For the prevention programme at 3.5 and 3.5 per cent, the stream formula returns the same discounted cost as HE-FM-DDIS-001. Expected result: TRUE. FALSE shows years numbered from 1, which discounts the whole stream one more year and gives 19,813.55 pounds. Excel check: =ABS(SUMPRODUCT(CostRow,(1+RateC)^-YearRow)-DiscCost)<1E-6

    Common error (Ranking mutually exclusive options by their ratios against no intervention): The lowest ratio under a pair shows which independent programme is better value against doing nothing; for mutually exclusive options the incremental analysis of HE-FM-ICER-001 applies under each pair.

    Source: Attema AE, Brouwer WBF, Claxton K. Discounting in economic evaluations. PharmacoEconomics. 2018;36(7):745-758. doi:10.1007/s40273-018-0672-z (full text read). Sections Recent Developments and Normative or Positive Approach; National Institute for Health and Care Excellence. NICE technology appraisal and highly specialised technologies guidance: the manual (PMG36). London: NICE; published 31 January 2022, last updated 31 March 2026 (full text of chapter 4 read). Section 4.5.1; Zorginstituut Nederland. Guideline for economic evaluations in healthcare (2024 version). Diemen: Zorginstituut Nederland; 16 January 2024 (full text read). Section 4.2.

    disc_cost_j = sum_(t=0)^T [C_jt * (1 + r_C)^(-t)]; disc_qaly_j = sum_(t=0)^T [Q_jt * (1 + r_H)^(-t)]; ratio_j = disc_cost_j / disc_qaly_j; lowest_j = (ratio_j = min_k ratio_k)

Try this function

Implementations

  • Excel

    Discounted cost, discounted QALYs and ratio of a two-instalment programme from named cells

    With CostY0, CostYa, YearA, QALYb, YearB, RateC and RateH named, the formulas return the discounted cost, the discounted QALY gain and the ratio, held in DiscCost, DiscQALY and ICERval.

    =CostY0+CostYa/(1+RateC)^YearA; =QALYb/(1+RateH)^YearB; =DiscCost/DiscQALY

Assumptions

  • Amounts fall at whole-year points with year 0 as the start of treatment

    Each cost and QALY is treated as falling at a single point in its year and is discounted by the discrete annual factor, with the discount base year fixed at the start of treatment, the rule Attema and colleagues recommend to stop the base year being moved to improve a ratio.

  • Increments over the same comparator for each programme

    C_0, C_a and Q_b are differences from no intervention, and programmes compared on their ratios are independent of each other, as in the article's example of a prevention programme and a treatment.

Worked examples

  • Prevention programme with both streams discounted at 3.5 per cent

    Costs of 12,000 pounds in year 0 and in year 10 and a gain of 1.2 QALYs in year 20, discounted at the NICE reference-case 3.5 per cent for both streams, give a discounted cost of 20,507.03 pounds, a discounted gain of 0.60308 QALYs and a ratio of 34,004 pounds per QALY, as in the article.

    C_0 = 12000; C_a = 12000; a = 10; Q_b = 1.2; b = 20; r_C = 0.035; r_H = 0.035; C_d = 20507.03; Q_d = 0.60308; ICER = 34004
  • Prevention programme with both streams discounted at 1.5 per cent

    At 1.5 per cent for both streams the same programme has a discounted cost of 22,340.01 pounds, a gain of 0.89096 QALYs and a ratio of 25,074 pounds per QALY, as in the article.

    C_0 = 12000; C_a = 12000; a = 10; Q_b = 1.2; b = 20; r_C = 0.015; r_H = 0.015; C_d = 22340.01; Q_d = 0.89096; ICER = 25074
  • Prevention programme with costs at 3 per cent and health at 1.5 per cent

    Under the Dutch reference-case pair only the year-10 cost changes from the previous example: the discounted cost is 20,929.13 pounds and the ratio 23,490 pounds per QALY, as in the article.

    C_0 = 12000; C_a = 12000; a = 10; Q_b = 1.2; b = 20; r_C = 0.03; r_H = 0.015; C_d = 20929.13; Q_d = 0.89096; ICER = 23490
  • Treatment with its whole cost in year 0 and its QALY gain in year 1

    The article's treatment costs 20,000 pounds in year 0, entered here with no second instalment, and gains 0.8 QALYs in year 1, so only the QALYs are discounted: 25,875 pounds per QALY at 3.5 per cent, and 25,375 under either pair with a health rate of 1.5 per cent. The prevention programme has the lower ratio under both pairs with a 1.5 per cent health rate and the higher ratio at 3.5 per cent.

    C_0 = 20000; C_a = 0; a = 1; Q_b = 0.8; b = 1; r_C = 0.035; r_H = 0.035; C_d = 20000; Q_d = 0.77295; ICER = 25875

Common errors

  • Reading a ratio from one pair of rates against a threshold set for another

    The NICE reference case discounts costs and health effects at 3.5 per cent a year, so its threshold range applies to ratios like the 34,004 pounds of the first example, not to the 23,490 pounds the same programme shows at 3 and 1.5 per cent; a report should state both rates and the guideline behind them.

  • Treating the NICE 1.5 per cent option as differential discounting

    PMG36 allows a non-reference-case rate of 1.5 per cent for both costs and health effects when all three of its criteria are met, which is uniform discounting at a lower rate; it gives the prevention programme 25,074 pounds per QALY, not the 23,490 of the 3 and 1.5 per cent pair.

  • Expecting a lower health rate to make future QALYs count more than present ones

    A lower health rate raises the weight of a QALY in year 20 from about 0.50 at 3.5 per cent to about 0.74 at 1.5 per cent, relative to costs and to a QALY today, but the weight stays below one.

Sources

  • NICE PMG36 reference-case discount rate of 3.5 per cent for costs and health effects

    National Institute for Health and Care Excellence. NICE technology appraisal and highly specialised technologies guidance: the manual (PMG36). London: NICE; published 31 January 2022, last updated 31 March 2026 (full text of chapter 4 read). Section 4.5.1: for the reference case, costs and health effects should be discounted at the same rate of 3.5% per year. Section 4.5.3: the committee may consider analyses using a non-reference-case discount rate of 1.5% per year for both costs and health effects if all of three criteria are met.

    View source →

  • Zorginstituut Nederland 2024 reference case of 3 per cent for costs and 1.5 per cent for effects

    Zorginstituut Nederland. Guideline for economic evaluations in healthcare (2024 version). Diemen: Zorginstituut Nederland; 16 January 2024 (full text read). Section 4.2: for the reference case, future costs must be discounted with a constant discount rate of 3% and future effects with a constant discount rate of 1.5%.

    View source →

  • Brouwer and colleagues on lower weights for future health and preventive care

    Brouwer WBF, Niessen LW, Postma MJ, Rutten FFH. Need for differential discounting of costs and health effects in cost effectiveness analyses. BMJ. 2005;331(7514):446-448. doi:10.1136/bmj.331.7514.446 (full text read). Main text: attaching lower weight to future health makes preventive health care seem less cost effective; differential discounting is more appropriate when non-monetary outcomes like QALYs are used.

    View source →

  • Attema and colleagues on fixing the discount base year under differential discounting

    Attema AE, Brouwer WBF, Claxton K. Discounting in economic evaluations. PharmacoEconomics. 2018;36(7):745-758. doi:10.1007/s40273-018-0672-z (full text read). Section Normative or Positive Approach: the further the starting year is placed before the actual start of the programme, the more the ICER is reduced when costs are discounted more than effects; a fixed rule, for instance the year of treatment initiation, avoids this.

    View source →

Canonical Identity