PhaseFolio
Methodology · Modelling deal terms

Modelling deal terms

"Model these terms" maps a proposed or agreed licensing term set onto a full-ownership scenario of an asset on the deal, creating a new partner-case scenario pinned to that term-set version. The source scenario is unchanged. The mapping (term-model mapping v2) names every term it can value, every term it cannot and why, every approximation it makes, and refuses outright rather than guess when it cannot represent a term set safely.

Methodology M6
Section updated 2026-09-28
Mapping v2, no model change

01What "Model these terms" does

A frozen term set maps onto a full-ownership scenario, pinning a new partner-case scenario to it.

A deal records what was offered and what was agreed as versioned term sets of typed terms. Once a term set is proposed or agreed, it is frozen: a draft cannot be modelled. "Model these terms" takes that frozen set and one of the asset's full-ownership scenarios, and maps the terms it can value onto that scenario's deal structure. The result is a new scenario (a partner case, not the asset's base case unless a user later sets it so) that pins the exact term-set version it followed. The source scenario is never changed.

The mapping is a pure, versioned function: term-model mapping v2. Every term in the set gets an outcome, modelled or not modelled with a reason; no term is ever dropped silently, and every approximation the mapping makes is returned as a named assumption shown beside the result.

02What is modelled

The mapping values payments to your organisation and the license grant that constrains their territory.

Table 1. Modelled term kinds
Term kindHow it is modelled
Upfront paymentEvery upfront paid to your organisation is summed into one deal-structure upfront amount.
Milestone paymentEvery milestone paid to your organisation, with a development-stage, regulatory-approval or first-commercial-sale trigger, is gated to a stage in the source scenario.
RoyaltyAt most one royalty paid to your organisation, with no step-down, cap or floor. A single tier becomes a flat rate; multiple tiers become a marginal ladder.
Profit shareAt most one profit share. The modelled share is the contract share when your organisation receives it, or one minus that share when it pays.
Cost shareAt most one cost share. It sets only which side bears development costs after the deal; a capped cost share is refused, not approximated.

The deal-structure type the mapping writes follows the same three modes the rNPV wizard already uses: a profit share gives Profit split (with the tenant's cost share carried across); otherwise no cost share, or an explicit 0% tenant share, gives Royalty or license-out; a 100% tenant cost share gives Milestone and royalty. Every "Royalty or license-out" scenario carries the assumption that the licensee bears all development and launch costs, because the model treats that deal type as licensee-funded regardless of the modelled cost share.

03What is not modelled, and why

A term the mapping cannot value is never dropped; it is listed with a reason.

Table 2. Reasons a term is not modelled
Reason codeApplies toMeaning
not_a_partyAny termYour organisation neither pays nor receives this term.
other_assetAny termThis term is scoped to another asset.
other_indicationAny termThis term is scoped to another indication plan.
rights_onlyLicense grantA license grant sets rights, not payments; its territory limits the modelled revenue instead.
method_not_availableEquity purchase, equity issuance, tranche, purchase priceThe valuation model has no method for this kind of term yet.
paying_sideUpfront, milestone, royaltyYour organisation pays this term; the model values what it receives.
unallocated_multi_assetUpfront, milestoneThe deal has more than one asset and this payment is not allocated to one.
trigger_not_modelledMilestoneThe model cannot time this milestone trigger (a sales-threshold, date or described trigger).
stage_not_in_scenarioMilestoneThe scenario has no development stage for this milestone.
royalty_adjustments_not_modelledRoyaltyThe model cannot represent a royalty step-down, cap or floor.

04What is refused, with nothing written

Some conditions stop the action entirely: no scenario is created and the term set is unchanged.

Table 3. Refusals
Refusal codeMessage
set_not_frozenPropose or agree these terms before modelling them.
source_not_full_ownershipModel terms from a scenario that values the asset under full ownership.
term_detail_invalidA term in this set is incomplete; draft an amendment to fix it.
currency_needs_rateSet a conversion rate for {currency} before modelling these terms.
multiple_royaltiesOnly one royalty can be modelled at a time.
multiple_profit_sharesOnly one profit share can be modelled at a time.
royalty_and_profit_shareA royalty and a profit share cannot be modelled together.
multiple_cost_sharesOnly one cost-share term can be modelled at a time.
cost_share_cap_not_modelledA capped cost share cannot be modelled; the model needs a plain share.
profit_share_needs_cost_shareAdd a cost-share term: who bears development costs is never assumed.
partial_cost_shareA partial cost share needs a profit share; the model cannot represent it with a royalty.
nothing_to_modelNone of these terms is a payment to your organisation that the model can value.
unkeyed_scenarioSplit this scenario's revenue by geography before modelling territory-limited terms. When some geographies lack a territory: Set a territory for {names} in this scenario's geographies before modelling territory-limited terms.
geography_straddles_territoryThe scenario geography {name} is partly inside the term's territory. Split it into geographies inside and outside the territory.
no_revenue_in_territoryNone of this scenario's geographies is inside the term's territory.
royalty_outside_grantThe term's territory does not overlap the licensed territory.
royalty_grant_overlapThe term's territory overlaps the licensed territory only in part; record it within the license.

Currency rule

Every amount that would be modelled must be in USD, or the action is refused with a fixed message: "Set a conversion rate for {currency} before modelling these terms." Term-model mapping v2 has no conversion-rate input yet, so this refusal currently blocks every non-USD term outright.

05The territory restriction, and its approximations

Revenue is restricted to the licensed territory; the result is an approximation that names what it assumes.

A territory-limited royalty or profit share is modelled only against the scenario's geography entries that are inside its territory, never against worldwide revenue by default. When it applies, the kept geographies' peak revenue is scaled to their combined share of the scenario's total peak sales, and their shares are renormalised to still sum to the whole. Rights retained outside the licensed territory are not part of the resulting scenario at all.

This restriction is an approximation, not an exact re-derivation of a per-territory deal:

  • The US IRA price cap applies to the whole modelled revenue schedule or not at all, never region by region. Leaving the United States out of the territory drops the cap from the whole model; keeping it in applies the cap to every kept region.
  • When the source scenario uses the epidemiology builder, the modelled scenario fixes peak revenue at the builder's calculated result, scaled to the kept share, and turns the builder off.
  • When a royalty's territory is wider than its governing license grant's, the modelled revenue is restricted to the grant's narrower territory instead.

Each kept region keeps its own launch delay. From rNPV model 3.0.0, royalties, royalty tiers, sales milestones and the profit-split pro-forma follow each kept region's revenue share and launch, so a region that launches later than the lead market earns its modelled revenue later too. Term-model mapping v1 on model 2.9.0 timed all deal revenue from the lead launch; the Methodology M3 record of this section describes it.

06Milestone timing, at the end of a development stage

A modelled milestone always lands at the end of a stage in the source scenario.

  • A milestone triggered by the completion of a numbered phase lands at the end of the scenario's stage with that exact phase number.
  • A milestone triggered by the start of a numbered phase lands at the end of the previous stage (a Phase 1 start lands at the end of the last preclinical stage, if the scenario has one).
  • Regulatory approval, first commercial sale, and a completed regulatory review all land at the end of the scenario's last stage. When that last stage is an actual NDA/BLA review stage, this is exact; when the scenario has none, the last stage stands in for approval instead, and the mapping names this as an assumption. A regulatory-approval or first-sale milestone tied to a jurisdiction lands at that same point whatever its jurisdiction: the mapping does not time a US approval apart from an EU one, and names this as an assumption.

A milestone whose matching stage is not present in the source scenario is not modelled, never guessed at a nearby stage.

07Who bears development costs: never assumed

Cost bearing is set only by an explicit cost-share term.

  • A profit share cannot be modelled without a cost-share term alongside it.
  • Without a profit share, the tenant's cost share must be 0% or 100%; a partial cost share (0% to 100%) is refused because the model cannot represent it with a royalty.
  • A capped cost share is refused outright; the model needs a plain percentage share.
  • At most one cost-share term can be modelled at a time.
  • Whichever side pays a cost-share term bears that share of development costs; your organisation's share is the contract share when it pays, and one minus that share when it receives it.
  • Every "Royalty or license-out" scenario still carries the assumption that the licensee bears all development and launch costs, whatever cost share was modelled, because the model's treatment of that deal type is hard-coded.

08What stays locked, and what stays editable

A modelled scenario follows its terms; probability of success, costs and durations remain yours to set.

A scenario modelled from deal terms follows those terms: the deal structure, the geography split and peak revenue, the epidemiology inputs, and whatever decides where a modelled milestone lands (the stage list and names, whether an NDA/BLA review stage exists, and the development-stage plan's work packages, stage labels and PoS gates) cannot be edited by hand on that scenario. Probability of success, costs, durations and every other input the terms did not set stay editable, including the PoS, costs and durations inside the development-stage plan.

Shown on a pinned scenario

"This scenario follows deal terms. Change the terms and model them again instead."

To change the modelled economics, change the terms (a new term-set version) and model them again; modelling always creates a new scenario rather than editing the pinned one. Forking a pinned scenario breaks the pin: the fork is an ordinary, unpinned scenario that no longer follows the terms and can be edited freely.

09Assumptions the mapping may return

Each assumption is returned only when it applies, and is shown beside the result.

Table 4. Assumptions
AssumptionMeaning
licensee_bears_costsThe licensee bears all development and launch costs after the deal.
upfront_at_signingUpfront payments are received in full when the deal is signed, whatever their due date.
tiers_marginalRoyalty tiers are marginal: each rate applies only to annual net sales within its tier.
royalty_tiers_per_assetOn a deal with several assets, the royalty's tiers are applied to this asset's net sales alone.
revenue_restricted_to_territoryRevenue is limited to the geographies inside the term's territory, in proportion to their share of peak sales.
epidemiology_fixedPeak sales are fixed at the epidemiology builder's result, scaled to the territory.
ira_not_applied_outside_usThe United States is outside the territory, so the IRA price cap is not applied.
ira_applied_to_whole_scheduleThe IRA price cap applies to the whole revenue schedule, not only to US sales.
royalty_limited_to_grantThe royalty's territory is limited to the licensed territory.
approval_at_last_stageThe scenario has no NDA/BLA review stage, so approval milestones land at the end of its last stage.
milestone_jurisdiction_not_timedApproval and first-sale milestones land at the end of the scenario's last stage, whatever their jurisdiction.

10Versioning

The mapping adds no model input; it is versioned independently of this methodology text.

This section is carried by M4, which documents rNPV model 3.0.0. The mapping itself is versioned separately: term-model mapping v2. Mapping v2 writes the same scenario inputs as v1 and no longer returns deal_revenue_at_lead_launch, because model 3.0.0 times deal revenue from each kept region's own launch. A scenario modelled under v1 keeps the model version and values it was computed with. The mapping adds no model input or output: no export, REST or MCP surface adds terms or the mapping to its payload; this section documents an application behaviour.

This section describes how PhaseFolio's model maps licensing deal terms onto a scenario. It does not constitute legal, tax, financial or investment advice, and it does not represent that a modelled scenario reflects the exact economics of any actual contract. Confirm terms and their consequences against the signed agreement and independent counsel.

Methodology M6 · Section updated 2026-09-28 · Version history → · Model card →

Modelling Deal Terms | PhaseFolio