Causality APIs 32: Why Biosimilars Do Not Automatically Lower Costs

Rocket Vector rocket logo on a dark branded background.

A biosimilar is available, approved, and clinically meaningful. Spending still does not fall. The reason may not be that biosimilars failed. The path from availability to savings runs through substitution rules, state law, formulary placement, rebates, inventory, prescriber confidence, patient concern, and out-of-pocket design.

Share: Biosimilars do not automatically lower costs. Availability, substitution rules, formulary placement, rebates, inventory, communication, and patient trust all matter. #Causality #Healthcare #Biosimilars

Synthetic teaching model

This article uses a synthetic teaching model. It is not clinical, operational, actuarial, legal, compliance, or policy advice. The sources below justify why some variables belong in the model. The probabilities are invented so the reasoning path is easy to inspect.

The Problem Is Not Always One Thing

It is tempting to treat biosimilar approval as the cost-saving event. Approval creates an option. Adoption is a separate process. If prescribers are uncomfortable, patients are worried about switching, pharmacy inventory is inconsistent, or rebate pressure keeps the reference product favored, savings can be missed even when the biosimilar exists.

Why The Obvious Explanation Can Mislead

The obvious answer is that a biosimilar should lower costs when it enters the market. That may happen, but savings are not automatic. The available product must become the used product, and the used product must change net spending after rebates, benefit design, and patient cost share.

Plain-language modeling note

A Bayesian belief network, or BBN, is a graph for asking conditional questions. Each node is a condition, each arrow says one condition informs another, and each probability is explicit. You do not need to know the SDK to read the graph: the SDK code is only there when we need a repeatable action query.

The Question For This Example

This example asks how missed-savings risk changes after observing a low-adoption pattern, and what changes if communication, formulary placement, and patient cost share are set to more favorable states.

The target outcome is BiosimilarSavingsMissed, which means missed biosimilar savings in this teaching model.

A Small Model Of The Situation

The model is a synthetic adoption-and-savings graph. It does not evaluate a specific product, state law, formulary contract, clinical interchangeability decision, or actual net price.

The graph has 17 nodes:

  • BiosimilarAvailability: Biosimilar availability (available / low)
  • InterchangeabilityStatus: Interchangeability status (yes / no)
  • StateSubstitutionFriction: State substitution friction (low / high)
  • PrescriberComfort: Prescriber comfort (adequate / low)
  • PatientSwitchConcern: Patient switch concern (low / high)
  • FormularyPlacement: Formulary placement (good / poor)
  • RebatePressure: Rebate pressure (low / high)
  • NetPriceTransparency: Net price transparency (transparent / low)
  • PriorAuthPolicy: Prior authorization policy (clear / unclear)
  • StepTherapyDesign: Step therapy design (good / poor)
  • PharmacyInventory: Pharmacy inventory (stocked / low)
  • AdministrationChannel: Administration channel (coordinated / fragmented)
  • PatientCostShare: Patient cost share (low / high)
  • ClinicalMonitoringNeed: Clinical monitoring need (low / high)
  • PayerCommunication: Payer communication (strong / weak)
  • AdoptionRateLow: Adoption rate low (no / yes)
  • BiosimilarSavingsMissed: Biosimilar savings missed (no / yes)

Biosimilar Adoption And Savings BBN graph with source-informed healthcare variables and synthetic probabilities.

What Is Sourced And What Is Synthetic

FDA biosimilar materials support including biosimilarity, interchangeability, substitution, and patient/provider communication. KFF drug-spending material supports the spending concentration motivation. The probabilities are synthetic.

Biosimilar and interchangeable status
FDA materials support including biosimilar approval, interchangeability, and state-law-dependent substitution.
Patient and prescriber confidence
FDA patient and professional materials support including communication and confidence as adoption mechanisms.
Spending concentration
KFF material supports the broader spending motivation for focusing on high-cost drug categories and competition.

Boundary of the evidence

The sources support the general mechanisms in the graph. They do not estimate this article’s node states, thresholds, or conditional probability values. Those are synthetic teaching values.

The Query The Graph Cannot Show By Itself

The visual graph is the best way to inspect the structure. The code-backed query is there for a narrower reason: we want to separate what is learned by observing a messy case from what changes if one condition is set differently.

Using the Darkstar Python SDK, a subscribed SDK user can load the same BBN JSON, ask for the target probability after evidence is entered, then run the action query by setting a node before querying again. The download includes this as illustrative SDK code, while the standalone query_example.py reproduces the article numbers without shipping the SDK.

import json

from darkstar import DiscreteModel

TARGET = "BiosimilarSavingsMissed"
OBSERVED_EVIDENCE = {
    "FormularyPlacement": "poor",
    "RebatePressure": "high",
    "PrescriberComfort": "low",
    "PatientSwitchConcern": "high"
}
INTERVENTION_CONTEXT = {
    "RebatePressure": "high",
    "PrescriberComfort": "low",
    "PatientSwitchConcern": "high"
}
INTERVENTION = {
    "PayerCommunication": "strong",
    "FormularyPlacement": "good",
    "PatientCostShare": "low"
}


def probability_after_observing(model, evidence):
    query = {"nodes": [TARGET], "evidence": evidence}
    result = json.loads(model.pquery(json.dumps(query)))
    return result[TARGET]["yes"]


def probability_after_setting(model, setting, evidence):
    changed_model = model.intervene(json.dumps(setting))
    return probability_after_observing(changed_model, evidence)


with DiscreteModel(model_json) as model:
    observed = probability_after_observing(model, OBSERVED_EVIDENCE)
    acted = probability_after_setting(model, INTERVENTION, INTERVENTION_CONTEXT)

That is the article’s main modeling distinction. Observing a pattern is not the same as setting one part of the system differently.

The standalone query code gives this synthetic result:

Baseline missed biosimilar savings: 28.2%
Observed scenario (poor formulary placement and low trust): 44.8%
Action scenario (strong communication, better placement, and lower cost share): 36.2%
Same context with the action left unfavorable: 55.4%
Synthetic reduction versus the observed scenario: 8.6 percentage points

What We Learn By Observing The Situation

The observed scenario sets:

  • Formulary placement = poor
  • Rebate pressure = high
  • Prescriber comfort = low
  • Patient switch concern = high

The observed scenario sets poor formulary placement, high rebate pressure, low prescriber comfort, and high patient switch concern. In the synthetic model, that pattern raises missed-savings risk because adoption stays low even though availability may exist.

Reasoning comparison for Biosimilar Adoption And Savings BBN.

What Changes If We Set One Condition Differently

The action scenario sets:

  • Payer communication = strong
  • Formulary placement = good
  • Patient cost share = low

The action query strengthens payer communication, improves formulary placement, and lowers patient cost share. It does not assume interchangeability or state substitution friction disappear. The result is a more realistic adoption story than availability alone.

What This Example Cannot Prove

This example cannot rank products, recommend substitution, estimate net prices, or decide coverage. It is a teaching model for why biosimilar savings depend on adoption pathways.

Try this in the shared model

Open the companion model, change one upstream condition at a time, and watch the target probability move. Start with the observed scenario above, then reset one condition that looks actionable. The point is to compare stories, not to treat the toy probabilities as a forecast.

Try The Model

Open the companion Darkstar model: Open Biosimilar Adoption And Savings BBN

Set BiosimilarAvailability to available and leave FormularyPlacement poor. Then improve placement but keep RebatePressure high. The model should make the savings path feel less automatic.

Download the teaching package: Biosimilar Adoption And Savings BBN ZIP

The ZIP contains the synthetic graph, model JSON, reader query code, illustrative SDK code, tests, and figures. It excludes proprietary SDK files, contracts, price data, claims, and chart-generation code.

Sources

  1. FDA: 9 Things to Know About Biosimilars and Interchangeable Biosimilars
  2. FDA: Biosimilars Basics for Patients
  3. FDA: Overview for Health Care Professionals
  4. KFF: Relatively Few Drugs Account for a Large Share of Medicare Prescription Drug Spending

Leave a Reply

Discover more from Blogs

Subscribe now to keep reading and get access to the full archive.

Continue reading