Methodology

The math, in the open.

Every number in the model traces back to one of these equations. Default inputs are illustrative, not benchmarks.

Choice model

u_ijt = β·x_j − α·p_jt + γ·1[j = j_i,t−1] + ε_ijt

γ is the extra value a patient gets from staying on last period's drug: the inertia term. With logit errors and discontinuing as the outside option, P(stay) is the monthly retention r.

Source: Feng & Maini, PBM work (Utah); Harvard price-regulation paper

In plain words

Every month, each patient makes a choice: stay on their drug, switch to the other drug, or stop. Think of it as giving each choice a score. A drug earns points for working well, loses points for costing a lot, and gets bonus points if the patient already takes it, because changing is a hassle. The choice with the highest score usually wins. The chance a patient stays on our drug each month is called retention, r.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • u_ijtScore

    How much patient i likes drug j this month. The higher the score, the more likely that choice gets picked.

    Answer
  • β·x_jHow well the drug works

    Points a drug earns for helping patients.

  • p_jtPrice

    What the drug costs each month.

  • αPrice sensitivity

    How much patients care about price. A big α means price matters a lot.

  • γStaying bonus

    Extra points for the drug a patient already takes. Economists call this inertia.

  • 1[j = j_i,t−1]Same drug as last month?

    A yes-or-no switch: 1 if this is the drug the patient took last month, 0 if not. It turns the staying bonus on or off.

    Yes or no
  • ε_ijtRandom taste

    Things we can't see, like a friend's advice or a bad day.

Patient stock

N_t = r·N_t−1 + A_t N* = A / (1 − r) Expected duration = 1 / (1 − r)

N_t is active patients, A_t is new starts and r is monthly retention. r = 0.85 gives 0.85¹² ≈ 14% at 12 months; r = 0.885 gives ≈ 23%.

In plain words

Think of a bathtub. New patients pour in like water from a faucet. Each month some patients leave, like water going down the drain. The tub fills until the water coming in equals the water going out, and that level is N*. If r is 0.85, then 85 out of 100 patients stay each month, and the average patient stays about 6.7 months.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • N_tPatients on therapy now

    How much water is in the tub this month.

    Answer
  • N_t−1Patients on therapy last month

    How much water was in the tub last month.

  • rMonthly retention

    Out of every 100 patients, how many stay on the drug each month. 0.85 means 85 stay.

  • A_tNew starts

    New patients starting this month: the water from the faucet.

  • N*Steady level

    Where the tub settles when water in equals water out: A ÷ (1 − r).

    Answer
  • 1 / (1 − r)Average months on therapy

    How many months a patient stays, on average.

    Answer

Share response

S_t = λ·S_t−1 + (1 − λ)·S*_t

A formulary or price change acts only on the (1 − λ) unattached share at first, so share moves slowly in the short run.

In plain words

Share is our slice of the pie: out of all patients, the part who use our drug. When something changes, like a new price or insurance rule, the slice doesn't jump right away. Most patients (λ) keep doing what they did last month. Only the rest (1 − λ) look around and move toward the new target, S*. So share moves step by step, not all at once.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • S_tShare this month

    Our slice of the pie right now.

    Answer
  • S_t−1Share last month

    Our slice of the pie last month.

  • λStickiness

    The part of patients who keep doing what they did last month. 0.95 means 95 out of 100 stay put.

  • S*_tTarget share

    Where share would end up if nobody were stuck.

Patient access

Persistent patients = Rx × P(approval) × P(pickup | approval) × r¹²

100 × 0.60 × 0.47 = 28.2 starts → 28.2 × 0.13 ≈ 3.7 patients at 12 months using IQVIA's observed 13%. The model uses r¹² from your retention input, so r = 0.85 shows ≈ 4.0.

Source: IQVIA 2024 specialty data; pharmaphorum

In plain words

Getting a patient onto a drug is like walking through gates. A doctor writes a prescription. Insurance has to say yes. The patient has to pick up the medicine. Then they have to keep taking it month after month. Only patients who make it through every gate count at the end of the year.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • Persistent patientsStill on the drug after a year

    Patients who made it through every gate and still take the drug at 12 months.

    Answer
  • RxPrescriptions

    How many prescriptions doctors write.

  • P(approval)Chance of approval

    Out of 100 prescriptions, how many insurance says yes to.

  • P(pickup | approval)Chance of pickup

    Out of 100 approved patients, how many actually pick up the medicine.

  • r¹²Chance of lasting a year

    Monthly retention r multiplied by itself 12 times, once for each month.

Cost per persistent patient

Spend / (NRx × fill rate × persistence₁₂)

Fill rate = P(approval) × P(pickup | approval). NRx is annualized from the monthly input.

Source: MBA Training

In plain words

This shows how much money it takes to keep one patient on the drug for a whole year. Take all the money spent on the program and share it out over the patients still on the drug after 12 months. A lower number is better: each dollar helps more patients.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • Cost per persistent patientCost for each patient who lasts a year

    Program dollars spent for every patient still on the drug at 12 months.

    Answer
  • SpendProgram spend

    Money spent on the program in a year.

  • NRxNew prescriptions per year

    Prescriptions per month × 12.

  • Fill rateFill rate

    Approval × pickup: the part of prescriptions that turn into a first fill.

  • persistence₁₂12-month persistence

    The part of starting patients still on the drug at 12 months (r¹²).

Value of a start

Value per start = net price × 1 / (1 − r)

Hub, PA and copay programs raise the inflow A. Adherence programs raise r. Inertia multiplies whatever you win at the start.

In plain words

This is how much money one new patient brings in over the whole time they stay on the drug. It is the money for one month times the number of months they stay. If r is 0.85, a patient stays about 6.7 months, so at $5,000 a month one start is worth about $33,000.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • Value per startWorth of one new patient

    Money one new patient brings in over their whole time on the drug.

    Answer
  • Net priceMoney per month

    What the company keeps for one month of medicine, after discounts.

  • rMonthly retention

    Out of every 100 patients, how many stay each month.

  • 1 / (1 − r)Average months on therapy

    How many months a patient stays, on average.

    Answer

Speed to therapy

pickup′ = pickup·(1 − a)^Δw r′ = r − δ·Δw first-year months = (1 − r^(12 − d/30.4)) / (1 − r)

d is days from Rx to first fill and Δw = (d − d_ref)/7 is extra weeks versus the wait at which your rates were observed. a and δ are hypothetical sensitivities; set them to zero to turn an effect off.

In plain words

Waiting is like a leaky bucket. For every extra week a patient waits for the first dose, a few give up and never start, and the ones who do start are a little less likely to stay. Days spent waiting are also days without medicine, so the first year has fewer months on therapy. The months lost to waiting are the gap between a full year on therapy and this shorter first year.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • dDays to first fill

    Days from the prescription to the first dose.

  • d_refReference wait

    The wait when your pickup and retention numbers were measured. Only waiting longer than this counts as extra.

  • ΔwExtra weeks of waiting

    (d − d_ref) ÷ 7: how many weeks longer than the reference wait.

  • aGive-up rate per week

    The part of approved patients who give up for each extra week. 0.02 means 2 out of 100.

  • δRetention drop per week

    How much monthly retention r falls for each extra week of waiting.

  • pickup′Pickup after waiting

    The part of approved patients who start, after the waiting penalty.

    Answer
  • r′Retention after waiting

    Monthly retention after the waiting penalty.

    Answer
  • first-year monthsMonths on therapy in year one

    Months of medicine each start gets in the first 12 months.

    Answer
  • 30.4Days in a month

    The average number of days in a month, used to turn days into months.

    Fixed number

Value of a faster week

Week value = (PM(d − 7) − PM(d)) ÷ 100 × NRx per month × net price

PM is lifetime patient-months per 100 Rx using the wait-adjusted pickup and retention. The difference is what a 7-day shorter wait adds; it is scaled to one month of NRx and priced at net price.

In plain words

This answers a money question: what is a one-week-shorter wait worth? Run the model again with the wait 7 days shorter and count the extra months of medicine patients take over their whole time on therapy. Then turn those months into dollars for one month of prescriptions.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • Week valueWorth of one week faster

    Extra dollars from one month of prescriptions if the wait were 7 days shorter.

    Answer
  • PM(d − 7) − PM(d)Extra patient-months

    Patient-months per 100 prescriptions with the shorter wait, minus today's. Two patients on the drug for 3 months each make 6 patient-months.

    Answer
  • NRx per monthPrescriptions per month

    New prescriptions written each month.

  • Net priceMoney per month

    What the company keeps for one month of medicine, after discounts.

  • 7One week

    The number of days taken off the wait.

    Fixed number

Velocity: fill decay

P_fill(T) = P_max · e^(−h(T − T_min)) h = −ln 0.7 / 5 ≈ 0.071 per day

T is days from prescription to first fill or first dose; T_min is the fastest achievable time and P_max the fill rate at that speed. Each day of delay cuts fill odds by about 7%. P_max is calibrated so P_fill at today's T equals your current pickup.

Source: Claritas Rx benchmark

In plain words

The longer it takes to get the first dose, the less likely the patient ever gets it. It's like an ice cube melting: each day of waiting, the chance of a fill shrinks by about 7%. After 5 extra days, only about 70% of the fills are left. P_max is how many prescriptions would be filled if everything moved as fast as possible.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • P_fill(T)Chance of a fill

    The chance a prescription gets filled if it takes T days.

    Answer
  • P_maxBest-case fill rate

    The fill rate at the fastest possible speed. The model sets it so today's speed gives today's pickup.

  • TDays to fill

    Days from the prescription to the first fill or dose.

  • T_minFastest possible days

    The quickest it can ever be done. Days can't be cut below this.

  • hMelt rate

    How fast the chance of a fill shrinks each day. 0.071 means about 7% a day.

  • eEuler's number

    A special math number, about 2.718, used for things that shrink smoothly over time.

    Fixed number
  • 0.7 and 5Benchmark

    The real-world benchmark: after 5 extra days, about 70% of fills are left.

    Fixed number

Velocity-adjusted access

PM = Rx × P(approval) × P_max·e^(−h(T − T_min)) × 1/(1 − r) ∂PM/∂T = −h · PM

Per 100 Rx at 60% approval, 47% pickup and r = 0.85: 188 patient-months; each day of delay loses 0.071 × 188 ≈ 13. Cutting 3 days lifts pickup by 0.7^(−3/5) ≈ 1.24 to about 58%, roughly 233 patient-months (+24%).

In plain words

Patient-months (PM) count the total months of medicine patients take. Two patients who each stay 3 months make 6 patient-months. To get PM, start with prescriptions, keep the ones insurance approves, keep the ones that get filled (fewer the longer it takes), then multiply by how many months each patient stays. The second part says each extra day of waiting takes away about 7% of the patient-months.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • PMPatient-months

    Total months of medicine these prescriptions lead to.

    Answer
  • RxPrescriptions

    Prescriptions written. The page uses 100 to keep the math simple.

  • P(approval)Chance of approval

    Out of 100 prescriptions, how many insurance says yes to.

  • TDays to fill

    Days from the prescription to the first fill. It shrinks the chance of a fill, from the equation above.

  • 1 / (1 − r)Average months on therapy

    How many months each patient stays, on average.

  • hMelt rate

    How fast the chance of a fill shrinks each day.

  • ∂PM/∂TCost of one more day

    How many patient-months one more day of waiting takes away. It equals h × PM.

    Answer

Share velocity

v_t = S_t − S_t−1 = (1 − λ)(S* − S_t−1) t½ = ln 0.5 / ln λ

S* is the share the product would reach if nobody were locked in. For a biosimilar, λ = 0.95 gives t½ ≈ 13.5 months; a payer change to λ = 0.70 cuts it to about 1.9 months.

Source: IQVIA; Claritas Rx

In plain words

Share velocity is how fast share moves each month. The farther share is from its target, the faster it moves, like a stretched rubber band snapping back. But only patients who aren't stuck (1 − λ) can move. The half-life, t½, is how many months it takes to close half the distance to the target. With λ = 0.95 that takes about 13.5 months; if an insurance change drops λ to 0.70, it takes about 1.9 months.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • v_tShare velocity

    How much share changes this month.

    Answer
  • λStickiness

    The part of patients who stay put each month.

  • S*Target share

    Where share would end up if nobody were stuck.

  • S_t−1Share last month

    Where share was last month.

  • t½Half-life

    Months to close half the gap to the target.

    Answer
  • lnNatural log

    A calculator button that turns 'how much is left each month' into 'how many months'.

    Math tool

Switch friction

c_p = 0.5^(M_p / M½_p) c_e = 0.5^(M_e / M½_e) v_t = (1 − λ′)·c_p·c_e·gap lost_t = (1 − λ′)(1 − c_p·c_e)·d·gap

M is the total minutes to complete the provider intake or patient enrollment tasks, and M½ the minutes at which half of switches stall. A constant per-minute stall rate means each task's minutes multiply through, so cutting any task lifts completion. Stalled switches default back to the brand, except the share d lost from therapy. Task minutes and M½ are hypothetical.

In plain words

To switch a patient from the brand to the biosimilar, the doctor's office has paperwork and the patient has sign-up steps. Each step takes minutes. The more minutes it takes, the more people give up partway, like a long line at a store. M½ is the number of minutes at which half of people give up. When a switch gets stuck, most patients just stay on the brand, but a few (d) stop their medicine completely.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • M_pOffice minutes

    Total minutes of the doctor's office tasks, like writing the prescription, getting insurance permission and checking benefits.

  • M_ePatient minutes

    Total minutes of the patient's sign-up steps, like forms, the copay card and injection training.

  • M½_pOffice patience

    Minutes of office work at which half of switches stall.

  • M½_ePatient patience

    Minutes of sign-up at which half of patients stall.

  • c_pOffice finishes

    The chance the office finishes its part. It halves every M½_p minutes.

    Answer
  • c_ePatient finishes

    The chance the patient finishes their part. It halves every M½_e minutes.

    Answer
  • λ′Stickiness with an insurance push

    When insurance pushes the switch, the part of patients not asked to switch this month.

  • gapPatients left to switch

    Patients who should switch but haven't yet and haven't been lost.

  • dLost when stuck

    Out of the stuck switches, the part where the patient stops medicine completely.

  • v_tPatients who switch this month

    Patients who make it all the way to the biosimilar this month.

    Answer
  • lost_tPatients lost this month

    Patients whose switch got stuck and who stopped their medicine.

    Answer

Switch timing and minute cost

t½ = ln 0.5 / ln(1 − (1 − λ′)(c + (1 − c)·d)) c = c_p·c_e minute cost = switched₁₂(M) − switched₁₂(M + 1)

The remaining gap shrinks each month by the switches that complete plus the stalled switches lost from therapy, so t½ is the months to close half of it. The minute cost re-runs the 12-month path with one more minute of provider or patient work and counts the switches that disappear.

In plain words

Two quick checks on the switch. The half-life is how many months until half of the patients who should switch have either switched or been lost. The minute cost asks: if one task took one more minute, how many fewer patients would switch by month 12? The model runs the year again with that extra minute and counts the difference.

The pieces. Hover or tap ↑ or ↓ to see what happens when a piece goes up or down.

  • t½Months to half the gap

    How many months until half the patients left to switch have switched or been lost.

    Answer
  • cSwitch completes

    Office finishes × patient finishes: the chance a switch gets all the way through.

  • λ′Stickiness with an insurance push

    The part of patients not asked to switch this month.

  • dLost when stuck

    Out of the stuck switches, the part where the patient stops medicine.

  • minute costCost of one more minute

    How many fewer patients switch by month 12 if a task takes one more minute.

    Answer