Budget Impact Analysis
A payer-perspective financial projection that estimates the change in total and per-member-per-month expenditure attributable to adopting a new intervention into a defined, often dynamic, covered population over a short (typically 1-5 year) time horizon, using undiscounted current costs.
In plain language
A budget impact analysis answers a money question that a health plan asks before covering a new drug: how much will our total yearly drug bill go up if we add this? You take the members who could use the drug, estimate the share who actually will (the uptake), price out what those patients cost on the new drug versus what they cost today, and report the dollar difference for the budget. It is about affordability for a specific payer over a few years, not about whether the drug is worth the money for the health it buys (that is a separate cost-effectiveness question). Future-year dollars are reported as-is, because a payer cares about the actual cash leaving the budget that year.
A budget impact analysis (BIA) answers a question that cost-effectiveness analysis (CEA) deliberately ignores: can the payer afford this, and what does it do to next year's budget? It projects the difference between two scenarios for a defined plan or system population over a short horizon — a "world without" the new intervention (current treatment mix) and a "world with" it (the intervention takes a forecast share of the eligible pool). The primary outputs are the total incremental budget and the per-member-per-month (PMPM) or per-member-per-year cost change, reported year by year, not a single summary ratio.
Core conceptual distinction — BIA is not CEA
This is the distinction the ISPOR task forces police hardest, and the most common way a BIA is done wrong is by quietly running a CEA instead. - Estimand / output. CEA produces an incremental cost-effectiveness ratio (ICER) or net monetary benefit (NMB) — efficiency per unit of health (cost per QALY). BIA produces an affordability number: total dollars and PMPM hitting a specific budget holder. There is no QALY, no ICER, and no willingness-to-pay threshold in a BIA. If your BIA reports an ICER or an NMB, you have built a CEA and mislabeled it. - Discounting. CEA discounts future costs and effects to present value because it compares lifetime efficiency. BIA does not discount (per ISPOR BIA Good Practice II): payers manage cash outflow in the actual budget year, so a dollar spent in year 3 is reported as a year-3 dollar. Applying CEA-style discounting to a BIA understates the real budget pressure and is a recognized error. - Population. CEA typically follows a fixed cohort over a lifetime horizon. BIA must reflect the whole eligible population the payer actually covers, which changes each year as members enter, age, are diagnosed, disenroll, or die — usually modeled as an open (prevalence + incidence) population, not a closed cohort. - Costs used. CEA uses lifetime expected costs. BIA uses current (acquisition + administration + monitoring + downstream HCRU offsets) costs over the budget window, and must include only resources the budget holder actually pays for.
Mechanics
The arithmetic is deliberately simple and transparent (regulators and pharmacy & therapeutics committees must be able to re-derive it): for each year t, `eligible_population(t)` is multiplied by a market-share uptake curve `share(t)` to get treated patients; each treated patient incurs `(drug_cost + administration + monitoring - cost_offsets)`; untreated patients incur current-standard-of-care cost; the budget impact is the world-with minus world-without total, divided by member-months for PMPM. The credibility of a BIA lives almost entirely in three inputs that real-world data are best positioned to supply: the size of the addressable population, the realistic uptake/market-share trajectory (not instantaneous 100% switching), and the defensible cost offsets (avoided hospitalizations, reduced concomitant therapy), which is where claims- or EHR-derived HCRU enters.
Pros, cons, and trade-offs
- vs cost-effectiveness / cost-utility analysis: BIA tells a payer the cash consequence of a coverage decision on a real membership over a real budget cycle; CEA tells a value-for-money story over a lifetime. They are complements, not substitutes — ISPOR good-practice guidance covers both, and HTA practice typically expects both: CDA-AMC (formerly CADTH) requires a BIA, while NICE assesses budget impact separately (its Budget Impact Test) rather than mandating a company-submitted BIA. Use BIA when the decision is formulary placement, capitation rate-setting, or affordability under a fixed budget; use CEA when the decision is whether the intervention is worth its price at a societal/lifetime level. Treating a favorable ICER as proof of affordability is the classic mistake: a cost-effective drug can still be budget-busting (e.g., hepatitis C direct-acting antivirals — highly cost-effective, yet an acute multi-year budget shock). - vs a static one-year "drug cost × prevalence" back-of-envelope: a proper BIA models the dynamic eligible population and a ramped uptake curve over multiple years, capturing the timing of spend that payers actually care about. Cost: more inputs, more assumptions, more uncertainty to characterize. Prefer the dynamic model whenever uptake is gradual, the population is growing, or the horizon exceeds one year. - vs full Markov / partitioned-survival economic models: those generate the per-patient cost and effect streams that feed a BIA, but a BIA layered on top must collapse them to budget-window cash flows for the whole population. Cost: a transparent BIA spreadsheet is easier for a P&T committee to audit than a state-transition engine. Prefer a transparent BIA layer even when a Markov model exists underneath; expose the inputs.
When to use
Formulary / coverage decisions and tier placement; pharmacy and medical benefit budget forecasting; capitation and premium rate-setting; HTA submissions (NICE, CADTH, ICER, AMCP Format dossiers) where an affordability section is mandatory; negotiating value-based or budget-cap contracts. BIA is the right tool whenever a specific budget holder over a specific time window must plan for the cash consequence of an adoption decision.
When NOT to use — and when it is actively misleading
- As a stand-in for value. A BIA says nothing about whether the spend buys health. A drug can have a small budget impact and be terrible value, or a large budget impact and be excellent value. Presenting a low budget impact as evidence of worth is misleading; that is the CEA's job. - With discounting, lifetime horizons, or QALYs bolted on. These import CEA machinery that contradicts the BIA's affordability purpose and inflate or deflate the headline number in ways payers will reject. - With instantaneous or unrealistic uptake. Assuming 100% of eligible patients switch on day one overstates year-1 impact and destroys credibility; assuming token uptake hides a real future liability. Uptake must be evidence-based (analogue launches, contract terms, prior-authorization friction). - When the eligible population or offsets are guessed, not measured. A BIA built on assumed prevalence and assumed offsets is an opinion in a spreadsheet. If RWD can quantify the addressable pool and the HCRU offsets, failing to use it is the principal source of an indefensible result. - For a societal perspective. BIA is payer/budget-holder perspective by construction; productivity and out-of-pocket costs the budget holder does not pay belong in a CEA/societal analysis, not the budget line.
Data-source operational depth (RWD feeds the three load-bearing inputs)
- Claims (FFS / commercial / Part D): the workhorse for the addressable population (members with the indication via diagnosis codes, satisfying continuous enrollment and prior-treatment criteria) and for observed per-patient annual cost and HCRU offsets in a treated subcohort (PMPM medical + pharmacy spend). Failure modes: Medicare Advantage and capitated person-time lack complete FFS claims, so MA-only enrollees produce understated cost and missed utilization — derive cost offsets from members with full medical+pharmacy benefit and do not pool MA-only person-time into PMPM denominators. Pharmacy claims give acquisition cost via days_supply × unit cost but miss in-office (medical-benefit) infusions billed under J-codes — capture both benefit silos or the drug cost is truncated. Plan-paid vs allowed vs charged amounts differ by an order of magnitude; the budget holder pays the plan-paid (net of rebate) amount, which claims rarely show — rebates must be layered on separately. Lab-confirmed disease severity is absent, so the addressable pool may be over-broad. - EHR: sharpens the eligible population with labs, biomarkers, stage, and severity that claims lack (e.g., HbA1c, eGFR, tumor stage), tightening the denominator. Weak for cost (charges are not what the payer pays) and for completeness once a patient leaves the system — visit-driven capture undercounts utilization that occurs out-of-network, so EHR-derived offsets are typically biased toward zero. - Registry: strongest for indication, severity, and adjudicated eligibility (e.g., confirmed cancer stage), underpinning a credible addressable-population count; weak for complete cost and pharmacy capture — link to claims for the spend side. - Linked claims-EHR: the ideal substrate — EHR-tightened eligibility + claims-complete cost and offsets — but only the linkable subset is observed, which can bias the addressable count and the cost estimate toward the insured, system-engaged population.
Worked claims example
A regional health plan with 1.2 million covered lives must project the 3-year budget impact of adding a new injectable GLP-1 receptor agonist to its formulary for type 2 diabetes (T2D). (1) Addressable population from claims: members with ≥2 T2D diagnosis codes in the baseline year, ≥365 days of continuous medical + pharmacy enrollment (excluding MA-only person-time so cost is observable), and a metformin fill in the prior 12 months (the on-label "inadequately controlled on background therapy" population). This yields, say, 48,000 eligible members in year 1, grown each year by observed incident T2D diagnoses and net enrollment churn (open population). (2) Cost offsets from a treated subcohort: among members already on an analogue injectable, the observed change in diabetes-related PMPM medical spend (hospitalizations, ED visits) versus oral-only controls gives an evidence-based annual HCRU offset per treated patient, derived only from members with full medical+pharmacy benefit. (3) Acquisition cost: days_supply × net (post-rebate) unit cost from pharmacy claims plus any administration cost. (4) Uptake curve: market share ramps 8% -> 15% -> 22% of eligible members over years 1-3, anchored to a prior GLP-1 launch in the same plan rather than assumed instantaneous uptake. (5) Output: total incremental budget per year and PMPM = (world-with - world-without total) / member-months, undiscounted, with a one-way sensitivity analysis on uptake, net price (rebate), and the magnitude of the offset, and a scenario for an open vs closed population. The decision-relevant deliverable is "this adds \$0.41 PMPM in year 1 rising to \$1.05 PMPM in year 3," not an ICER.
Interpreting the output
A regional health plan projects that adding a new injectable GLP-1 receptor agonist to its formulary adds $0.41 PMPM in year 1, rising to $1.05 PMPM in year 3, based on a 1.2-million-member plan, an uptake ramp of 8% to 22% of 48,000 eligible members, and undiscounted annual costs.
(1) Formal interpretation. The PMPM figures spread the incremental budget impact over the plan's entire enrolled membership — not just the eligible or treated patients — so they are a plan-affordability metric, not a per-patient cost measure. Future-year dollars are reported without discounting because the ISPOR BIA Good Practice guideline requires undiscounted cash-flow projection: the payer manages actual year-3 expenditure, not a present value. The uptake assumption (8% → 22%) is the single most influential parameter; the worked example includes a one-way sensitivity on uptake and net price (post-rebate) to bound the range. There is no ICER, no QALY, and no willingness-to-pay threshold — a BIA measures affordability, not efficiency.
(2) Practical interpretation. A $0.41 PMPM year-1 impact is a modest but real cost pressure on a 1.2-million-member plan. Year-3 doubling to $1.05 PMPM reflects uptake growth, not price increases. A formulary committee should ask: what is the HCRU offset (avoided hospitalizations, ER visits) included in the "world-with" scenario? If diabetes-related hospitalization offsets are credible, the net PMPM impact will be lower than the gross drug cost figure — and that offset calculation should be shown separately from drug acquisition cost.
Worked example
Scenario
A small health plan is deciding whether to add a new injectable diabetes drug to its formulary. It has identified the members who could use it and wants the one-year budget impact: how many more dollars will the plan spend if it covers the new drug, compared to the world where everyone stays on today's oral therapy. We keep it to a single year and clean round numbers so the arithmetic is easy to follow.
Dataset
The plan-level inputs an analyst would assemble before running the model: who is eligible, how many will switch, and what each option costs per patient per year.
| input | value |
|---|---|
| eligible_members | 10,000 |
| expected_uptake | 20% |
| new_drug_cost_per_patient_per_year | $6,000 |
| current_oral_cost_per_patient_per_year | $1,000 |
Steps
Split the eligible members by uptake: 10,000 eligible x 20% = 2,000 members on the new drug, leaving 10,000 - 2,000 = 8,000 still on the current oral therapy.
World without (today): every one of the 10,000 eligible members stays on oral therapy, so 10,000 x $1,000 = $10,000,000 per year.
World with (new drug added): the 2,000 switchers cost 2,000 x $6,000 = $12,000,000, and the 8,000 who stay on oral cost 8,000 x $1,000 = $8,000,000, for a total of $12,000,000 + $8,000,000 = $20,000,000.
Budget impact is the difference between the two worlds: $20,000,000 - $10,000,000 = $10,000,000.
Result
Adding the new drug raises the plan's annual spend on this population by $10,000,000 (from $10,000,000 to $20,000,000 per year). That $10,000,000 is the one-year budget impact the payer must plan for.
Runnable example
python implementation
Multi-year budget impact engine (payer perspective, undiscounted). This is a BIA, not a CEA: it returns total and PMPM budget impact by year, never an ICER/NMB. Required inputs (all derived upstream from claims/EHR; see the SAS block for the claims...
import pandas as pd
def budget_impact(params: dict) -> pd.DataFrame:
"""Return per-year total and PMPM budget impact (world-with minus world-without)."""
years = range(1, params["horizon_years"] + 1)
rows = []
eligible = params["eligible_y1"] # addressable members in year 1 (from claims)
for t in years:
# Open population: refresh eligible pool for incidence + net enrollment growth each year.
if t > 1:
eligible *= (1 + params["pop_growth_rate"])
covered_lives = params["covered_lives_y1"] * (1 + params["pop_growth_rate"]) ** (t - 1)
member_months = covered_lives * 12
share = params["uptake_curve"][t - 1] # ramped market share, NOT instantaneous (e.g. .08/.15/.22)
treated = eligible * share
# Per treated patient: acquisition + administration + monitoring, net of measured HCRU offsets.
new_cost_pp = (params["drug_acq_cost"] + params["admin_cost"]
+ params["monitoring_cost"] - params["hcru_offset"])
# World-without: those patients would have been on current standard of care.
soc_cost_pp = params["soc_cost"]
world_with = treated * new_cost_pp + (eligible - treated) * soc_cost_pp
world_without = eligible * soc_cost_pp
impact = world_with - world_without # incremental budget for year t (undiscounted)
rows.append({
"year": t,
"eligible": round(eligible),
"treated": round(treated),
"incremental_budget": round(impact, 2),
"pmpm": round(impact / member_months, 4),
})
return pd.DataFrame(rows)
params = {
"horizon_years": 3,
"covered_lives_y1": 1_200_000,
"eligible_y1": 48_000, # T2D, on metformin, continuously enrolled (from claims)
"pop_growth_rate": 0.02, # incident dx + net enrollment churn (open population)
"uptake_curve": [0.08, 0.15, 0.22],
"drug_acq_cost": 9_600.0, # net-of-rebate annual acquisition cost
"admin_cost": 0.0,
"monitoring_cost": 180.0,
"hcru_offset": 1_350.0, # avoided diabetes-related medical spend (claims-derived)
"soc_cost": 1_100.0, # current oral-therapy annual cost
}
print(budget_impact(params))r implementation
Multi-year budget impact engine in base R, mirroring the Python version. Returns per-year total and PMPM budget impact for the world-with vs world-without contrast. Undiscounted current costs (ISPOR BIA Good Practice II). Input `params` is a named list of...
budget_impact <- function(params) {
eligible <- params$eligible_y1 # addressable members year 1 (from claims)
out <- vector("list", params$horizon_years)
for (t in seq_len(params$horizon_years)) {
if (t > 1) eligible <- eligible * (1 + params$pop_growth_rate) # open population refresh
covered_lives <- params$covered_lives_y1 * (1 + params$pop_growth_rate)^(t - 1)
member_months <- covered_lives * 12
share <- params$uptake_curve[t] # ramped market share, not instantaneous
treated <- eligible * share
new_cost_pp <- params$drug_acq_cost + params$admin_cost +
params$monitoring_cost - params$hcru_offset # net of measured HCRU offsets
soc_cost_pp <- params$soc_cost
world_with <- treated * new_cost_pp + (eligible - treated) * soc_cost_pp
world_without <- eligible * soc_cost_pp
impact <- world_with - world_without # undiscounted incremental budget for year t
out[[t]] <- data.frame(year = t, eligible = round(eligible),
treated = round(treated),
incremental_budget = round(impact, 2),
pmpm = round(impact / member_months, 4))
}
do.call(rbind, out)
}
params <- list(
horizon_years = 3L, covered_lives_y1 = 1.2e6, eligible_y1 = 48000,
pop_growth_rate = 0.02, uptake_curve = c(0.08, 0.15, 0.22),
drug_acq_cost = 9600, admin_cost = 0, monitoring_cost = 180,
hcru_offset = 1350, soc_cost = 1100
)
print(budget_impact(params))