How to Create a Cost‑Effectiveness Frontier Graph- Tutorial

What Is a Cost-Effectiveness Frontier Graph?

A cost-effectiveness frontier graph is a visual representation that shows which healthcare interventions provide the best value for money. It plots interventions on a plane where the x-axis shows effectiveness (usually measured in QALYs gained) and the y-axis shows costs.

The "frontier" itself is the line connecting the most cost-effective options. Anything below this line is dominated—meaning you're paying more for less benefit. Anything above it would be "extendedly dominated."

Health economists use these graphs to help policymakers decide which treatments deserve funding. If you're working in pharma, health tech, or public health research, you need to know how to build one.

Key Concepts You Must Understand First

Before touching any software, grasp these terms. Skipping this leads to garbage outputs.

ICER - Incremental Cost-Effectiveness Ratio

The ICER tells you the additional cost per additional unit of health benefit gained when switching from one intervention to the next. You calculate it as:

ICER = (Cost B - Cost A) / (Effectiveness B - Effectiveness A)

If the ICER falls below your willingness-to-pay threshold, the intervention is cost-effective. Simple.

QALYs - Quality-Adjusted Life Years

QALYs combine survival and quality of life into a single metric. One QALY equals one year of perfect health. They're the standard effectiveness measure in cost-effectiveness analysis.

Willingness-to-Pay Threshold

This is the maximum amount a payer will spend for one QALY. In the UK, NICE typically uses £20,000-£30,000 per QALY. In the US, thresholds vary wildly—anywhere from $50,000 to $150,000 per QALY depending on who's paying.

Dominated and Extendedly Dominated

If an intervention costs more and produces fewer QALYs than a cheaper alternative, it's dominated. If it's less effective than a combination of two other interventions at a lower cost, it's extendedly dominated. You exclude these from the frontier.

Tools for Building Cost-Effectiveness Frontier Graphs

You have options. Here's how they stack up:

ToolBest ForLearning CurveCost
R (ggplot2 + BCEA)Custom analysis, publicationsSteepFree
ExcelQuick models, non-statisticiansLowPaid (usually available)
StataHealth economists, advanced statsMediumExpensive license
Python (matplotlib)Programmers, automationMediumFree
SPSSClinical researchersLow-MediumExpensive

For most people building their first frontier graph, Excel works fine. If you're doing serious publication-quality work, use R with the BCEA package—it handles uncertainty and probabilistic sensitivity analysis automatically.

How to Create a Cost-Effectiveness Frontier Graph (Step-by-Step)

Let's build this in Excel first. It's the most accessible starting point.

Step 1: Set Up Your Data

Create a table with your interventions. You'll need columns for:

Enter your data in ascending order of effectiveness. This matters.

Step 2: Calculate Incremental Values

Use the cheapest, least effective option as your comparator (usually "no intervention" or "standard care"). Calculate:

Incremental Cost = Cost of Intervention - Cost of Comparator

Incremental QALYs = Effectiveness of Intervention - Effectiveness of Comparator

Drag these formulas down for all interventions.

Step 3: Calculate ICERs

For each intervention (except the comparator), divide incremental cost by incremental QALYs:

= Incremental Cost / Incremental QALYs

Flag any dominated options immediately. If incremental cost is positive but incremental QALYs is negative, that intervention is dominated.

Step 4: Identify the Frontier

Remove dominated and extendedly dominated options. Plot only the interventions that survive this filtering. These form your frontier.

Step 5: Create the Scatter Plot

Select your cost and effectiveness columns. Insert a scatter plot (with straight lines if you want to connect the frontier points).

Set effectiveness (QALYs) as the x-axis. Set cost as the y-axis. Add axis labels.

Step 6: Add the Threshold Line

Draw a line representing your willingness-to-pay threshold. If your threshold is $50,000 per QALY, this line has a slope of 50,000. Any intervention above this line is not cost-effective at that threshold.

Step 7: Label Your Points

Manually add text labels to each point on the frontier. Include intervention names. Add ICER values in parentheses if space allows.

Building the Same Graph in R

If you want publication-quality output, R is worth learning. Here's the core approach using BCEA:


install.packages("BCEA")
library(BCEA)

# Create your data
costs <- c(0, 5000, 12000, 25000)
effects <- c(0, 0.5, 1.2, 1.8)
interventions <- c("Standard Care", "Drug A", "Drug B", "Drug C")

# Run the analysis
bcea_result <- bcea(effect = effects, 
                    cost = costs, 
                    interventions = interventions,
                    ref = 1,  # reference intervention
                    wtp = 50000)  # willingness to pay threshold

# Create the cost-effectiveness frontier plot
ceplane.plot(bcea_result, 
             comparison = 1,  # compare against reference
             threshold = 50000)

The BCEA package handles dominated interventions, uncertainty ellipses, and acceptability curves. It saves enormous amounts of manual work for serious analysis.

Common Mistakes That Ruin Your Graph

These errors show up constantly in submitted manuscripts. Don't be that person.

When to Use This Analysis

Cost-effectiveness frontier graphs are standard in:

If you're writing a paper for a health economics journal, expect reviewers to demand this visualization. It's non-negotiable in the field.

What the Graph Actually Shows

Once built correctly, your frontier graph tells policymakers which interventions offer the best health return per dollar spent. Interventions on the frontier represent efficient use of resources. Interventions below it waste money.

The threshold line shows the cutoff. Interventions below the threshold are worth funding. Interventions above it are not—at least not at that willingness-to-pay level.

That's the entire point. You're identifying where resources should go to maximize health outcomes within a budget constraint. The graph makes this decision visually obvious.