Methodology · Historical Snapshot

Modelling deal terms

You are viewing a frozen historical snapshot

This is M8 as it was on 2026-10-13: the immutable record any signed export stamped M8 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 M10). Current version · Full version history · Verify an export

"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 v4) values what your organisation receives. It names every term it can value, every term it cannot and why, and every approximation it makes, and refuses outright rather than guess when it cannot represent a term set safely, including a set in which your organisation pays an upfront, milestone or royalty.

1. What "Model these terms" does

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 v4. 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.

2. What is modelled, and how

The mapping only values payments to your organisation and the license grant that constrains their territory. It cannot yet subtract a payment your organisation makes, so from mapping v4 a set in which your organisation pays an upfront, milestone or royalty on the modelled asset is refused (paid_terms_not_modelled, §4): valuing only what your organisation receives would overstate its side. Who bears development costs comes from an explicit cost-share term; the one fixed assumption, that a royalty-only model has the licensee bear them, is always named (section 7).

Term kindHow it is modelled
Upfront paymentEvery upfront payment 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, becomes a deal-structure milestone gated to a stage in the source scenario (see §6).
RoyaltyAt most one royalty paid to your organisation, with no step-down, cap or floor. A single tier becomes a flat royalty rate; multiple tiers become the model's marginal royalty ladder, each rate applying only to the net sales within its own tier.
Profit shareAt most one profit share. If your organisation receives it, the modelled share is the contract share; if your organisation pays it, the modelled share is one minus the contract share.
Cost shareAt most one cost share. It sets only which side bears development costs after the deal: see §7. A capped cost share is refused, not approximated.

The deal-structure type the mapping writes follows the same three modes the 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.

3. What is not modelled, and why

A term the mapping cannot value is never dropped. It is listed as "not modelled" with one of the reasons below.

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 (§5).
method_not_availableEquity purchase, equity issuance, tranche, purchase priceThe valuation model has no method for this kind of term yet.
paying_sideUpfront, milestone, royaltyReturned by mapping v3 and earlier only: your organisation pays this term, and the model valued only what it receives. From mapping v4 such a term refuses the set (§4).
unallocated_multi_assetUpfront, milestoneThe deal has more than one asset and this payment is not allocated to one.
unallocated_multi_indicationUpfront, milestoneThe asset has more than one indication plan and this payment is not allocated to one, so it would be counted once for each plan's scenario. The asset's value adds every included plan's base case.
trigger_not_modelledMilestoneThe model cannot time this milestone trigger (a sales-threshold, date or described trigger, rather than a development stage, regulatory approval or first commercial sale).
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.

4. What is refused, with nothing written

Some conditions stop the action entirely rather than modelling around them. When one applies, no scenario is created and the term set is unchanged.

Refusal codeMessageWhen
set_not_frozenPropose or agree these terms before modelling them.The term set is still a draft.
source_not_full_ownershipModel terms from a scenario that values the asset under full ownership.The source scenario's deal type is not full ownership.
term_detail_invalidA term in this set is incomplete; draft an amendment to fix it.A stored term's detail fails its own schema.
paid_terms_not_modelledYour organisation pays some of these terms; the model cannot subtract payments yet, so a value would overstate your side.Your organisation pays an upfront, milestone or royalty that is not scoped to another asset or indication plan (mapping v4).
currency_needs_rateSet a conversion rate for {currency} before modelling these terms.A term that would be modelled is not in USD (§6, see below).
multiple_royaltiesOnly one royalty can be modelled at a time.More than one modellable royalty is in the set.
multiple_profit_sharesOnly one profit share can be modelled at a time.More than one modellable profit share is in the set.
royalty_and_profit_shareA royalty and a profit share cannot be modelled together.The set has both.
multiple_cost_sharesOnly one cost-share term can be modelled at a time.More than one cost-share term is in the set.
cost_share_cap_not_modelledA capped cost share cannot be modelled; the model needs a plain share.The cost-share term has a cap amount.
profit_share_needs_cost_shareAdd a cost-share term: who bears development costs is never assumed.The set has a profit share and no cost-share term (§7).
partial_cost_shareA partial cost share needs a profit share; the model cannot represent it with a royalty.A cost share strictly between 0% and 100% has no profit share (§7).
nothing_to_modelNone of these terms is a payment to your organisation that the model can value.No upfront, milestone, royalty or profit share is modelled.
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.A territory-limited term is modelled against a scenario geography with no recognised territory.
geography_straddles_territoryThe scenario geography {name} is partly inside the term's territory. Split it into geographies inside and outside the territory.A scenario geography cannot be classified wholly inside or outside the term's territory.
no_revenue_in_territoryNone of this scenario's geographies is inside the term's territory.Every scenario geography sits outside the term's territory.
royalty_outside_grantThe term's territory does not overlap the licensed territory.A royalty's or profit share's territory has no overlap with the governing license grant's territory.
royalty_grant_overlapThe term's territory overlaps the licensed territory only in part; record it within the license.The overlap between a royalty's territory and the grant's is neither the whole of one nor of the other.

The conversion-rate refusal, P3-D7, applies verbatim: "Set a conversion rate for {currency} before modelling these terms." The mapping has no conversion-rate input yet, so this refusal currently blocks every term whose amount is not in USD; every upfront, milestone and royalty that would be modelled must be denominated in USD.

5. The territory restriction, and its approximations

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. The scenario's geography entries must each carry a recognised territory key; an entry with none makes the whole action refused rather than guessed. When the restriction applies, the kept geographies' peak revenue is scaled to their combined share of the scenario's total peak sales, and their individual shares are renormalised so they still sum to the whole. Rights retained outside the licensed territory are not part of the resulting scenario at all: they are not represented, priced or discounted anywhere in it.

This restriction is an approximation, not an exact re-derivation of a per-territory deal, and it names the approximations it makes:

  • The US IRA price cap applies to US revenue only (model 4.0.0). If the United States sits outside the term's territory, the cap is dropped from the model; if it sits inside, the cap applies to the kept US geography (or to rest of world when no kept geography covers the US) and not to the other kept regions. Scenarios modelled on earlier models applied it 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, because the underlying calculation would otherwise recompute a worldwide peak from the builder's inputs on every recompute.
  • 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.

6. Milestone timing, at the end of a development stage

A milestone is only modelled with a development-stage, regulatory-approval or first-commercial-sale trigger; every other trigger kind is not modelled (§3). A modelled milestone always lands at the end of a stage in the source scenario, never at an arbitrary date:

  • 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 scenario's last preclinical stage, if it 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 no such stage, 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 (stage_not_in_scenario), never guessed at a nearby stage.

7. Who bears development costs: set by the terms

The mapping never assumes which side of the deal pays for development after it closes. That treatment is set only by an explicit cost-share term, and the rules keep it representable by the model's existing deal structures:

  • A profit share cannot be modelled without a cost-share term alongside it (the "add a cost-share term" refusal, §4): a profit split with no stated cost treatment is refused, not defaulted.
  • Without a profit share, the tenant's cost share must be 0% or 100%; anything in between (a partial cost share) is refused, because the model cannot represent a partial cost share together 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 of a deal 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 (no profit share, tenant cost share 0% or none) still carries the assumption that the licensee bears all development and launch costs after the deal, because the model's royalty-only deal type is hard-coded that way, whatever cost share was modelled.

8. What a modelled scenario keeps locked, and what stays editable

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. The application enforces this with a fixed message: "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.

9. Assumptions the mapping may return

Each assumption below is returned only when it actually applies to the modelled scenario, and is shown beside the result.

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. Returned by mapping v1 and v2 only: from model 4.0.0 the cap applies to US revenue only.
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.
terms_per_indicationTerms not allocated to one indication plan apply to each plan's scenario of this asset; royalty tiers use that indication's sales alone.

10. Versioning

This section is carried by Methodology M8, which documents rNPV model 4.0.0. The mapping itself is versioned separately and independently of the methodology text: term-model mapping v4. Mapping v4 refuses a set in which your organisation pays an upfront, milestone or royalty on the modelled asset (paid_terms_not_modelled) instead of listing that payment as not modelled (paying_side), because valuing only what your organisation receives would overstate its side; every set it still models gets the same scenario inputs as under v3. Mapping v3 does not model an upfront or milestone that is not allocated to one indication plan when the asset has more than one included plan, and names the per-indication assumption for revenue terms; it no longer returns ira_applied_to_whole_schedule, because model 4.0.0 applies the IRA cap to US revenue only. Mapping v2 wrote the same scenario inputs as v1 and dropped deal_revenue_at_lead_launch, because model 3.0.0 times deal revenue from each kept region's own launch. A scenario modelled under an earlier mapping 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.

Key facts

What it doesMaps a proposed or agreed term set onto a full-ownership scenario of an asset on the deal, creating a new pinned partner-case scenario. The source scenario is unchanged.
Mapping versionTerm-model mapping v4, versioned independently of this methodology text.
CurrencyEvery modelled amount must be in USD; a term in another currency is refused with a fixed message asking to set a conversion rate first.
TerritoryRevenue is limited to the scenario's geographies inside the term's territory, in proportion to their share of peak sales. Rights outside that territory are not part of the scenario.
Cost bearingWho bears development costs is never assumed: a profit share needs an explicit cost-share term, and a partial cost share needs a profit share too.
Payments madeA set in which your organisation pays an upfront, milestone or royalty is refused until the model can subtract payments. Profit share and cost share are modelled from either side.
Pinned fieldsA modelled scenario locks its deal structure, geography split, peak revenue, epidemiology inputs and the structure of its stage plan. Probability of success, costs and durations stay editable, in the stage plan too.
Model impactNo rNPV model change. engine_version is unaffected and no existing signed export is invalidated.

Frozen snapshot · methodology version: M8 · Last updated: 2026-10-13 · Version history →

Modelling deal terms | PhaseFolio