Governance-First Launch Forecasting: A Decision Support Framework
Quantifying revenue risk from launch timing uncertainty using analog-based scenario analysis
🚀 Live app:
Oncology Launch Curve Forecaster
💻 Source code:
GitHub repository
The core challenge in launch planning isn’t predicting success—it’s quantifying how much uncertainty costs when timing shifts.
1. Framing the problem
Pre-launch planning in pharmaceutical commercialization involves decisions under substantial uncertainty. Brand teams must commit to launch timing, resource allocation, and forecast ranges while facing unknowns about regulatory approval timing, manufacturing readiness, and market reception.
The natural instinct is to seek precision: better models, more data, tighter confidence intervals. But in practice, the harder problem is often structuring the conversation around forecast ranges, revenue-at-risk, and timing shifts—rather than eliminating uncertainty entirely.
This project approaches launch forecasting as a governance and framing problem, rather than a prediction exercise. The objective is not to forecast whether a specific launch will succeed, but to quantify how analog selection and timing assumptions translate into revenue risk—making trade-offs explicit for cross-functional discussion.
In practice, this means shifting the question from “What will happen?” to “What are we implicitly assuming—and what does that assumption cost if it’s wrong?”
2. The core decision question
The framework is designed around a single, actionable question:
What is the revenue at risk if launch timing shifts under uncertainty?
This question matters because it connects analytical work directly to decisions that leadership teams actually face:
- How much revenue exposure exists in Year 1 if launch slips by one or two quarters?
- What forecast commitment range (P25/P50/P75) is defensible given analog variation?
- How sensitive are these conclusions to which analogs are included?
In practice, timing assumptions also propagate into manufacturing readiness, commercial resourcing, and financial guidance—making early uncertainty costly to unwind later.
Rather than producing point forecasts, the framework surfaces ranges and trade-offs that support structured executive discussion.
3. Why governance-first analog selection
Analog-based forecasting is common in pharmaceutical commercial planning. The challenge is that analog selection is inherently subjective—and post-hoc adjustments can undermine credibility.
This framework applies a governance-first methodology:
- Define inclusion criteria before examining outcomes — Therapeutic area, Year-5 revenue threshold, and data availability requirements are specified upfront.
- Lock the analog list in writing — No modifications after seeing revenue performance.
- Document rationale for every inclusion/exclusion — Creates an audit trail for reviewers.
- Test sensitivity explicitly — Option to exclude the top-performing analog tests whether conclusions depend on outliers.
This approach addresses a common critique of analog analysis: that analysts cherry-pick comparators to support predetermined conclusions. By separating selection criteria from outcome examination, the framework survives skeptical review.
This governance-first approach is operationalized in the app through four components: Executive Brief (scenario comparison and trade-off framing), Scenario Builder (criteria configuration and sensitivity testing), Analog Explorer (individual product examination with guardrails), and Methods & Data (assumption documentation and scope boundaries).
4. What the framework quantifies
Revenue-at-Risk Estimation
The framework calculates Year 1 revenue at risk under configurable launch delay scenarios:
Revenue at Risk (Year 1) = delay_quarters × (median Year 1 revenue / 4)
Year 1 is used because it is the period most sensitive to launch timing assumptions and the least confounded by later competitive or lifecycle effects. The Executive Brief shows the median Year-1 revenue next to the result, so the input behind the estimate is visible.
This is explicitly labeled as a Year 1 average-quarter approximation—a simplification that provides directional magnitude without implying DCF-level precision.
Scenario Bands from Analog Variation
Percentile bands (P25/P50/P75) are derived from observed analog performance:
- P50 (Base Case): Median analog trajectory
- P75 (Upper Range): Upper quartile performance
- P25 (Lower Range): Lower quartile performance
These represent observed variation across analogs, not statistical confidence intervals. The distinction matters: they quantify historical heterogeneity, not forecasting uncertainty.
Revenue figures describe Year-5 revenue, not a lifetime peak. Every analog is observed from its approval year through the fifth full year after launch, and all ten were still growing at Year 5. Labeling that value “peak” would understate products like Keytruda, whose revenue kept climbing well beyond the observation window.
Selection Statistics
Dynamic statistics update as criteria change:
- Solid tumor vs. hematology count
- Approval year range
- Median Year-5 revenue
- Number of analogs meeting criteria
This transparency helps users understand what’s driving the scenario range.
5. Key assumptions documented
The framework relies on several simplifying assumptions that users should understand:
Demand deferral, not destruction
Delayed demand is assumed to shift forward in time rather than being permanently lost. Competitive dynamics and access erosion are not modeled.
Label expansion bias
Some analogs experienced significant post-launch indication expansions, creating potential upward bias in Year-5 revenue estimates. Products without similar expansion potential may underperform these benchmarks.
Era effects
Launch dynamics differ between earlier (2013–2015) and more recent oncology approvals. The analog set includes both eras, which may introduce heterogeneity.
Worldwide revenue
SEC filings report worldwide product revenue. Geographic mix differences between analogs and forecasted products are not adjusted.
These assumptions are documented in the Methods & Data tab and surfaced in the dashboard interface to prevent over-interpretation.
6. What this framework does—and does not—do
What it does
✅ Structures analog-based launch scenario analysis
✅ Quantifies revenue ranges from analog variation (P25/P50/P75)
✅ Supports structured trade-off conversations under uncertainty
✅ Documents assumptions and limitations transparently
✅ Provides sensitivity checks to test analytical robustness
What it does not do
❌ Predict whether a specific launch will succeed
❌ Recommend specific investment or resourcing levels
❌ Model competitive response or market access dynamics
❌ Estimate NPV or financial returns
❌ Replace clinical, regulatory, or strategic judgment
By design: NPV and market access modeling are excluded because they require company-specific inputs that would compromise generalizability. Revenue scenarios are treated as foundational inputs to financial modeling, not final outputs.
7. Dashboard structure
The application is organized into four complementary views:
Executive Brief

An executive-facing summary that surfaces:
- Key metrics (analog count, Year-5 revenue range, revenue at risk, median Year-1 revenue)
- Launch trajectory scenarios with P25/P50/P75 bands
- Two explicit decision trade-offs: launch timing and forecast commitment
- Selected analog summary table
The decision boxes explicitly frame trade-offs in terms stakeholders recognize: “Speed vs. readiness” and “Alignment vs. credibility risk.”
Scenario Builder

An interactive configuration view that allows users to:
- Select therapeutic focus (solid tumors, hematology, or both)
- Set minimum Year-5 revenue thresholds
- Test sensitivity by excluding the top-performing analog
- Configure launch delay scenarios (0–4 quarters)
The Selection Rationale panel updates dynamically, showing live statistics and a governance note reminding users that criteria should be documented before examining outcomes.
Analog Explorer

A detailed view for examining individual analog characteristics:
- Side-by-side comparison of two selected analogs
- Launch curve visualization showing trajectory differences
- Characteristics table (company, indication, approval date, Year-5 revenue)
- Launch context factors that may have influenced trajectory
This tab includes guardrails against over-interpretation: it opens on a single default analog, comparisons are an explicit choice, and an interpretation note reminds users that the framework’s value lies in the distribution across analogs, not any single curve.
Methods & Data

A transparency-focused section documenting:
- Framework overview and workflow diagram
- Data sources (FDA approvals, SEC EDGAR filings, published literature)
- Inclusion and exclusion criteria
- Key assumptions with explicit discussion
- “What This Framework Does NOT Do” section
- Technical implementation details
8. The analog set
The framework includes 10 established oncology launches with product-level revenue disclosed in SEC filings:
Solid tumors (6):
Keytruda, Opdivo, Ibrance, Tagrisso, Lynparza, Tecentriq
Hematology (4):
Imbruvica, Darzalex, Venclexta, Calquence
The 6/4 split reflects real-world prevalence rather than forced symmetry. Adding weaker products to achieve balance would introduce more noise than signal.
Approval years range from 2013–2017, providing five full years of disclosed revenue for every analog while remaining recent enough to reflect modern launch dynamics.
9. Technical lessons from the build
This project surfaced an important technical insight about Shiny development with CSS-based UI frameworks.
The Problem
When using shiny.semantic (which relies on Semantic UI’s CSS-based tab switching), outputs don’t render automatically when users navigate to a tab. Shiny’s lazy evaluation assumes it knows when tabs become visible—but CSS-based tabs don’t notify Shiny of visibility changes.
The Solution
Adding outputOptions(output, "output_name", suspendWhenHidden = FALSE) forces Shiny to render regardless of perceived visibility. This pattern isn’t documented in standard Shiny guides but is essential for CSS-based tab frameworks.
The catch is that it has to cover every output that depends on shared state. A later review found six small text outputs (the range line and both decision cards) without it. After a selection change, the headline number updated while the range beside it stayed stale. The complete fix pairs suspendWhenHidden = FALSE on all dependent outputs with a shown event triggered on each tab switch, and verifies the result by changing a selection and checking that every number moves together.
This discovery became the most valuable technical lesson from the project.
10. Why this framing matters for commercial analytics
In pharmaceutical commercial planning, forecasts are rarely wrong because of poor algorithms. They’re wrong because:
- Analog selection was post-hoc rationalized
- Assumptions weren’t documented or tested
- Ranges were too narrow to capture actual uncertainty
- Trade-offs weren’t made explicit to decision-makers
This framework addresses these failure modes directly:
- Governance-first selection prevents cherry-picking
- Documented assumptions create audit trails
- P25/P50/P75 bands acknowledge inherent uncertainty
- Explicit trade-off framing connects analysis to decisions
The goal is not better predictions, but better-structured conversations about what forecasts can and cannot support.
Appendix: Methodology & Build Notes
Data Sources
- FDA Drug Approvals: Approval dates (T=0), initial indications
- SEC EDGAR Filings: Annual product-level revenue from 10-K and 20-F reports
- Published Literature: Launch curve patterns and benchmarks from peer-reviewed sources
Technical Stack
- Language: R (4.3+)
- Framework: Shiny (modular architecture)
- UI: shiny.semantic (Appsilon)
- Visualization: ggplot2, ggiraph
- Tables: reactable
- Deployment: shinyapps.io
Key Design Choices
- Annual revenue aligned to approval year (Year 0 = partial launch year; Year 1 = first full year) for comparability
- Percentiles calculated across analog set (not confidence intervals)
- Revenue scaled to millions USD for readability
- All data from public sources to ensure reproducibility
Purpose, Scope, and Disclaimer
This project is a portfolio case study intended to demonstrate analytical framing, governance, and decision-support design using publicly available data.
It is not intended for real-world commercial decision-making and is not affiliated with any pharmaceutical company. Product names are used for analytical illustration only.
All data are derived from publicly available sources including SEC filings and FDA databases. No proprietary or confidential information is included.
This work does not constitute investment advice, commercial guidance, or strategic recommendations.
Closing Reflection
The value of this framework lies not in its predictions, but in its structure. By making analog selection defensible, assumptions transparent, and trade-offs explicit, it provides a foundation for disciplined commercial planning conversations—conversations that connect forecast ranges to revenue-at-risk and timing decisions to resource commitments.
In launch planning, clarity about what we don’t know is often more valuable than false confidence about what we do.
Updated October 2026: revenue figures relabeled as Year-5 revenue rather than peak; corrected the data-source and revenue-alignment descriptions; expanded the technical lesson on tab rendering. The data and calculations are unchanged.
Citation
@online{ponce2026,
author = {Ponce, Steven},
title = {Governance-First {Launch} {Forecasting:} {A} {Decision}
{Support} {Framework}},
date = {2026-01-28},
url = {https://stevenponce.netlify.app/projects/standalone_visualizations/sa_2026-01-28.html},
langid = {en}
}