Portfolio & Decision Economics · R&D portfolio strategy / corporate development
CuRE Crucible
Portfolio & decision economics — program go/no-go, eNPV, and value-of-information on real-world-conditioned probability of success.
What it does
Portfolio & decision economics — program go/no-go, eNPV, and value-of-information on real-world-conditioned probability of success. RWD-conditioned probability-of-success is the wedge: pure-play portfolio-economics tools (Cytel, Berry, Captario, Intelligencia) model PoS rigorously, but none conditions the prior on the sponsor's own governed real-world substrate or refreshes it as that sponsor's data accrues — CuRE does, via Calculate + Conduct.
Key capabilities
- Program go/no-go decision surface (attributed, hash-chained decision-of-record)
- Grounded-AI decision Q&A — cite-or-refuse over the program-economics record + Calculate eNPV/VoI artifacts, routed through the audited Clarion gateway
- eNPV + value-of-information views (consumed from Calculate)
- Probability-of-success priors, RWD-conditioned via Calculate + Conduct
- Portfolio go/no-go across assets and programs
- Read-only eNPV / portfolio lineage seam into Control
- Program / assumption authoring (CRUD)
- Budget-constrained capital allocation with efficient frontier — the portfolio that maximizes total risk-adjusted eNPV under a strategist-set budget, consumed from Calculate's exact optimizer and rendered with the frontier traced across budgets
- Named revenue scenarios per program (base / bull / bear peak-sales and uptake assumptions, provenance-tagged)
What sets it apart
- Authors the actual pipeline — assets, programs, and named base/bull/bear revenue assumptions — and captures the go/no-go as an attributed, hash-chained decision-of-record.
- RWD-conditioned probability-of-success is the wedge: pure-play portfolio-economics tools (Cytel, Berry, Captario, Intelligencia) model PoS rigorously, but none conditions the prior on the sponsor's own governed real-world substrate or refreshes it as that sponsor's data accrues — CuRE does, via Calculate + Conduct.
- A distinct decision layer on the shared Calculate engine (the Caliber-from-Calculate shape, ADR-PLT-008): Crucible owns the program-economics domain, the go/no-go workflow, and the portfolio buyer surface; Calculate owns the versioned eNPV / VoI / PoS methodology it consumes — never re-implemented.
- Board-level program economics live under an elevated R&D-strategy / corp-dev persona, org-private by default — a distinct governance surface from the clinical consent / DUA stack, not a reuse of it.
- The decision-of-record is attributed, hash-chained, and append-only — go/no-go calls are inspectable business-decision history (NON-GxP decision support), not spreadsheet rows that drift.
- Anchors the Commercial bundle and, per the ADR-PLT-008 dual-bundle membership, the design-and-decision bundle with Control + Calculate — distinct from Corridor, the separate Market-Access / HEOR app (ADR-PLT-132).
- Grounded-AI decision Q&A answers strategy questions in plain language — cited to the org's own program-economics record and consumed Calculate eNPV/VoI artifacts, cite-or-refuse, routed through the audited Clarion gateway (never a direct provider call); commercial-data-partner ingestion extends the assumption surface further.
- Capital allocation is solved, not approximated — under a strategist-set budget, the portfolio that maximizes total risk-adjusted eNPV comes from Calculate's exact budget-constrained optimizer, consumed as a versioned methodology artifact under the consume-not-reimplement rule (ADR-PLT-044) with the efficient frontier rendered around the budget; the transparent greedy eNPV-per-dollar ranking appears only as an explicitly labelled fallback when Calculate is unreachable, never passed off as the optimum.
Re-roll a program's decision tree and watch the go/no-go move
A portfolio go/no-go turns on one number: the risk-adjusted expected net present value of a phased development program. Pick a phase and drag its cost, duration, or probability of success — and watch the whole decision tree re-roll: the probability of reaching each phase, its discounted expected cost, the cumulative launch probability, and the eNPV itself. Raise Phase 2's probability of success and a conditional go becomes a go; cut the peak revenue and the expectation goes negative. The roll-up table re-derives the total by hand, line by line.
Probability of success is a per-phase conditional: the chance of advancing given the program got this far. In the product these priors can be conditioned on the platform's own real-world data rather than analyst judgement alone.
Positive eNPV, but the cumulative launch probability is thin — the expectation is carried by a low-probability tail, so the decision should be staged against the next phase readout.
The grade never decides. Crucible records the human's go/no-go with its rationale in an append-only, hash-chained decision-of-record, bound to the exact eNPV artifact below.
| Phase | Start | Reach | PoS | Cost | Expected PV cost |
|---|---|---|---|---|---|
| Phase 1 | yr 0.0 | 100.0% | 65% | $25M | $25M |
| Phase 2 | yr 1.5 | 65.0% | 40% | $70M | $39M |
| Phase 3 | yr 4.0 | 26.0% | 60% | $220M | $38M |
| Filing & review | yr 7.0 | 15.6% | 90% | $30M | $2M |
| Total expected PV cost | $104M | ||||
| Expected PV revenue — 14.0% × $2.60B × 0.434 | $158M | ||||
| eNPV | $55M | ||||
Each phase's cost is incurred at its start, weighted by the probability the program reaches it, and discounted back to today. The launch value is the peak-revenue present value earned at launch, weighted by the cumulative launch probability — so the table re-derives the eNPV by hand.
- Methodology
- portfolio_economics.enpv.v1
- Version
- 1.0.0
Crucible runs no eNPV math of its own. It commissions Calculate's version-pinned methodology, receives a frozen result stamped with this id and version, and pins that artifact to the program — so a decision can always be re-read against the exact economics it was taken on.
Why this is more than a toy
The eNPV is computed by a faithful, dependency-free port of Calculate's portfolio_economics.enpv.v1 methodology (services/calculate-py/src/calculate_py/stats/portfolio_economics/enpv.py): the discounted decision-tree expectation eNPV = launch_pos × PV(peak_revenue @ launch) − Σ reach_pos_i × PV(cost_i @ start_i), its per-phase PhaseEconomics roll-up, and its input guards — ported line-for-line. The methodology is explicitly empirical and closed-form (ADR-PLT-100 via ADR-PLT-113): a discounted expectation over analyst-supplied — optionally real-world-data-conditioned — probability-of-success priors, with no fit and no RNG, so it is oracle-validatable against a hand-computed decision tree. That placement is the point. Per ADR-PLT-008 and ADR-PLT-124 CuRE Crucible runs no eNPV math of its own: it commissions Calculate's version-pinned methodology, receives a frozen result stamped with its methodology id and version (ADR-PLT-045), and pins that artifact to the program — a program with no artifact yet reads null, never a fabricated figure. What Crucible owns is the decision layer above it: the advisory grade, and the go/no-go decision-of-record itself — attributed, hash-chained and append-only, bound to the exact artifact the call was made on, and explicitly non-GxP business-decision support with no Part 11 e-signature (ADR-CRU-005), because a commercial judgement is not a regulated act. The grade never decides; the human does, and the rationale is captured with it. Here it all runs entirely client-side on a synthetic program — no backend, no real data.
See CuRE Crucible in action
Every research ecosystem is unique. Let's discuss how CuRE can be configured for your needs.