| Vose Software

Industry: Biotech
Product: ModelRisk
Application: Biomanufacturing — sizing annual mAb campaign capacity and cost-of-goods under stochastic batch failure and titer variability


A Campaign Plan That Cleared Its Demand Contract on Paper and Missed It One Year in Three

A monoclonal-antibody manufacturer ran a 24-batch annual campaign on a 2,000 L bioreactor train and owed a supply partner 85,000 grams of purified drug substance per year. The deterministic capacity plan looked comfortable: 24 scheduled batches, an 86% batch-success rate, a 3.4 g/L median harvest titer, 1,800 L of working volume per batch and a 72% downstream yield multiply out to 90,948 grams — a 7% cushion over the contract. On the strength of that single number the commercial team signed the volume commitment.

The problem is that the cushion is an artefact of multiplying medians together. Batches fail as Bernoulli events, titer is right-skewed and bounded below at zero, and — critically — both depend on a shared annual factor: the cell-line passage, the raw-material lot, and the operator crew that govern a whole campaign. A bad-inoculum year drags down both the success rate and the titer of every batch in it. When the manufacturer rebuilt the campaign in ModelRisk as a Monte Carlo model and ran 40,000 simulated years, the point-estimate cushion evaporated.

Distribution of annual purified mAb output across 40,000 simulated campaign years

The mean annual output is 97,408 grams and the P50 is 96,244 grams — both comfortably above the 90,948-gram deterministic plan, because titer's right skew pulls the average up. But the distribution is wide: P10 = 65,458 grams, P90 = 130,658 grams. Against the 85,000-gram demand line, the probability of actually meeting the contract is 68%. The deterministic plan sat above the contract and below the median, and said nothing about the 32% of years the campaign comes up short — the years a bad inoculum lot pushes both success rate and titer down together.

Why a single capacity number is the wrong planning object

A point estimate of annual output answers the wrong question. The contract is not "produce the expected amount on average over many years"; it is "produce 85,000 grams this year or pay a shortfall penalty." That is a probability question, and 90,948 grams cannot express it. Three features of biomanufacturing break the deterministic shortcut:

  • Batch outcomes are binary, not fractional. A contaminated or failed run yields zero grams and still consumes media and a bioreactor slot. Multiplying "86% success" into the plan as a yield haircut hides that the realised number of successful batches is itself a random variable — the simulation sees 17 successful batches at P10 and 23 at P90 against 24 scheduled.
  • Titer is right-skewed. Harvest titer is modelled as LogNormal (median 3.4 g/L), bounded below at zero. Using the median ignores the asymmetry; using the mean overstates the typical campaign.
  • Batches in a year are correlated, not independent. A shared campaign-quality factor lifts or lowers every batch together, so the annual total has a far wider spread than 24 independent draws would — independence would have averaged the variability away and falsely tightened the forecast.

What a campaign year actually produces

The headline chart is built from the per-batch mechanism: each scheduled batch succeeds with a probability shifted by the year's quality factor; each successful batch delivers titer x 1,800 L x downstream yield grams, with downstream yield drawn from a Beta distribution bounded on (0, 1). The realised batch-success rate runs from 71% at P10 to 96% at P90 around an 84.7% mean — the band that turns a comfortable plan into a missed contract in the bad years.

The cost-of-goods number management quotes is the one number that is almost never realised

Distribution of cost of goods per gram of purified mAb

Cost-of-goods per gram is fixed campaign cost plus per-batch consumables divided by grams produced — and because grams sit in the denominator, the right skew is even sharper than output's. The deterministic plan quotes $91/g. The simulation agrees on the mean ($91/g) but the median is lower at $86/g, and the P90 is $126/g — a 39% cost overrun in the worst tenth of years, driven entirely by the low-output years where fixed cost is spread over too few grams. A budget built on the $91 mean under-reserves for exactly the years the business can least afford it.

Three process-improvement scenarios, ranked by probability of meeting demand

The operations team costed three improvement packages and ran each through the same model with the same seed, so the comparison isolates process change from simulation noise.

Cumulative distribution of annual output for baseline and three improvement scenarios

  • Baseline (current process). P(meet 85,000 g demand) = 68%, mean output 97,408 g, median cost $86/g.
  • Scenario A — media-QC program ($0.4M). Lifts batch success to 90% and tightens titer variability. P(meet) rises to 73%, median cost falls to $83/g.
  • Scenario B — optimised feed / perfusion ($0.9M). Raises median titer 18%. P(meet) jumps to 84%, mean output to 114,857 g, median cost to $73/g.
  • Scenario C — single-use + automation ($2.1M). Raises success and titer and tightens the spread. P(meet) reaches 88%, median cost $73/g.

The decision-relevant comparison is not mean output — every package raises it — but the probability of clearing the contract. Scenario B more than halves the shortfall risk (from 32% to 16%) for $0.9M, and the marginal $1.2M for Scenario C buys only another 4 points of certainty. The team committed to Scenario B and held Scenario C for a later capacity expansion.

What drives a short year

Tornado chart of the drivers of P10 annual output

Ranked by their effect on P10 annual output — the bad-year number the contract is exposed to — median harvest titer dominates, followed by the shared campaign-quality factor and the batch-success probability. Downstream yield ranks fourth. The ordering told process development where to spend: a titer improvement (Scenario B) has more leverage on the downside than chasing the last few points of batch-success rate, which is why the feed-optimisation package outperformed the media-QC package on P(meet) despite costing more.

What the model changed

  • The 90,948-gram deterministic capacity plan was retired in favour of a P10 = 65,458 / P50 = 96,244 / P90 = 130,658 commitment band, with contract attainment tracked as a 68% probability rather than a yes/no plan.
  • The volume commitment was re-papered. Knowing the baseline process met the contract only 68% of the time, the commercial team negotiated a shortfall-tolerance band rather than a hard 85,000-gram floor, and funded Scenario B to lift attainment to 84%.
  • The cost-of-goods budget was re-reserved at P90 ($126/g), not the $91 mean, so the low-output years no longer blow the manufacturing budget.
  • A shared campaign-quality factor was written into the model, capturing the cell-line / raw-material / crew correlation that makes good and bad years cluster — the effect that pure batch-independence assumptions had been averaging away.

ModelRisk Functionality Used

  • Bernoulli batch-success modelling with a per-campaign shared quality factor shifting the success logit, so the realised count of successful batches (17 at P10, 23 at P90) is a random variable rather than a fixed yield haircut.
  • LogNormal harvest-titer distribution bounded below at zero, capturing the right skew that pulls mean output above the median and above the deterministic plan.
  • Beta downstream-yield distribution bounded on (0, 1), eliminating the out-of-range yields a Normal approximation would draw.
  • Correlated-batch construction via a shared annual campaign-quality factor driving both success probability and titer, widening the annual-output distribution that an independence assumption would have falsely tightened.
  • Cost-of-goods-per-gram propagation, surfacing the sharper right skew (P90 = $126/g vs $91 mean) created by output sitting in the denominator.
  • Comparative scenario simulation of three improvement packages with common random numbers, ranking them on probability of meeting demand rather than on mean output.
  • Tornado sensitivity on P10 output, ranking median titer ahead of batch-success rate and directing process-development spend to the highest-leverage downside driver.

The deterministic plan cleared the contract by 7% and still missed it one year in three, because multiplying medians together cannot see a distribution. Monte Carlo simulation in ModelRisk gives the manufacturer the number the contract actually turns on: the probability of meeting demand, and what each dollar of process improvement does to it.