Methodology · Historical Snapshot

IRA Terminal-Value Framework

You are viewing a frozen historical snapshot

This is methodology@2026-05-29 as it was on 2026-05-29 — the immutable record any signed export stamped methodology@2026-05-29 was computed under. It is intentionally the citation prose, not the current presentation, and it will never change. The methodology has since advanced (current is methodology@2026-07-28-v2). Current version · Full version history · Verify an export

The Inflation Reduction Act of 2022 reshaped the back half of the US drug-revenue curve. PhaseFolio models the Year 9 small-molecule and Year 13 biologic Maximum Fair Price cliffs as user-controlled revenue haircuts, with classification handled automatically from the wizard modality string and a closed-form sensitivity slider on top of an engine-emitted IRA anchor.

1. What changed in 2022

The Inflation Reduction Act of 2022 (IRA) created the Medicare Drug Price Negotiation Program. CMS now negotiates a Maximum Fair Price (MFP) for high-expenditure, single-source drugs. The MFP applies starting from a modality-specific cliff year measured from initial regulatory approval.

  • Small-molecule drugs: Year 9 post-approval. (IRA §1192(d)(1)(A))
  • Biologics: Year 13 post-approval. (IRA §1192(d)(1)(B))

For an asset valuation, this means a sizable share of every projected steady-state US revenue year falls under a price ceiling that did not exist for prior cohorts. The terminal value of small-molecule programs is materially more compressed than biologic programs of the same notional peak, because the small-molecule cliff arrives four years earlier.

2. Modality classification

The wizard exposes eight modality choices. The engine maps these to the two IRA classes (small molecule, biologic) plus an explicit unclassified bucket.

  • Small Molecule → Small molecule, Year 9
  • Peptide → Small molecule, Year 9
  • Monoclonal Antibody → Biologic, Year 13
  • Bispecific → Biologic, Year 13
  • ADC → Biologic, Year 13
  • Cell Therapy → Biologic, Year 13
  • Gene Therapy → Biologic, Year 13
  • Other → Unclassified, no cliff applied

Two classification notes worth stating explicitly:

  • Peptide. Synthetic peptides are regulated as small molecules (NDA pathway) for MVP purposes. Large macrocyclic peptides may use BLA in some edge cases, but we conservatively treat all Peptide projects as small molecules pending product signal.
  • Other / unrecognized. If a user selects "Other," or the modality field is empty (legacy scenarios), the IRA cliff is silently skipped. Any non-empty string outside the wizard vocabulary is rejected as an input error — this surfaces typos and prevents API callers from silently no-opping the cliff.

3. MFP discount mechanics

The MFP discount is an assumption, not an empirical parameter. The actual negotiated MFP varies by drug and negotiation cycle; CMS has targeted discounts of 38–79% for the first ten drugs negotiated. Users should model their own estimate — typically 25–50%.

The cliff is applied as a flat revenue haircut from the cliff year onward. Years before the cliff are unchanged; years from the cliff year on are multiplied by (1 − mfp_discount).

Equation 1 — MFP haircut applied per year. Rev_year_post-cliff = Rev_year_pre-cliff × (1 − mfp_discount), where year ≥ cliff (9 for small molecule, 13 for biologic), and mfp_discount ∈ [0, 1].

The cliff is timed from each geography's own launch, not from the global Year 0 of the engine. A US launch in Year 0 sees the cliff in Year 9 of the US revenue curve; an EU launch delayed by 18 months sees the EU cliff 18 months later in absolute terms.

Geographic scope is intentionally US-only in MVP: the IRA is a US statute, and the engine does not assume parallel ex-US negotiation regimes. EU and RoW revenue streams pass through unchanged.

4. Closed-form sensitivity slider

The Results page exposes an MFP-discount slider that updates rNPV in real time as the analyst drags it. This is not a backend recompute. It is a closed-form evaluation against an anchor that the engine emits as part of the standard rNPV result.

At compute time, the engine emits an IRA anchor: the present value of all post-cliff US revenue years that would be haircut at full MFP. The closed-form slider then scales this anchor by the user's chosen discount and subtracts it from the un-haircut rNPV.

Equation 2 — Closed-form rNPV under variable MFP discount. rNPV(d) = rNPV_full − d × IRA_anchor, where d is the slider position (mfp_discount ∈ [0, 1]), rNPV_full is the un-haircut rNPV from the same compute, and IRA_anchor is the cumulative-PoS-weighted, WACC-discounted PV of all post-cliff US revenue years.

This linearity is exact, not approximate. Within a single compute run all the other inputs (PoS, costs, ramp, LOE erosion, geographic split) are held; the only variable is the post-cliff scalar. Both the TypeScript pro-forma view and the Python engine maintain identical anchor logic so client and server agree to the cent.

Three operational consequences:

  • No backend round-trip. The slider stays responsive even on slow connections; analysts can sweep the assumption in seconds.
  • Monte Carlo applies the cliff per iteration. The closed form is for the deterministic point estimate. Probabilistic runs sample the pre-cliff revenue stream and apply the haircut inside the simulation, so every iteration sees the correct terminal compression.
  • Deal modes consume the same anchor. Royalty and profit-split structures inherit the IRA-haircut revenue series before the deal-structure transformation, so a royalty calc and the closed-form slider read from the same authoritative numbers.

5. Limitations and unmodeled effects

  • Exemptions are not modeled. Drugs with lower-cost generics or biosimilars available, or with no Medicare Parts B/D exposure, are typically exempt. The engine does not implement an exemption flag — users who expect their asset to qualify should set mfp_discount = 0.
  • Single discount, not a schedule. CMS publishes a single MFP per drug per cycle, but the negotiated price may be revisited. The engine applies one flat haircut from the cliff year onward and does not model multi-cycle re-negotiation.
  • No interaction with biosimilar erosion. The biologic LOE-erosion schedule (15% annual decline, applied at the user's exclusivity end) is independent of the IRA Year 13 cliff. If both apply to the same year, both apply — this is conservative.
  • No price-volume offset. Real-world MFP enforcement may shift payer mix or provider behavior in ways that partially offset the headline price cut. The engine takes the headline cut at face value.
  • Statutory references freeze at MVP. Section citations (§1192(d)(1)(A) and (B)) reflect the IRA as enacted in 2022. Subsequent legislative or regulatory revisions are not currently tracked here.

Key facts

Small-molecule cliff yearYear 9 post-approval (§1192(d)(1)(A))
Biologic cliff yearYear 13 post-approval (§1192(d)(1)(B))
First-cycle CMS discount range38–79% (10 drugs negotiated)
Slider mechanismClosed-form rNPV(d) = rNPV_full − d × IRA_anchor (linear, exact)
Geographic scopeUS only; EU and RoW revenue unchanged

References

01Inflation Reduction Act of 2022, Pub. L. No. 117-169, §11001 (codified at 42 U.S.C. §§1320f – 1320f-7). Medicare Drug Price Negotiation Program.

02Centers for Medicare & Medicaid Services (2024). Medicare Drug Price Negotiation Program: Negotiated Prices for Initial Price Applicability Year 2026. First-cycle negotiated discounts of 38–79% across ten drugs.

Frozen snapshot · methodology version: methodology@2026-05-29 · Last updated: 2026-05-29 · Version history →

IRA Terminal-Value Framework — PhaseFolio