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 | Definition | Unit |
|---|---|---|
C_0 | Cost falling at the discount base year, not discounted | pounds |
C_a | Cost falling in year a | pounds |
r_C | For example 0.035 in the NICE reference case or 0.03 in the Dutch guideline | proportion per year |
a | Years after the discount base year | years |
Q_b | QALYs gained in year b | QALYs |
r_H | For example 0.035 in the NICE reference case or 0.015 in the Dutch guideline | proportion per year |
b | Years after the discount base year | years |
C_d | Present value in year 0 of the programme's incremental costs | pounds |
|---|---|---|
Q_d | Present value in year 0 of the QALY gain | QALYs |
ICER | Discounted cost per discounted QALY gained against the comparator | pounds 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-6Common 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.
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%.
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.
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.
Canonical Identity
Stable URI · Machine-readable · Resolvable · CC BY 4.0