The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Economic Evaluation: ICER, NMB, and Value-Based Pricing

ICER (Incremental Cost-Effectiveness Ratio)

The Formula

\[ICER = \frac{\Delta Cost}{\Delta Effect} = \frac{C_{intervention} - C_{comparator}}{E_{intervention} - E_{comparator}}\]

The Scenario – New Diabetes Drug

A trial-based economic evaluation compares a new DPP-4 inhibitor to metformin monotherapy over 5 years:

Outcome Metformin DPP-4 Inhibitor
Total Cost INR 85,000 INR 1,42,000
QALYs 3.82 4.15
c_new <- 142000; c_old <- 85000
e_new <- 4.15; e_old <- 3.82

delta_c <- c_new - c_old
delta_e <- e_new - e_old
icer <- delta_c / delta_e

cat("Incremental Cost: INR", format(delta_c, big.mark = ","), "\n")
#> Incremental Cost: INR 57,000
cat("Incremental QALYs:", delta_e, "\n")
#> Incremental QALYs: 0.33
cat("ICER: INR", format(round(icer), big.mark = ","), "per QALY\n")
#> ICER: INR 172,727 per QALY

Interpretation

The intervention falls in the NE quadrant (more costly, more effective). Compare the ICER to the Willingness-to-Pay (WTP) threshold:

Net Monetary Benefit (iNMB)

The Formula

\[iNMB = (\Delta E \times WTP) - \Delta C\]

iNMB > 0 means cost-effective at the given WTP.

wtp <- 100000  # INR per QALY (HTAIn threshold)

inmb <- (delta_e * wtp) - delta_c
cat("iNMB at WTP INR 1,00,000/QALY: INR", format(round(inmb), big.mark = ","), "\n")
#> iNMB at WTP INR 1,00,000/QALY: INR -24,000

if (inmb > 0) {
  cat("Decision: Cost-effective (iNMB > 0)\n")
} else {
  cat("Decision: NOT cost-effective (iNMB < 0)\n")
}
#> Decision: NOT cost-effective (iNMB < 0)

Value-Based Pricing (Headroom Analysis)

The Scenario – SepsiQuick (Point-of-Care Test for Sepsis)

You are pricing a new rapid diagnostic test for sepsis. The evidence:

The Formulas

\[C_{max} = (\Delta E \times WTP) + C_{comparator}\]

\[P_{max} = \frac{C_{max} - C_{associated}}{N}\]

Worked Example

delta_e_test <- 0.02
wtp_threshold <- 100000
c_comparator <- 500
c_associated <- 200
n_units <- 1

c_max <- (delta_e_test * wtp_threshold) + c_comparator
p_max <- (c_max - c_associated) / n_units

cat("Clinical Value: INR", format(delta_e_test * wtp_threshold, big.mark = ","), "\n")
#> Clinical Value: INR 2,000
cat("+ Savings from replacing old test: INR", format(c_comparator, big.mark = ","), "\n")
#> + Savings from replacing old test: INR 500
cat("= Total Headroom: INR", format(c_max, big.mark = ","), "\n")
#> = Total Headroom: INR 2,500
cat("- Nurse time: INR", format(c_associated, big.mark = ","), "\n")
#> - Nurse time: INR 200
cat("= Maximum Justifiable Price: INR", format(p_max, big.mark = ","), "\n")
#> = Maximum Justifiable Price: INR 2,300

What If You Price Above the Headroom?

proposed_price <- 3000
overpriced_by <- ((proposed_price - p_max) / p_max) * 100

if (proposed_price > p_max) {
  cat("At INR", format(proposed_price, big.mark = ","),
      "the product is", round(overpriced_by, 1), "% above the maximum justifiable price.\n")
  cat("Recommendation: Reduce price by INR",
      format(proposed_price - p_max, big.mark = ","), "\n")
} else {
  cat("Price is within the cost-effective range.\n")
}
#> At INR 3,000 the product is 30.4 % above the maximum justifiable price.
#> Recommendation: Reduce price by INR 700

References

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.