Model formulas & metrics

Equations, Parameters, Sensitivity Analysis, and Code Documentation

Return to: Interactive Cost Model | How Cultured Chicken is Made | Workshop (May 2026)

►Audio overview(AI-generated · note)
The Cost Model Explained ~10 min

Comment on a specific equation or parameter with Hypothesis (click the < tab on the right edge). For longer comments, corrections or alternative sources, email contact@unjournal.org.

Overview

This document provides complete technical documentation for the cultured chicken cost model. If you want to understand exactly what the interactive dashboard is computing — every equation, parameter range, distribution choice, and source — this is the reference.


What the model estimates: basis, target and scope

AI-drafted (Claude, 26 October 2026) from design decisions made by David Reinstein on 26 October 2026 (also recorded on the team hub in Notion); not yet reviewed by a person.

Basis change (engine 2026-10-26.4): dry cell mass is now the primary basis

Headline: cost per kg of dry cell mass. Beside it: the ingredient cost per kg of a hybrid product (since engine 2026-10-29.1): 25% cultivated cells, counted at the water content of chicken meat (27.5% solids, a convention agreed on 28 October 2026), and 75% plant-based ingredients at $3/kg. Products will not be made entirely of cells, so an all-cell figure would mislead. The dry and hybrid costs are shown side by side on the headline cards, the main cost charts carry a second axis in hybrid-product dollars, and probability thresholds and chicken comparisons use the hybrid product. Cost per kg of protein is reported too.

Inputs: density in g dry cells per litre; $/kg inputs (contract toll, expert cost priors) per kg dry; direct medium use in litres per kg dry; nutrient yield in g dry cells per litre of medium.

Old output: the previous per-wet-kg headline is one switch away (cost_basis: "wet", Structural stress tests → Cost basis on the Advanced page) and reproduces the earlier results exactly. At 20% solids, dry cost × 0.20 equals the old wet cost draw for draw. Default dry figures are therefore about five times the old ones: median about $213/kg dry against $43 per wet kg.

Why the output basis matters

Harvested cells are mostly water. A “kg of wet cell biomass” can include more or less residual medium and interstitial water, depending on how thoroughly the cells are washed and dewatered. A paste at 15% solids carries about half the protein of a paste at 30% solids, so the same production run can be reported as costing either $X or roughly $X/2 per wet kg. Cost per wet kg is therefore not a stable unit for comparing studies, forecasts, or products.

Dry cell mass does not change with washing or dewatering, maps directly to nutrition (protein is a fixed share of it), and is the natural basis for nutrient stoichiometry: how many grams of glucose, amino acids or litres of medium it takes to build a gram of cells. That is why it is now the primary basis. Cell number is not used as a cost basis, because mass per cell varies with growth rate and phase.

The hybrid product is there for intuition and for comparisons with chicken. Cells are first put on chicken meat’s water content (chicken muscle is roughly 25–30% dry matter, so a kilogram of all-cell, chicken-like mass holds 0.275 kg of dry cell mass); a kilogram of hybrid product then contains cell_inclusion_rate kg of that (25%) and the rest plant-based ingredients at filler_cost ($3/kg). There is no consensus inclusion rate. GOOD Meat 3, sold in Singapore from 2024, was 3% cultivated chicken; hybrid meat products are often described as 20–50% non-meat; earlier products were reported at around 30–70% cells. 25% and $3/kg were the Advanced page’s existing blend defaults and are conventions, adjustable under Hybrid product. The figure is an ingredient cost: forming, texturization, packaging and margins are excluded, and the filler cost is a rough placeholder. Cost per kg protein is reported because protein is the nutritionally relevant quantity.

How sources report their basis, and how the model converts. Source studies report density and cost in at least three ways:

  • Wet weight per litre, or cost per wet kg (harvested paste, with whatever water and medium it carries). The model converts with an explicit solids-fraction assumption, solids_fraction (default 0.20, matching the 80%-water reference in the CM_01 question). The same parameter converts the model’s own built-in wet-basis priors (growth-factor grams per kg, supplemental proteins, other variable costs, fixed costs at the reference plant, forming and texturization) and plant capacity, which stays in thousand tonnes of wet biomass a year.
  • Dry weight per litre or cost per kg dry: used directly.
  • Cell counts per millilitre times an assumed mass per cell. This needs an explicit, uncertain mass-per-cell parameter, which the engine does not yet have. GFI’s 2026 TEA 2.0 Phase 1a review notes that mass per cell varies about twofold with growth rate and phase, and that published models may overestimate it about threefold. Convert cell-count sources by hand for now, and state the mass per cell used.

Example of an ambiguous source: Humbird (2021). Humbird reports costs in $/kg of wet cell mass, assumes 70% intracellular water and a hydrated mass of 3,000 pg per cell, and dewaters the harvest to 20% solids. Because the cells are 30% solids but the harvested product is 20% solids, it is not clear which wet basis the headline $/kg refers to; the two readings differ by a factor of 1.5 on a dry basis. Record the source’s basis when entering any figure.

Parameters.

Parameter Default Meaning and status
cost_basis "dry" Headline basis: "dry" (per kg dry cell mass) or "wet" (per kg wet biomass at solids_fraction; the pre-October 26 headline).
solids_fraction 0.20 Solids content used to convert wet-basis sources, built-in priors and plant capacity to dry mass, and for the wet output.
target_solids_fraction 0.275 Solids content at which cells are counted in the hybrid product (chicken meat’s water content); a fixed convention (midpoint of 25–30%), agreed on 28 October 2026.
cell_inclusion_rate 0.25 Share of the hybrid product that is cultivated cells (at target_solids_fraction). A convention, not a consensus figure; set on 29 October 2026. URL parameter blending_share.
filler_cost 3 $/kg of the plant-based ingredients making up the rest of the hybrid product. Rough placeholder.
protein_fraction_of_solids 0.65 Share of dry cell mass that is protein. Unverified placeholder.

\[\text{cost per kg hybrid} = \text{cost per kg dry} \times \texttt{target\_solids\_fraction} \times r + \texttt{filler\_cost} \times (1 - r), \quad r = \texttt{cell\_inclusion\_rate}\]

\[\text{cost per kg protein} = \frac{\text{cost per kg dry}}{\texttt{protein\_fraction\_of\_solids}}\]

At the defaults (engine 2026-11-09.1, seed 42, 30,000 draws) the median is about $289 per kg dry cell mass, $22.11 per kg of hybrid product and $444 per kg protein; all-cell mass at chicken-meat moisture would be $79.44 per kg, and the wet basis gives $57.78. On the hybrid-product thresholds, 0.1% of draws are under $5/kg, 12.0% under $10, 55.6% under $25 and 80.0% under $50. Under engine 2026-11-07.2, before the growth-factor dose was linked to medium use on November 9, these were $276, $21.25, $425, $76.00 and $55.27, with 0.1%, 11.6%, 58.2% and 84.0% under the thresholds. Before the physical-consistency additions of November 7, 2026 (engine 2026-10-29.1) they were $213, $16.90, $328, $58.60 and $42.62, with 1.0%, 23.6%, 67.2% and 87.5% under the thresholds. The $2.25 of filler in every kg puts a floor under the hybrid cost, and $5/kg hybrid corresponds to about $40 per kg dry, $10 to about $113 and $25 to about $331. (On the all-cell meat-equivalent thresholds used from 26 to 29 October: 0.7% under $10 and 15.8% under $25; on the old wet thresholds: 2.7% and 27.7%.) Since November 7, 2026 the default includes recovery losses in harvest and washing (see physical consistency); the harvest placeholder below adds a processing cost on top.

Physical consistency (November 7, 2026)

Warning

Provisional, not yet reviewed by engineers. These additions were made on David Reinstein’s decision after discussion with the team, with ranges researched by an AI assistant from the sources below. They still need checking by people with engineering and cell-culture expertise (Katharina Brenner and Denis O’Sullivan have been asked). Treat the ranges as placeholders with stated sources, not as settled estimates.

Before engine 2026-11-07.1 the model drew density, medium use and cycle time independently, with “no oxygen-transfer, nutrient-balance, or washout test” rejecting impossible combinations, and left out losses and seed reactors. The cheapest simulated worlds, the ones closest to parity, were the most affected: in the cheapest 5% each litre of medium had to build more than 30 g of dry cells, several times what the nutrients in current media formulations can support. Engine 2026-11-07.1 adds four pieces. Each can be switched off under Structural stress tests on the Advanced page.

Piece Default What it does Range (p5–p95) and sources
Nutrient floor (nutrient_floor) On With the density rule, medium per kg dry = the larger of 1000/density × multiplier and 1000/nutrient yield Yield 3–30 g dry cells per L (median about 9.5). Low end: the Pasitka et al. 2024 pilot (about 3–5 g dry/L) and the amino-acid content of real media (DMEM/F12 1.1 g/L; FSF4 and Believer’s medium 3.6; modified CHO 7.2; GFI amino-acid report, Dec 2025) set against Humbird 2021’s requirement of roughly 0.9 g amino acids and 1.2 g glucose per g dry cells. High end: concentrated feeds, as in CE Delft 2021’s 8–13 L/kg scenarios (about 15–38 g dry/L), which imply amino-acid concentrations 3–9 times those of current media.
Recovery losses and failed runs (include_losses) On Every in-house cost per delivered kg is divided by (1 − recovery loss) × (1 − failure share). A CDMO toll and direct $/kg expert priors are taken as per delivered kg and not scaled Recovery loss 1–15% (Negulescu et al. 2023 assume 2%; Brenner et al. 2026 assume 5%; neither is measured). Failures by mode: fed-batch 0.5–8% (BioPlan survey: 7.6% batch failure at ≥1,000 L, 2.3% from contamination; Humbird cites about 2% as the state of the art); perfusion 2–15% (Pollock, Ho and Farid 2013: about 6% contamination plus 2% filter failure over a 60-day run); continuous 3–20% (longer runs)
Seed-train capital (include_seed_train) On Capital × (1 + seed share) Fed-batch 5–25% (Humbird’s design: seed reactors cost about two thirds as much as the production reactors, about 14% of total capital); perfusion and continuous 1–6% (one inoculation serves a long run)
Oxygen cap (oxygen_cap) Off Caps dry density at the oxygen-transfer limit Limit 12–60 g dry/L, from maximum oxygen transfer of about 13–25 mmol/L/h in large, shear-limited reactors (Humbird 2021; Negulescu et al. 2023) and uptake of about 0.3–0.9 mmol O₂ per g dry cells per hour (Humbird; CHO data; no measurements for meat cells). Off until checked; the share of worlds above the limit is reported (17% at the defaults)

Effect on the defaults (seed 42, 30,000 draws; the custom reactor ratio was also changed on the same date, see pharma vs food-grade):

Engine setting Median $/kg dry Median $/kg hybrid Share of draws under $5 / $10 / $25 hybrid
2026-10-29.1 (before) 213 16.90 1.0% / 23.6% / 67.2%
New reactor ratio only 208 16.57 1.2% / 24.7% / 67.9%
+ nutrient floor 242 18.88 0.3% / 16.1% / 63.8%
+ recovery losses and failed runs 275 21.15 0.1% / 11.7% / 58.5%
+ seed train (default 2026-11-07.2) 276 21.25 0.1% / 11.6% / 58.2%
2026-11-07.2 + oxygen cap 282 21.60 0.1% / 10.7% / 57.5%
+ medium-linked GF dose (default since 2026-11-09.1, see below) 289 22.11 0.1% / 12.0% / 55.6%
2026-11-09.1 + oxygen cap 297 22.66 0.1% / 11.0% / 54.7%

The floor binds in about 38% of worlds, mostly the high-density ones. Losses raise costs by a median of 11% (95th percentile 32%). Against US wholesale chicken ($3.50/kg), no default world gets there either before or after the change; the change matters most for the $5–$25 range.

Not yet included: cell-retention equipment and consumables for perfusion, extra medium throughput in perfusion and continuous runs, utilities derived from physical quantities (they remain in “other variable costs”), vessel scheduling, and any link between failure rates and maturity. Nutrient yield is drawn independently of medium price per litre, although richer media cost more per litre. Katharina Brenner’s process model is the planned source for a consistent set of these quantities.

Growth-factor dose linked to medium use (November 9, 2026)

Important

Correction, 9 November 2026 (engine 2026-11-09.1). Until this date the default drew growth-factor quantity (g per kg) from its own prior, independently of how much medium a world used. Growth factors are dissolved in the medium at a set concentration, so the dose per kg should rise and fall with litres of medium per kg. Drawing them separately let a world combine heavy medium use with a small growth-factor dose (and the reverse), physically impossible combinations. The default is now the medium-linked dose that had been an opt-in alternative since September: g per kg = fresh L per kg × concentration (0.102 mg/L) / 1000, times 0.4 in the cheap-growth-factor regime. Growth-factor cost per litre of medium is therefore concentration × price, with no separate dose draw. The earlier rule stays available as Growth-factor dosage → Separate g/kg prior under Structural stress tests.

Effect on the defaults (seed 42, 30,000 draws; same seed checked at 7):

Default $/kg dry, 10th / 50th / 90th percentile Mean $/kg dry $/kg hybrid, 10th / 50th / 90th Under $5 / $10 / $25 / $50 hybrid
Separate dose prior (2026-11-07.2) 107 / 276 / 920 444 9.59 / 21.25 / 65.47 0.14% / 11.6% / 58.2% / 84.0%
Medium-linked dose (2026-11-09.1) 105 / 289 / 1,167 570 9.48 / 22.11 / 82.50 0.14% / 12.0% / 55.6% / 80.0%

Linking the dose mostly moves the expensive tail: the 90th percentile rises by about a quarter and mean growth-factor cost roughly doubles ($109 to $235 per kg dry), because the model’s medium use per kg (median 206 L per kg dry, 90th percentile 647) is higher than the 8–60 L per wet kg (40–300 per kg dry) the separate prior assumed. The cheap tail barely moves, and the share under $10/kg hybrid rises slightly (11.6% to 12.0%): low-medium worlds now also get a low growth-factor dose, where the separate prior gave them a typical one. The direction of the old error was therefore not uniformly flattering; it understated the expensive tail and slightly overstated growth-factor cost in the cheapest worlds.

In the default, the expensive-regime dose is now about 0.007–0.09 g per kg dry cell mass (5th–95th percentile; 0.0013–0.018 per wet kg) and the cheap-regime dose about 0.003–0.037 per kg dry, against 0.005–0.030 and 0.0025–0.010 under the separate prior. The concentration is a fixed value, not drawn, so formulation uncertainty (other growth factors, other concentrations, recycling) is represented only through the cheap-regime fraction; a direct growth-factor $/kg prior or complete-medium pricing still overrides the dose. Because the dose is now derived from medium use, the tornado chart no longer shows “GF Quantity” as a separate input (it would count medium use twice); medium use and growth-factor price carry its effect.

Comparison with conventional chicken

Decision (David Reinstein, 5 November 2026). The model’s output is a factory-gate cost, so conventional chicken is compared at the same point in the supply chain: its US wholesale price, not the retail shelf price. That avoids modelling two different sets of markups. Until then the reference was about $9–10/kg, roughly the US retail price of boneless chicken breast, which flattered cultivated meat: retail prices include processing, distribution and retail margins that the model does not cost. (For the broiler composite, the wholesale-to-retail spread was $1.50 of a $2.41/lb retail value in September 2026, 62%; USDA ERS meat price spreads.)

Reference value. The hybrid product would stand in for boneless chicken meat, so the reference is the US wholesale price of boneless chicken breast (USDA AMS national broiler parts prices, as compiled in USDA ERS Livestock and Meat Domestic Data, wholesale prices table; cents per lb converted at 2.20462 lb/kg). Monthly prices are converted to 2026 dollars with the US consumer price index (BLS CPI-U, all items, series CUUR0000SA0; base = average of January–September 2026; October 2025, which BLS did not publish, interpolated):

US wholesale chicken, $/kg in 2026 dollars Mean Median 10th–90th percentile of months
Boneless breast, Sep 2022–Sep 2026, all 49 months of the national series (reference) 3.51 3.39 2.6–4.6
Boneless breast, last 12 months (Oct 2025–Sep 2026) 2.95 2.82 2.6–3.4
Boneless breast, 5 years (Oct 2021–Sep 2026), Northeast series spliced on before Sep 2022; not used 4.07 3.43 2.6–6.8
For context: whole broiler, national composite, last 12 months / 5 years / 2017–2026 2.61 / 3.02 / 2.80
Not used: retail boneless breast, Sep 2026 (BLS series APU0000FF1101, $4.20/lb) 9.27

Boneless-breast annual means in 2026 dollars: 2023 $3.07, 2024 $3.73, 2025 $4.21, 2026 (January–September) $3.07. September 2026 alone was $2.67.

So the model uses $3.50/kg, with a range of $2.6–4.6/kg (CHICKEN_WHOLESALE in model-controls.mjs). Revised 6 November 2026: the first version (5 November) used the 12-month average, $2.94, but that falls in a cyclical low: 2026 breast prices are depressed by large supply and weak demand, and whole-bird prices are also 7–14% below their 5- and 10-year averages. A multi-year real average is a better stand-in for a typical price. We use all of the national boneless-breast series, which starts in September 2022, rather than five years: the earlier Northeast series runs about 18% higher relative to the whole-bird price and does not overlap the national one, and a 5-year window would include the record spike of 2022 (about $8.80/kg in 2026 dollars). Breast prices are right-skewed, so the median ($3.39) sits a little below the mean. Mince- or nugget-grade inputs (breast trim, dark meat, mechanically separated chicken) usually trade below boneless breast; we found no public monthly series for them, so the low end of the range may be too high for a nugget-type product. There is no farm-gate (live-bird) price for broilers, because almost all are grown under contract (ERS documentation), and we have not used a production-cost estimate.

What it means at the defaults. A kg of hybrid product contains $2.25 of plant-based filler, so it matches $3.50/kg chicken only if the cells cost less than about $18 per kg dry cell mass ($5 at the $2.6 low end, $34 at the $4.6 high end). At the defaults (engine 2026-11-09.1, seed 42, 30,000 draws) no draw is below $3.50/kg hybrid or $2.60, and 13 (0.04%) are below $4.60; the cheapest is about $3.84 and the lowest 5% of hybrid costs are under $8.05 (engine 2026-11-07.2: 11 below $4.60, lowest 5% under $8.20). (Before the physical-consistency additions of November 7: 2 draws, 0.007%, below $3.50, 0.5% below $4.60, lowest 5% under $6.40.) The $5–$50 probability thresholds are kept as illustrative cost levels; none is a parity line. Both pages show the share of draws under the wholesale reference beneath the threshold cards, and the main cost charts mark it with a purple dashed line. On the wet basis the line and share compare wet cells directly with chicken meat.

What is still not like for like. The hybrid product’s cost leaves out forming and texturization, and its inclusion rate (25%) and filler cost ($3/kg) are conventions. Wholesale breast is a finished, packed commodity cut; the cultivated side would still need those steps. The comparison is closer than a retail one, not exact. The demand page’s teaching calculator still uses retail prices for every species, because its price ratio stands in for what shoppers see; see the note there.

Target quantity (estimand)

The model’s intended target, decided on 26 October 2026:

  • Unconditional and hypothetical. The cost of a large (“nth-of-a-kind”) plant built with the technology available in 2036, whether or not such plants exist. The model does not need a separate stage for the probability that commercial plants are built.
  • Best available plant, not the industry average.
  • 2026 US dollars.
  • No retail-price modeling. The output is a production cost at the factory gate, and it is compared with the US wholesale price of conventional chicken, not the retail price (see comparison with conventional chicken).

Two caveats are recorded in Limits: the technology available in 2036 depends on investment and learning before then, and first-of-a-kind plants typically cost more than the nth-of-a-kind plant described here.

Alignment with other surfaces. The CM_01 beliefs question was reworded on 10 September 2026 to be unconditional and hypothetical as well. Its central part, A1, asks: “What will be the production-weighted average cost per kg of cultivated-chicken cell biomass in 2036, at a scale of at least 2,000 tonnes per plant per year?”, and adds: “If you imagine no plants producing at this scale, consider the hypothetical cost at this scale” (question changes). A1 and the model now share the unconditional, hypothetical framing, but differ in three ways that still need reconciling: A1 asks for a production-weighted average and explicitly not the cheapest plant, whereas the model targets the best available plant; A1 uses 2025 dollars, the model 2026 dollars; and A1 uses wet weight with 80% water as its reference, whereas the model now reports per kg dry cell mass (comparable with A1 via the wet basis or by multiplying by 0.20). The CM_01 Metaculus question keeps its own older wording.

Downstream processing: inside versus outside the estimate

“Downstream” covers two different groups of steps:

Step In the estimate? Currently modeled?
(a) Harvest, washing and dewatering to the standard solids basis Yes: needed to produce the standard unit Placeholder only: switch “Include harvest, washing and dewatering” (include_harvest_dewater), off by default, adds a lognormal cost with 5th–95th percentiles $2.50–15 per kg dry ($0.50–3.00 per wet kg at 20% solids; harvest_dewater_p5, harvest_dewater_p95). The range is not sourced; Katharina Brenner’s process model is the planned source for values. Under engine 2026-10-29.1, turning it on moved the default median from about $213 to $220 per kg dry, P(hybrid-product cost < $5/kg) from 1.0% to 0.5% and P(< $10/kg) from 23.6% to 21.1%. Since November 7 the default also includes recovery losses, a separate effect.
(b) Forming, texturization, blending and packaging No: outside the estimate Optional switch “Include forming in the hybrid product”, off by default (URL parameter include_downstream). Since engine 2026-11-07.2 it adds $0.5–2.5 per kg of final hybrid product (lognormal 5th–95th percentile, 2026 dollars) to the hybrid cost only. Source: GFI 2021, Plant-based meat: anticipating 2030 production requirements, Tables 4–5, which GFI calls order-of-magnitude estimates: a 70,000 t/yr high-moisture extrusion plant (capex $91.2M; non-ingredient operating cost $22.1M a year) works out at about $0.49 per kg in 2021 dollars, and a 7,000 t/yr plant ($18.2M; $9.5M a year) at about $1.70, with capital annualized at 13%. That is about $0.6–2.1 in 2026 dollars; GFI’s miscellaneous costs include packaging, so forming alone is slightly lower. Before, the switch added an unsourced $2–15 per wet kg of cells. Scaffolded whole cuts would cost more and are not modeled. With the switch on, the hybrid-dollar axes and the dry-cost equivalents on the threshold cards still use the formula without forming, so they are off by the forming cost (median about $1.10 per kg).

Elicit primitive drivers, not derived quantities

Respondents find it hard to give coherent beliefs about derived quantities such as overall cost per kg or litres of medium per kg, and differences in those numbers often reflect hidden differences in assumptions. The plan is to elicit beliefs about a short list (six to eight) of primitive drivers on which experts can genuinely differ, possibly conditional on process mode, and compute costs from them:

  1. Process mode (fed-batch, perfusion, continuous) and its feasibility at scale;
  2. Achievable cell density at harvest, on a stated basis;
  3. Nutrient yield, on a dry basis: grams of dry cells per gram of glucose (or of amino acids), and/or per litre of medium consumed;
  4. Growth-factor requirement per kg of cells (or per litre of medium);
  5. Input prices: basal medium per litre and growth factors per gram;
  6. Bioreactor cost per cubic metre of working volume (installed);
  7. optionally, plant scale and utilization, and the cost of capital.

Each respondent would also give one or two derived numbers, such as their overall cost per kg, as a consistency check against the cost computed from their primitive answers. Large gaps flag either a missing cost component or an assumption the respondent holds but did not state.

Medium per kg and density. The default media equation derives litres of medium per kg as 1000 / density × a media-use multiplier, so higher density mechanically means less medium per kg. Two independent reviewers argue instead that medium consumed per kg depends on nutrient yield (how many kilograms of cells the nutrients in a litre can support) and is roughly invariant to density: concentrating cells in less liquid does not reduce the nutrients they consume. Engine 2026-10-26.3 adds this as an option, media_use_model: "yield" (off by default). Since engine 2026-11-07.1 the same yield also acts as a floor under the default density rule (nutrient_floor, on by default; see physical consistency):

\[\text{L of medium per kg dry cell mass} = \frac{1000}{\text{nutrient yield (g dry cells per L of medium consumed)}}\]

Nutrient yield is drawn from a lognormal distribution with 5th–95th percentiles of 3–30 g dry cells per litre (nutrient_yield_p5, nutrient_yield_p95; 3–25 before November 7, 2026), median about 9.5. It implies about 33–330 litres per kg dry. The range is provisional: see physical consistency for the sources behind it. Density still sets reactor volume and capital cost. Yield is on a dry basis, so it does not depend on how much water the harvested paste carries. A yield per gram of glucose or amino acids, combined with the medium’s concentrations, is the next refinement; it is not yet in the engine, nor is conditioning on process mode. Under engine 2026-10-29.1 (before the floor and the losses) this rule gave 0.5% of draws under $5/kg of hybrid product (against 1.0% under the density rule), 25.1% under $10, and a median of $178 per kg dry (against $213); 252 of the 306 default draws under $5 rose above $5 under it. At that point most of the very cheapest simulated draws relied on the density-derived medium assumption. Since the nutrient floor the yield rule is never more expensive than the default; under engine 2026-11-09.1 it gives 0.5% of draws under $5/kg hybrid, 25.0% under $10 and a median of about $182 per kg dry (default: 0.14%, 12.0%, $289; under 2026-11-07.2, 0.4%, 22.4% and $191 against 0.14%, 11.6% and $276); the structure check has the details.


Model Formulas

This section presents the model structure top-down: starting with the final output and unpacking each component.

# Component Equation Key variables
1 Total Cost Unit Cost = VOC + CAPEX/kg + Fixed/kg + Downstream/kg —
2 VOC VOC = Media + GFs + Supplemental proteins + Other —
2a Media (1000/density) × multiplier × $/L density (g dry/L, giving $ per kg dry), media-use multiplier, $/L
2b Growth Factors GF Cost = gGF × PGF gGF = quantity (g/kg), PGF = price ($/g)
3 CAPEX/kg (CAPEX × CRF) / Output CRF, annual output
3a CRF r(1+r)n / ((1+r)n − 1) r=WACC, n=years
3b Scale CAPEXref × (Q/Qref)s s=0.6-0.9
4 Adoption bound(Pbase + k(m−0.5), 0, 1) k, m (maturity)

Click any link to jump to the detailed explanation.

1. Total Unit Cost

The model estimates unit production cost ($/kg) by summing four components under the default in-house production model:

\[\boxed{\text{Unit Cost} = \underbrace{\text{VOC}}_{\text{variable}} + \underbrace{\text{CAPEX}_{/\text{kg}}}_{\text{capital}} + \underbrace{\text{Fixed OPEX}_{/\text{kg}}}_{\text{overhead}} + \underbrace{\text{Downstream}_{/\text{kg}}}_{\text{optional}}}\]

VOC · CAPEX · Fixed OPEX

In CDMO mode (togglable in the dashboard), the capital and overhead terms are replaced by a contract toll fee:

\[\boxed{\text{Unit Cost (CDMO)} = \underbrace{\text{VOC}}_{\text{variable}} + \underbrace{\text{CDMO Toll}_{/\text{kg}}}_{\text{contract fee}} + \underbrace{\text{Downstream}_{/\text{kg}}}_{\text{optional}}}\]

The CDMO toll is sampled from a lognormal distribution (default p5 = $4/kg, p95 = $40/kg) representing the range of per-kg fees a future food-grade contract manufacturer might charge. The toll is expressed as $/kg of cultured cell mass — the all-in contract manufacturing fee per kilogram of finished cells delivered. This is the standard reporting basis for TEA comparisons; it bundles the CDMO’s CAPEX, fixed overhead, and margin, and excludes the customer’s own input costs (media, growth factors). See the CDMO mode section below for a full description.

Note

Output basis — factory-gate dry cell mass (since engine 2026-10-26.4): Costs are expressed per kg of dry cell mass, with cost per kg protein and the cost per kg of a hybrid product (25% cells at chicken-meat moisture, 75% plant-based ingredients at $3/kg) alongside; the earlier per-wet-kg output is available with cost_basis: "wet". Wet-basis sources and the model’s built-in wet-basis priors are converted at solids_fraction (0.20). See why the basis matters. The worked examples in the formula sections below were written per wet kg with wet densities; per kg dry at 20% solids, multiply litres and dollars per kg by 5 and divide densities by 5.

Includes: Basal media, growth factors, bioreactor and facility capital (annualized), plant overhead, utilities. Harvest, washing and dewatering belong here too but are not yet modeled explicitly.

Excludes: Forming, texturization/scaffolding, blending with plant-based ingredients, packaging, distribution, R&D amortization, regulatory costs.

Alignment with other surfaces: The CM_01 beliefs question is now unconditional and hypothetical. Its central part (A1) asks: “What will be the production-weighted average cost per kg of cultivated-chicken cell biomass in 2036, at a scale of at least 2,000 tonnes per plant per year?”, considering hypothetical production if no plants operate at that scale (question changes). The model shares that framing but targets the best available plant in 2026 dollars, whereas A1 asks for a production-weighted average in 2025 dollars; see target quantity. Harvested wet biomass is also not automatically a standardized edible ingredient.

See our TEA comparison page for how this compares to published TEA figures, which often differ in output basis (hybrid products, dry weight, retail price).

What does each term mean?
Term Description Typical range
VOC Variable operating costs — inputs that scale with production $5–100/kg
CAPEX/kg Annualized capital costs (bioreactors, facilities) $1–20/kg
Fixed OPEX/kg Labor, maintenance, overhead $1–10/kg
Forming per kg of product Blending and shaping the hybrid product (outside the cell-mass estimate; added to the hybrid cost only) $0.5–2.5 per kg of product if enabled (GFI 2021; before November 7, 2026 an unsourced $2–15 per kg of cells)

2. Variable Operating Costs (VOC)

VOC is the sum of four input categories in separable mode:

\[\text{VOC} = \text{Media} + \text{Growth Factors} + \text{Supplemental proteins} + \text{Other}\]

Note: even when modeled separately, micronutrient costs are typically <$1/kg — a minor contributor that doesn’t move the total much. The change below is primarily about avoiding double-counting and aligning with the literature. (Updated April 2026.)

Earlier versions of this model carried a separate food-grade micronutrients line (vitamins, minerals, trace salts). External review flagged that this double-counted basal media — the model already described media as providing “amino acids, glucose, vitamins” — and that the range (0.1–10 g/kg) was not coherent with the literature. O’Neill et al. (2021) treat vitamin and mineral sourcing as a relatively low-cost issue, while Pasitka et al. (2024) imply roughly 0.15 kg vitamins/minerals per kg wet biomass — orders of magnitude above our old slider. We now fold basal micronutrients into media $/L and separately model supplemental recombinant proteins (insulin, transferrin, albumin). Their current per-kg priors remain provisional.

2a. Media Cost

Media is the liquid nutrient broth that feeds growing cells. Media cost depends on how much liquid you need per kg of meat:

\[\text{Media Cost} = \underbrace{\left(\frac{1000}{\text{density}}\right)}_{\text{nominal L per kg wet cells}} \times \underbrace{\text{multiplier}}_{\text{media-use multiplier (net)}} \times \underbrace{\text{price}}_{\text{\$/L}}\]

Variable definitions:

  • Cell density (g/L): Final concentration of cells at harvest. Higher density = less media needed per kg. The 1000 converts g/L to L/kg (since 1 kg = 1000 g).
  • Media-use multiplier (net): A dimensionless ratio equal to net fresh media consumed per kg of cells divided by the nominal reactor-fill volume 1000/density. Batch systems sit at ≈1, perfusion at ≈2–3, and explicit recovery and reuse can support values below 1, provided nutrient replacement is costed. This is a bundled parameter — it’s not a literal count of reactor-volume changes. See the Learn page on media-use mechanisms for the accounting conditions needed to justify values below 1, or the simulate() source code for the legacy variable name (media_turnover).
  • Price ($/L): Cost per liter of basal media (amino acids, glucose, vitamins, minerals, trace salts — excludes growth factors and supplemental recombinant proteins, which are modeled as a separate cost component). Some literature sources report “complete medium” costs that include growth factors; our model separates these to allow independent uncertainty analysis.

Example calculation:

  • Cell density: 50 g/L → need 1000/50 = 20 L per kg
  • Media-use multiplier: 3× (perfusion system) → 20 × 3 = 60 L total per kg
  • Media price: $0.50/L (hydrolysates) → 60 × 0.50 = $30/kg

Why does density vary? Achievable density depends on cell type, bioreactor design, and operating mode. Batch cultures typically reach 30–50 g/L; perfusion cultures with optimized conditions can reach 100–200 g/L (Humbird 2021).

Hydrolysates vs. pharma-grade amino acids:

Scenario Price range ($/L) What it means Source
With hydrolysates $0.20 – $1.20 Amino acids from digested plant/yeast proteins O’Neill et al. 2021, Believer 2024
Pharma-grade amino acids $0.50 – $2.50 Individual purified amino acids GFI amino acid report 2025

Hydrolysates cost less because they’re produced from commodity feedstocks via enzymatic digestion, rather than synthetic chemistry or purification.

Is $/L meaningful if density varies?

Yes. Media cost ($/L) refers to the cost of preparing one liter of basal medium (excluding separately costed proteins) — the liquid that fills the bioreactor. This cost is relatively fixed for a given formulation, regardless of how many cells you eventually grow in it.

What varies is $/kg meat, which depends on:

  • How dense the cells grow (cell density, g/L)
  • The effective media-use multiplier (bundling perfusion, recycling, and harvest concentration)

A $1/L medium costs $60/kg meat at 50 g/L density × 3 multiplier, but only $15/kg meat at 200 g/L × 1 multiplier. The $/L is the input; $/kg is the output.

Media Cost per kg at Different Cell Densities

Since both $/L and cell density matter, here’s how they combine (assuming multiplier = 3):

Cell density Liters/kg @ $0.50/L (hydrolysates) @ $2.00/L (pharma-grade)
30 g/L 100 L $50/kg $200/kg
50 g/L 60 L $30/kg $120/kg
100 g/L 30 L $15/kg $60/kg
200 g/L 15 L $7.50/kg $30/kg

Key insight: Doubling cell density cuts media cost in half — density improvements are as valuable as halving media price.

2b. Growth Factor Cost

Growth factors are signaling proteins that tell cells to proliferate. They are the most price-volatile component.

Key growth factors used in cultured meat:

Abbreviation Full name Function Why it’s needed
FGF-2 Fibroblast Growth Factor 2 Promotes cell proliferation Keeps cells dividing; prevents differentiation
IGF-1 Insulin-like Growth Factor 1 Cell growth and survival Supports metabolism and prevents cell death
TGF-β Transforming Growth Factor β Differentiation control Triggers muscle fiber formation at end of culture

Growth factor cost equation:

\[\text{GF Cost} = \underbrace{g_{\text{GF}}}_{\text{grams/kg meat}} \times \underbrace{P_{\text{GF}}}_{\text{\$/gram}}\]

How GF Cost Feeds into Total Cost

Growth factor cost is one of the four components of Variable Operating Costs:

\[\text{VOC} = \text{Media} + \underbrace{\text{Growth Factors}}_{\text{this section}} + \text{Supplemental proteins} + \text{Other}\]

And VOC feeds into total unit cost (see Section 1).

Two Ways to Explore GF Uncertainty

The dashboard provides two controls for growth factor prices that work together:

Control What it does When to use
Binary toggle (Bernoulli) Flips between “cheap” and “expensive” price regimes Default Monte Carlo — samples from uncertain future
Progress slider Manually sets a point between current and target prices Scenario analysis — “what if we’re 50% of the way there?”

How they interact: The adoption draw selects the regime. The progress slider scales prices within both regimes and does not disable that draw. At 50% progress the price multiplier is 0.1 (a 90% reduction), not a 50% price reduction.

The Progress Slider Formula

The slider interpolates between current prices (0%) and target prices (100%):

\[P_{\text{GF}} = P_{\text{current}} \times (0.01)^{\text{progress}}\]

In plain text: GF Price = Current Price x (0.01)^progress, where the exponent “progress” ranges from 0 (no progress) to 1 (full breakthrough).

How to read this formula:

  • \(P_{\text{current}}\) = today’s growth factor prices (the starting point)
  • \(\text{progress}\) = a value from 0 to 1 (the slider position, where 0 = 0% and 1 = 100%)
  • \((0.01)^{\text{progress}}\) = the price multiplier, which shrinks as progress increases

Why the base 0.01? This scenario mapping assumes a 100-fold reduction from each regime’s starting price at full progress. It is a modeling choice, not a fitted time trend or a protein-specific price forecast.

Progress slider Price multiplier Intuition
0% × 1.00 Today’s prices
25% × 0.32 ~3× cheaper
50% × 0.10 ~10× cheaper
75% × 0.032 ~30× cheaper
100% × 0.01 ~100× cheaper (targets achieved)

The Binary “Cheap vs. Expensive” Toggle

At every progress setting, an adoption draw selects between two regimes. The base probability defaults to 50% and is then maturity-adjusted. The following price intervals use the default 50% progress:

“Expensive” regime (limited progress):

Parameter Range Source
Quantity 0.001 – 0.006 g/kg Humbird formulation across plausible media-use range; no breakthrough-driven usage reduction
Price $500 – $50,000/g Current FGF-2 ~$50,000/g, TGF-β up to $1M/g (GFI analysis)

“Cheap” regime (breakthrough achieved):

Parameter Range Source
Quantity 0.0005 – 0.002 g/kg ≈3× usage reduction from thermostable variants, autocrine lines, recycling
Price $10 – $1,000/g GFI industry targets — studies suggest $4/g achievable

Why binary, not continuous? The breakthrough technologies are substitutes:

  • Autocrine cell lines — cells produce their own FGF2 → GF cost ≈ $0
  • Plant molecular farming — target $1-10/g
  • Precision fermentation — target $10-100/g

If any one succeeds, the industry shifts to the cheap regime. We’re asking “will at least one breakthrough work?” — a yes/no question.

Why not model each technology separately?

The objection: “Each breakthrough technology has independent effects on GF cost. Why collapse them into a single binary switch?”

Our reasoning:

  1. Substitutes, not complements: You only need one cheap GF source. If autocrine lines work, you don’t also need plant farming. Multiple successes don’t stack — the first success captures most of the value.

  2. Correlated outcomes: The technologies share underlying capabilities (protein engineering, regulatory approval for novel food ingredients, scale-up expertise). If one succeeds, others are more likely to succeed too. Treating them as independent would understate the probability of at least one working.

  3. Parsimony: Modeling 4+ independent technologies with separate probabilities, partial success states, and interactions would add many parameters without clear empirical grounding. The binary approach captures the key decision-relevant question: “Will GF costs be a dealbreaker or not?”

What we lose: The binary model can’t represent “partial success” scenarios where, say, precision fermentation reaches $50/g (10× improvement but not full breakthrough). The progress slider partially addresses this for scenario analysis.

Alternative approach (not implemented): A continuous model could sample GF price from a mixture distribution — e.g., 50% chance of $1-100/g, 50% chance of $500-50,000/g. This would be mathematically equivalent but less interpretable.

3. Annualized Capital Costs

Capital costs are annualized using the Capital Recovery Factor (CRF):

\[\text{CAPEX}_{/\text{kg}} = \frac{\text{Total CAPEX} \times \text{CRF}}{\text{Annual Output (kg)}}\]

Where CRF converts a lump sum to annual payments:

\[\text{CRF} = \frac{r \cdot (1+r)^n}{(1+r)^n - 1}\]

Variables in this formula:

  • \(r\) = WACC (weighted average cost of capital) — your cost of financing
  • \(n\) = asset life in years — how long the equipment lasts
What is CRF? (Brief explanation)

CRF converts a one-time capital cost into an equivalent annual payment — the “annual rent” on your facility. Higher financing cost (WACC) or shorter asset life → higher CRF → higher $/kg. See Wikipedia: Capital recovery factor for derivation.

WACC (\(r\)) Asset Life (\(n\)) CRF Annual payment on $100M
10% 15 years 13.1% $13.1M/year
15% 10 years 19.9% $19.9M/year
20% 8 years 26.1% $26.1M/year (Humbird 2021)

Nameplate capacity, utilization, and overhead

Let \(Q_N\) be nameplate kg/year, \(u\) utilization, \(X\) wet biomass g/L, and \(t\) the effective production time in days:

\[Q = Q_N u, \qquad P = \frac{X/1000}{t}, \qquad V = \frac{Q_N}{365P}.\]

Installed volume \(V\) is sized to nameplate output, not reduced when utilization falls. Annualized capital is divided by actual output \(Q\). Annual fixed overhead is

\[F = F_{ref}\left(\frac{Q_N}{20\times10^6}\right)^s, \qquad F_{ref} = c_{ref}(20\times10^6)(0.9),\]

where \(c_{ref}\) is uniform $1–6/kg and \(s\) is uniform 0.6–1.0. Thus the reference plant’s overhead is calibrated at 90% utilization, and idle capacity raises overhead per kg. Labor flexibility and startup ramp are still omitted. Since November 7, 2026, medium and other inputs spent on failed runs are covered on average by the default loss factor (physical consistency).

The production-time range (p5–p95 0.5–5 days) is a scenario assumption. For continuous culture it represents an effective biomass replacement time, not the duration of an entire campaign. This proxy needs replacement with measured harvest productivity and process-specific cleaning, bleed, and retention data.

4. Technology Adoption & Maturity

The baseline uses a shared maturity factor to couple several developments. This is an uncalibrated structural assumption. Cheap growth factors and expensive financing can coexist; Advanced now offers independent maturity channels to test how results depend on the shared factor. Each channel keeps its original marginal distribution. Other process and accounting dependencies remain.

Why should these be correlated? The underlying logic is not that technology causes cheaper financing or vice versa. Rather, both are driven by a common set of enabling conditions – investor confidence, regulatory clarity, talent availability, and demonstrated unit economics. In a world where the cultured meat industry develops well by the projection year, we would expect both technological breakthroughs and improved financing terms, because both flow from the same underlying industry momentum. See the detailed explanation below for the full causal story.

The Maturity Factor (\(m\))

The maturity factor is a single number between 0 and 1 representing overall industry development:

  • \(m = 0\): Nascent industry — early R&D stage, no scale-up
  • \(m = 0.5\): Moderate development — pilots running, some commercial activity
  • \(m = 1\): Mature industry — established supply chains, proven technology

Each simulation draws \(m\) from a Beta distribution (default: mean 0.5, stdev 0.2).

How Maturity Adjusts Adoption Probabilities

Each technology’s adoption probability is adjusted based on the maturity draw. The key variables are \(k\) (sensitivity coefficient – how strongly maturity affects this technology) and \(m\) (the maturity factor – overall industry development level):

\[P_{\text{adopted}} = \text{bound}\Big(P_{\text{base}} + k \cdot (m - 0.5),\; 0,\; 1\Big)\]

Variable definitions (all terms in the equation above):

Variable Meaning Typical values
\(P_{\text{base}}\) Base adoption probability set by the user via slider 0.50–0.75
\(k\) Sensitivity coefficient — how strongly maturity affects this technology’s adoption 0.20–0.30
\(m\) Maturity factor — overall industry development level, drawn from Beta distribution 0–1 (mean ~0.5)
\(\text{bound}(\cdot, 0, 1)\) Clips the result to valid probability range [0, 1] —

Intuition for \(k\): When \(k = 0.25\), a one-standard-deviation shift in maturity (\(\Delta m = 0.2\)) changes the adoption probability by \(0.25 \times 0.2 = 0.05\) (5 percentage points).

Example: If hydrolysates have \(P_{\text{base}} = 0.75\) and \(k = 0.25\):

  • In a “bad world” (\(m = 0.2\)): \(P = 0.75 + 0.25 \times (0.2 - 0.5) = 0.675\)
  • In a “good world” (\(m = 0.8\)): \(P = 0.75 + 0.25 \times (0.8 - 0.5) = 0.825\)
What does “bound” mean?

bound(x, 0, 1) ensures the result stays between 0 and 1. Also called “clip” or “clamp” in programming.

  • If x < 0, return 0
  • If x > 1, return 1
  • Otherwise, return x

This prevents impossible probabilities like -0.2 or 1.3.

What Gets Correlated — And How It Maps to Equations

The maturity factor simultaneously adjusts multiple components. Here is how each connects to the equations above:

Component Effect when \(m\) is high Equation affected Justification
Technology adoption rates Higher \(P_{\text{adopted}}\) for hydrolysates, cheap GFs, food-grade \(P_{\text{adopted}} = \text{bound}(P_{\text{base}} + k(m-0.5), 0, 1)\) — Section 4 More R&D investment, proven pilots
Custom reactor share More facilities use food-grade equipment Affects CAPEX\(_{\text{ref}}\) via the custom reactor ratio — CAPEX section Supply chain development
WACC (financing cost) Lower \(r\) in the CRF formula \(\text{CRF} = \frac{r(1+r)^n}{(1+r)^n - 1}\) — Section 3 Reduced investor risk perception
Why should technology success correlate with cheaper financing?

This is not an assumption that technology causes cheaper financing. Rather, both are symptoms of the same underlying cause: industry development.

The causal story:

  1. If the cultured meat industry develops well by 2036, we’d expect:
    • More companies reaching commercial scale → proven unit economics
    • Successful pilots → reduced technology risk
    • Regulatory approvals → reduced market risk
    • Growing consumer acceptance → larger addressable market
  2. All of these reduce investor risk perception, which lowers WACC:
    • Early-stage ventures: 15–25% WACC (high risk premium)
    • Proven technology, growing market: 8–12% WACC (approaching food industry norms)
  3. The same favorable conditions that enable technology adoption also enable cheaper financing.

What the model is NOT saying:

  • ❌ “Cheap growth factors will magically make financing cheaper”
  • ✅ “Worlds where GF technology succeeds are also worlds where the industry is more developed, which independently leads to cheaper financing”

This is a latent variable approach: \(m\) represents unobserved industry development that affects multiple outcomes.

Why this matters: In a world where growth factor technology succeeds, it’s more plausible that: 1. Other technologies also succeed (shared R&D ecosystem) 2. Investors see lower risk (proven technology → cheaper capital) 3. Custom reactor suppliers exist (developed supply chain)

The maturity factor captures this “worlds come in bundles” intuition without requiring us to specify every pairwise correlation.

Limitation: This approach assumes all technologies develop together. In reality, some might succeed while others fail (e.g., cheap GFs but slow bioreactor scale-up). A more sophisticated model could specify different correlation structures, but this adds complexity without clear empirical grounding.

Could technologies develop independently? (Addressing correlation assumptions)

The objection: “Some forms of technical development might go together, and others less so. For example, growth factor breakthroughs might happen via biotech R&D that has nothing to do with bioreactor manufacturing.”

Valid scenarios this model doesn’t capture well:

Scenario What happens Model behavior
GF breakthrough, slow scale-up Precision fermentation works, but bioreactor suppliers don’t materialize Model assumes correlated — if GFs are cheap, custom reactors are likely
Scale-up success, expensive GFs Large bioreactors get built, but GF tech stalls Model assumes correlated — large scale implies cheap GFs
Regional divergence US gets cheap GFs, EU gets cheap reactors Model assumes global correlation

Why we use a single maturity factor anyway:

  1. Empirical correlation is plausible: Companies that solve GF problems often also have bioreactor expertise (vertical integration is common in this industry).

  2. Shared enabling conditions: Both GF tech and bioreactor scale-up benefit from investor confidence, regulatory clarity, and talent availability — all of which move together.

  3. Parsimony: Specifying a full correlation matrix (hydrolysates × GFs × reactors × WACC) would require ~10 pairwise correlations with no empirical data to calibrate them.

Sensitivity check: Users can explore partially-correlated scenarios by:
  • Setting maturity high but technology probabilities low (tests “scale-up succeeds, tech fails”)
  • Setting maturity low but one technology probability high (tests “isolated breakthrough”)

This manual exploration partially compensates for the model’s correlation structure.

5. Monte Carlo Simulation

The model runs 30,000 simulations, each time:

  1. Draw random values for all uncertain parameters
  2. Draw technology adoption outcomes (Bernoulli coin flips)
  3. Calculate unit cost for that scenario
  4. Collect results into a distribution

This produces the histograms and probability thresholds shown in the dashboard.


The response to Reports 5 and 6 documents three optional choices in Advanced:

  • Independent maturity channels: separate Beta draws for hydrolysates, GF adoption, supplemental proteins, WACC, and equipment, with the baseline marginal parameters and coefficients.
  • Direct fresh-media intensity: sample L/kg from a user-specified p5–p95 lognormal, replacing \((1000/D)T\). Initial 8–60 L/kg endpoints are an illustrative stress range, not fitted evidence. Density still determines reactor volume.
  • Media-linked GF dose: fresh L/kg × concentration in mg/L / 1000 × regime dose fraction. Initial concentration 0.102 mg/L reuses the earlier formulation assumption; cheap-regime fraction 0.4 approximates the earlier median-dose ratio. Both are editable, provisional assumptions. Since November 9, 2026 this is the default (correction); the separate g/kg prior is the alternative.

Direct media or GF $/kg priors override their respective equations. Complete-medium accounting includes proteins once and overrides separate GF costs. The controls and comparison report these precedence rules. The Simple view fixes all three structures at their baseline choices; its custom priors use the same fitter as Advanced.

Each Monte Carlo draw is a hypothetical plant/process scenario. The model does not simulate an industry output-weighted average, a frontier plant, or the probability of commercial scale. Source dollars remain unnormalized. The October 2026 least-cost mode selection option makes only the process choice a frontier choice.

Expert Priors: Customizing Uncertainty Ranges

The Simplest Model includes a collapsible “Set my own uncertainty ranges” panel that lets you override the model’s built-in distributions for the three biggest cost drivers. This section explains what that means and how to use it.

What the model’s built-in ranges represent

Every parameter in the model is drawn from a probability distribution — not a single number. For example, cell culture media cost is drawn from a lognormal distribution with p5 ≈ $0.5/L and p95 ≈ $2.5/L (for pharma-grade media). These ranges come from the published TEA literature and represent the developers’ uncertainty about where costs currently are and where they’ll be by 2036.

But you may have a very different view. An industry expert who has negotiated media contracts might know costs are reliably in a narrower range. A skeptic might think the uncertainty is far wider. The expert priors feature lets you substitute your own ranges.

What p10 / p90 means

When you enter a p10 and p90 for a parameter, you’re saying:

“I think there’s only a 10% chance the true value will be below my p10, and only a 10% chance it will be above my p90.”

In other words, your 80% credible interval — you’d be genuinely surprised if the outcome fell outside this range. This is the same format the beliefs form uses for CM_13, CM_14, and CM_16.

Illustrated examples

Example: Cell density (g/L)

Expert type p10 p90 What it implies
Optimistic TEA view 25 120 Perfusion-scale densities are achievable
Conservative operator 5 35 Fed-batch dominates; density gains are slow
Model default (mixed modes) ~7 ~110 Weighted by process mode probabilities

Higher density reduces required reactor volume. Under the baseline media equation it also reduces fresh L/kg; direct fresh-media mode removes that imposed relationship.

Example: Media cost ($/kg biomass)

Expert type p10 p90 What it implies
Hydrolysate optimist 3 30 Cheap protein hydrolysates dominate
Pharma-grade pessimist 20 200 High-purity media remains necessary
Model default ~5 ~120 Regime-weighted by hydrolysate slider

Note: specifying media cost $/kg directly bypasses the hydrolysate slider — you’re asserting your net belief about the combined media cost, whatever the reason.

Example: Growth factor cost ($/kg biomass)

Expert type p10 p90 What it implies
Breakthrough optimist 0.5 10 Autocrine lines or fermentation GFs work
Current-tech pessimist 15 200 No scalable cheap GF route by 2036
Model default depends on GF slider — Weighted by P(breakthrough) slider

Setting GF cost $/kg directly bypasses the breakthrough probability slider — you’re asserting your overall cost view, combining your probability of a breakthrough with what costs look like in each regime.

How the distribution is constructed

Both views accept p10, an optional p50, and p90. With p50 supplied, a two-piece lognormal preserves all three population quantiles. Without p50, the previous two-endpoint lognormal remains, with median \(\sqrt{p_{10}p_{90}}\). Neither choice determines the tails from evidence. Equal quantiles allow point masses; invalid or incomplete rows retain the last valid settings and show an explanation.

The September 17 response gives the formula, provenance (Report 5), validation rules, and example 8/20/100. Finite simulation samples approximate these population quantiles.

Interaction with other sliders

When you override a cost driver:

  • Media cost $/kg override — replaces the entire media cost calculation; the hydrolysate slider and density slider no longer affect media cost (cell density still affects CAPEX through bioreactor volume)
  • GF cost $/kg override — replaces the entire GF cost calculation; the GF breakthrough slider no longer affects GF cost
  • Cell density override — replaces all process-mode-specific density sampling; affects CAPEX through bioreactor volume and, under the baseline density-derived structure, media cost through L/kg; direct fresh-media intensity removes the latter dependence

Overrides stack: you can set all three simultaneously to see what your specific combination of beliefs implies for the overall cost distribution.

Connection to the beliefs form

These controls concern quantities related to the beliefs form. Before transferring a response, check whether the question asks for the same accounting scope and a representative plant or a frontier maximum:

Override parameter Beliefs form question
Media cost $/kg biomass CM_14: cell media cost per kg CM output
GF cost $/kg biomass CM_13: growth factor cost per kg of biomass
Cell density g/L CM_16: achievable cell density in a 20,000-L bioreactor

If you’ve already filled in the beliefs form with a median and 80% CI for these questions, you can enter them here only when their definitions match to see what they imply for the full cost distribution — closing the loop between elicitation and model exploration.


Parameter Definitions

This section defines all model inputs. Each parameter links back to where it appears in the cost equations.

Basic Parameters

Parameter Symbol Distribution Default Unit Used in
Plant capacity \(Q\) Lognormal(p5, p95) 5–50 kTA/year CAPEX/kg, Fixed OPEX
Utilization \(u\) Beta(mean, sd) 0.90 fraction Annual output = \(Q \times u\)
Maturity index \(m\) Beta(mean, sd) 0.50 0–1 Technology adoption, WACC adjustment

Why these distributions?

  • Lognormal for plant capacity: Capacity is positive and right-skewed (most plants are medium-sized, few are very large). Lognormal naturally captures this. The p5/p95 parameterization lets us specify “90% of plants are between 5 and 50 kTA.”
  • Beta for utilization and maturity: Both are bounded between 0 and 1. Beta distributions are flexible for modeling proportions and can be parameterized with mean/stdev.

These choices follow standard practice in techno-economic assessments (Humbird 2021, Risner et al. 2021). Humbird 2021 uses lognormal distributions for cost inputs and triangular distributions for some parameters; we use lognormal throughout for positive-valued quantities because it avoids the sharp bounds of triangular distributions. The Bernoulli draws for technology adoption (hydrolysates, food-grade, cheap GFs) reflect discrete yes/no events rather than continuous uncertainty — see Section 4 for details.

Technology Adoption

Each technology has a base adoption probability, adjusted by the maturity factor:

\[ P_{\text{adopted}} = \text{bound}(P_{\text{base}} + k \times (m - 0.5), 0, 1) \]

Technology Base Prob \(k\) Effect on cost Notes
Hydrolysates 75% 0.25 Reduces media $/L by ~70% Plant/yeast protein digests replace purified amino acids
Scalable GF technology 50% 0.25 Switches to “cheap” GF prices (see price tables) Any breakthrough: autocrine, plant farming, precision fermentation. See binary toggle rationale

Note: an earlier version of this table included a “Food-grade micronutrients” adoption parameter (65% base prob). This was removed — vitamins, minerals, and trace salts are now folded into basal media $/L. See the model change log for the full rationale.

Process Intensities

These parameters determine how much media is needed per kg of meat. They feed directly into the Media Cost equation:

\[\text{Media Cost} = \frac{1000}{\text{cell density}} \times \text{media-use multiplier} \times \text{price per L}\]

Parameter Range (p5–p95) Unit Definition Where in cost equation
Cell density 6–40 (override range; 30–200 g wet/L at 20% solids) g dry cells/L Final biomass concentration at harvest Denominator of \(\frac{1000}{\text{density}}\) — higher density → fewer liters per kg dry
Cycle time 0.5–5 days Duration of one production batch Affects annual throughput (and thus CAPEX/kg via $/kg = CAPEX × CRF / output), not media cost directly
Media-use multiplier 0.5–3.0 (was 1–10 before April 2026) × Net fresh media consumed per kg of cells, divided by the nominal reactor-fill volume (1000/density) Multiplier on liters/kg — see change log below

What changed. The parameter previously labeled “Media turnover” with a default p5–p95 range of 1–10× was renamed to “Media-use multiplier” and narrowed to 0.5–3.0×. The internal code variable is still media_turnover for git-history stability, but the user-facing name and semantics are new.

Why the rename. “Turnover” in biology/lab usage literally means “how many times the media was changed,” which implies a hard floor at 1. The cost model, however, uses the parameter as a bundled effective media-use ratio that includes real mechanisms producing values below 1 — explicit media recovery and reuse, with replacement nutrients costed separately or included consistently. “Media-use multiplier” signals the bundling and requires a stated process interpretation for sub-1 values. See Learn: media-use mechanisms for the full walkthrough of the three mechanisms.

Why the range change. GFI’s 2023 recombinant-protein report assumes 8–13 L media per kg of meat as its cost-competitive target. At 60–90 g/L cell density, the nominal reactor-fill volume is 11.1–16.7 L/kg, which back-solves to a multiplier of ≈0.48–1.17. The old floor of 1.0 mechanically excluded the lower end of the GFI range at those particular densities — the dashboard simply could not represent the “cost-competitive future” scenario. The p5 of 0.5 permits those scenarios; it is not a hard physical floor. A lognormal distribution also samples below its p5.

Values in the 5–10× region remain conceivable for heavily media-intensive processes but are now a stress-test region rather than the default sampled range.

Legacy name. The media_turnover variable in simulate() still uses the old name because renaming it would churn all the sensitivity-analysis wiring for no behavioral benefit. Treat media_turnover as a legacy identifier for the media-use multiplier.

Basal micronutrients (vitamins / minerals / trace salts)

Not modeled as a separate line item. Basal vitamins, minerals, and trace salts are included inside media $/L along with amino acids and glucose. See the callout under Section 2 (VOC) for why the previous standalone “food-grade micronutrients” term was removed, and the model change log on the main page for the full rationale.

Supplemental proteins are now included. In separable mode the model adds a low-cost regime (p5–p95 $0.03–0.60/kg) or a higher-cost regime ($0.50–4.00/kg), selected by a maturity-adjusted adoption probability (base default 70%). These are provisional per-kg assumptions, not estimates derived from an explicit formulation or supplier-price dataset. Complete-medium mode includes them within the media line, so the separate cost is zero.

Growth Factor Price Scenarios

Price intervals below use 50% progress. At 0% they are ten times higher; at 100% they are ten times lower. These are p5–p95 marginal intervals, not hard bounds.

These parameters feed into the GF Cost equation: GF Cost = \(g_{\text{GF}}\) (quantity) × \(P_{\text{GF}}\) (price).

Since November 9, 2026 the quantity is not drawn from the ranges below by default. It follows from medium use: \(g_{\text{GF}}\) = fresh L/kg × 0.102 mg/L / 1000, × 0.4 in the cheap regime (correction). The quantity ranges in the tables below (per wet kg) apply only when Growth-factor dosage is set to the separate g/kg prior; the price ranges apply in both cases.

The model uses two discrete price scenarios, selected by a Bernoulli draw (see why binary above):

Scenario Quantity (g/kg) Price ($/g) What it represents Source
Scalable tech achieved 0.0005 – 0.002 $10 – $1,000 At least one breakthrough reaches commercial scale; usage reduced ~3× via thermostable variants / autocrine / recycling GFI 2024 targets
Limited progress 0.001 – 0.006 $500 – $50,000 Humbird formulation (FGF 0.1 mg/L + TGFβ 0.002 mg/L) × 8–60 L/kg media use, no step-change GFI 2023 recombinant-protein report; Humbird 2021

Earlier model versions used a very broad 0.0001–0.02 g/kg range with no specific citation. That range was tightened to align with primary sources:

Humbird formulation (as reproduced in GFI 2023 recombinant-protein analysis): \[\underbrace{1.0 \times 10^{-4}\ \text{g/L}}_{\text{FGF}} + \underbrace{2.0 \times 10^{-6}\ \text{g/L}}_{\text{TGF}\beta} \approx 1.02 \times 10^{-4}\ \text{g/L true GF}\]

Media-use assumptions from the same report and the cell-density × media-use-multiplier math on the main page:

Media use (L/kg) True-GF quantity (g/kg)
8 L/kg (GFI efficient-future scenario low) ≈0.00082
13 L/kg (GFI efficient-future scenario high) ≈0.00133
60 L/kg (less-optimized, e.g. 30 g/L density × 1.8× media-use multiplier) ≈0.00612

Empirical cross-check. Pasitka et al. (2024)’s ACF chicken TEA implies ≈0.00187 g growth factor/kg wet biomass, which sits comfortably inside this band.

The “cheap” regime (0.0005–0.002 g/kg) models approximately a 3× usage reduction beyond the Humbird baseline, reflecting thermostable FGF2-G3 variants (longer half-life → less replenishment), autocrine cell lines (cells producing their own FGF), recycling systems, and polyphenol substitution.

The “expensive” regime (0.001–0.006 g/kg) is the Humbird formulation across the plausible media-use range, with no breakthrough-driven usage reduction.

Outside the default. Values of 0.01–0.02 g/kg remain conceivable for wildly less-optimized processes (much more complex media formulations, much higher media use), but are no longer part of the default sampled range and should be treated as a stress test.

Why different quantities too? Breakthrough technologies often reduce both price and required amount:

  • Thermostable variants (e.g., FGF2-G3 from Enantis) have 20-day half-life vs. hours, reducing dosing frequency
  • Autocrine lines produce GFs continuously, maintaining optimal concentrations
  • Recycling systems recover GFs from spent media

Breakthrough technologies (any one could trigger “cheap”):

Technology Mechanism Current status Target price
Autocrine cell lines Cells engineered to produce own FGF2 Proof of concept ~$0/g
Plant molecular farming GFs expressed in tobacco, rice Pilot scale $1–10/g
Precision fermentation Microbial production at scale Scaling up $10–100/g
Small molecule substitutes Chemicals that activate GF receptors Research <$1/g

Capital Cost Parameters

This section explains how capital costs (bioreactors, facilities) are calculated. The key equation is:

\[\text{CAPEX}_{/\text{kg}} = \frac{\text{Total CAPEX} \times \text{CRF}}{\text{Annual Output}}\]

Where Total CAPEX depends on plant size and equipment type, and CRF converts a lump sum to annual payments (see Section 3 for the CRF formula).

Reference Scale: Why 20 kTA?

kTA = kilo-tonnes per annum (thousands of metric tons per year). So 20 kTA = 20,000 tonnes/year of cultured meat output. For context, a single large conventional chicken processing plant handles ~200 kTA, so 20 kTA is a modest commercial facility.

The model defines CAPEX at a reference scale of 20 kTA, then adjusts for actual plant size using economies of scale. We use 20 kTA because:

  1. It matches the scale in Risner et al. (2021), enabling direct comparison
  2. It represents a plausible first commercial-scale facility (current pilots are <1 kTA)
  3. Published cost estimates are most reliable around this scale — extrapolating far beyond it introduces large uncertainty

How the reference scale is used: We define “CAPEX at 20 kTA” as our baseline, then scale up or down using the economies of scale formula below. This is standard practice in chemical engineering cost estimation (“factored estimation” or “Lang factor” method).

Why pharma-grade appears here: The baseline CAPEX parameter ($5-25/kg capacity) is anchored to published estimates that assume pharmaceutical-grade equipment (316L stainless steel, full cleaning validation). Most TEAs use pharma-grade as the starting point because that is what current facilities use. The model then applies a custom reactor ratio (0.15–0.55 since November 7, 2026; 0.35–0.85 before) to simulate the cost reduction if food-grade equipment is adopted instead — so pharma-grade is the pessimistic baseline, not an assumption about the future.

Economies of Scale: The \(K \sim Q^s\) Relationship

Capital costs don’t scale linearly with capacity. A plant 10× larger doesn’t cost 10× more — it benefits from economies of scale:

\[\text{CAPEX} = \text{CAPEX}_{\text{ref}} \times \left(\frac{Q}{Q_{\text{ref}}}\right)^s\]

Where:

  • \(K\) = total capital cost (we use \(K\) as shorthand for CAPEX)
  • \(Q\) = plant capacity; \(Q_{\text{ref}}\) = reference capacity (20 kTA)
  • \(s\) = scale exponent (0.6–0.9)

What the exponent means:

Scale exponent \(s\) If capacity doubles… Example industries
1.0 CAPEX doubles (no economies) Modular, containerized systems
0.7 CAPEX increases 62% Chemical plants, refineries
0.6 CAPEX increases 52% Power plants, large bioreactors

The range 0.6–0.9 reflects uncertainty about whether cultured meat will achieve chemical-industry economies (0.6) or remain more modular (0.9).

Pharma-Grade vs. Food-Grade Equipment

Why this matters for CAPEX: The cultured meat industry emerged from pharmaceutical cell culture, which uses expensive equipment designed for injectable drugs. A key cost question is whether the industry can transition to simpler, cheaper food-grade equipment.

This distinction directly affects CAPEX\(_{\text{ref}}\) in the scaling equation, and the custom reactor ratio parameter captures it. The relevant comparison is aseptic food-grade equipment (sterile, but without full cGMP validation) against cGMP pharma equipment. Brewing equipment is not a like-for-like comparison: a brewery is sanitary, not aseptic, and Humbird argues animal-cell culture cannot relax asepsis (Humbird 2020 preprint, section 2.4: “A brewery, however, is a sanitary facility, not an aseptic one”).

Pharma-grade bioreactors are built to pharmaceutical manufacturing standards:

  • 316L stainless steel, electropolished surfaces
  • Extensive validation, documentation (GMP compliance)
  • Designed for injectable drug production
  • Cost: $50–500 per liter installed capacity — typical pharmaceutical bioreactors cost £250,000+ for standard units

Food-grade (or “custom”) equipment is simpler:

  • Standard stainless steel (304 or food-grade 316) — 304 can replace pharma-required 316 for food operations
  • Less stringent validation (GRAS vs. pharmaceutical purity)
  • Closer to aseptic food or industrial fermentation than to brewing or dairy equipment, which is sanitary rather than aseptic
  • Target cost: $10–50 per liter (company claims: Meatly’s 320L pilot bioreactor costs ~£12,500, ~$39/L; Vow reports a 20,000 L reactor for under $1M, ~$50/L). Humbird’s commoditized aseptic design costs about $34–120/L installed from 200 down to 10 m³.

The custom reactor ratio represents the installed cost of food-grade equipment relative to pharma-grade. At 0.5, custom equipment costs half as much. Changed November 7, 2026 from 0.35–0.85 to 0.15–0.55 (uniform, mean 0.35). The earlier range sat at the conservative end of the evidence and conflicted with this section’s own food-grade targets. In Humbird’s Table 3.1 (from Petrides; 20 m³ vessels), an aseptic non-cGMP vessel costs about 0.5 of a cGMP mammalian one, and about 0.34 once installation (Lang) factors are included; sanitary brewing vessels are about 0.05. The low end allows for the cheaper custom designs companies report. On its own the change lowers the default median by about 2%. Provisional; an engineering check is planned.

Parameter Range Definition Equation
WACC 8–20% Weighted average cost of capital \(r\) in CRF = \(\frac{r(1+r)^n}{(1+r)^n-1}\) — see Section 3
Asset life 8–20 years Equipment depreciation period for bioreactors, buildings, and support facilities \(n\) in CRF = \(\frac{r(1+r)^n}{(1+r)^n-1}\) — see Section 3
Scale exponent 0.6–0.9 Economies of scale power (how much CAPEX grows as plant capacity increases) \(s\) in \(\text{CAPEX} = \text{CAPEX}_{\text{ref}} \times (Q/Q_{\text{ref}})^s\) — see economies of scale section. Note: \(s\) (scale exponent) is distinct from \(r\) (WACC) used in the CRF formula.
Pharma-grade CAPEX $5–25 / kg capacity Base capital cost at 20 kTA \(\text{CAPEX}_{\text{ref}}\) in scaling equation
Custom reactor ratio 0.15–0.55 (0.35–0.85 before Nov 7, 2026) Food-grade ÷ pharma-grade installed cost Multiplier on \(\text{CAPEX}_{\text{ref}}\) when using food-grade

WACC Justification

WACC (Weighted Average Cost of Capital) represents the blended cost of debt and equity financing. Our 8–20% range reflects:

Benchmark Typical WACC Source
Established food companies (Tyson, JBS) 6–10% Industry averages (Damodaran)
Biotech startups (pre-revenue) 15–25% VC expected returns
Cultured meat companies 12–20% Humbird (2021), CE Delft (2021)

Why the range is wide: The low end (8%) assumes the industry matures to food-company norms – stable revenue, proven unit economics, low technology risk. The high end (20%) reflects today’s reality: most cultured meat companies are venture-backed with no revenue, unproven at scale, and facing regulatory uncertainty. As the industry matures (higher \(m\)), WACC should decline toward food-industry norms. Our 8-20% range brackets both Humbird’s 10% baseline and CE Delft’s 7-12% range.


CDMO Production Model

Used in: In-house vs. CDMO comparison on the Advanced model page

A CDMO (Contract Development and Manufacturing Organization) is a company that manufactures products on behalf of other companies, charging a per-unit toll fee. The dashboard includes a CDMO mode toggle that replaces in-house CAPEX and Fixed OPEX with a sampled toll fee.

When CDMO mode changes the cost equation

Mode CAPEX/kg Fixed OPEX/kg CDMO Toll/kg
In-House (default) Sampled from in-house model Sampled from in-house model 0
CDMO mode 0 0 Sampled from lognormal(p5, p95)

VOC (media, growth factors, other variable), downstream, and all technology adoption assumptions remain unchanged.

CDMO Toll Parameter

Parameter Symbol Distribution Default Unit Notes
CDMO Toll — Lognormal(p5, p95) p5=4, p95=40 $/kg Covers CDMO’s CAPEX, fixed costs, and margin

Interpretation of the default range:

Toll ($/kg) Scenario
~$4 (p5) Efficient food-grade CDMO, high multi-client utilization (~80-90%), thin margin
~$12 (typical) CDMO serving several clients, food-grade equipment, ~25-35% margin over cost
~$40 (p95) Pharma-adjacent CDMO, low utilization, high quality premiums and margin

For reference, in-house CAPEX + Fixed OPEX in the default model spans roughly $3–25/kg (median ~$8/kg at 50% maturity). The CDMO toll range is set wider to account for the additional uncertainty about whether CDMO pricing develops favorably for the cultured meat sector.

When CDMO might be cheaper

The comparison chart in the dashboard shows the full distribution difference. In general:

  • When in-house CAPEX is high (early-stage, pharma-grade, low maturity): CDMO can be cheaper if the CDMO captures scale economies across multiple clients
  • When plant capacity is small (scale diseconomies hit the in-house model harder than a shared CDMO): CDMO wins
  • When in-house CAPEX is low (mature industry, food-grade equipment, large scale): in-house tends to be cheaper because it avoids the CDMO’s margin

Limitations of the CDMO model

  1. No maturity adjustment on toll: In the current implementation, the CDMO toll is sampled independently of the maturity factor. In reality, CDMO pricing would likely become more competitive as the industry matures and more providers enter the market. This could be added in a future version.
  2. No IP/process risk modeling: CDMOs require sharing cell lines and media formulations, which may be a competitive disadvantage. This risk is not modeled.
  3. No utilization feedback: In-house utilization is an explicit parameter; CDMO utilization is implicit in the toll range. The two are not directly comparable.

Process Mode

Used in: Process mode sliders on the Advanced model page

The model draws an illustrative process label, then samples density and media use from the corresponding lognormal distributions. The p5–p95 ranges are soft priors, not engineering limits. No oxygen-transfer, nutrient-balance, or washout test rejects infeasible draws. Perfusion can itself operate continuously, so these labels are not a mutually exclusive engineering taxonomy; read “continuous” here as the model’s recycling-oriented scenario.

Pure batch is outside the current scenario set. Its exclusion is a modeling choice, not a proof of commercial impossibility.

Mode-Specific Parameter Ranges

Mode Default weight Density (g dry/L) p5–p95 Same, g wet/L at 20% solids Media-use multiplier p5–p95 Rationale
Fed-batch 20% 1–6 5–30 1.0–2.0× Periodic concentrated nutrient addition; lower achievable density
Perfusion 50% 6–30 30–150 1.0–5.0× Continuous media exchange with cell retention; higher density, higher throughput
Continuous 30% 10–40 50–200 0.5–3.0× Near-steady-state with recycling; highest densities

The dry ranges (engine 2026-10-26.4) are the earlier wet ranges converted at 20% solids and fixed, so they do not move with solids_fraction.

Weights are user-adjustable in the dashboard and auto-normalised to sum to 1. The Override process mode constraints toggle (full view) bypasses mode-based sampling and restores the manual density and media-use sliders for expert use.

Calibration note: The 20% fed-batch default produces somewhat higher expected media usage per kg than the previous unconstrained lognormal(30–200 g/L) default, because fed-batch at 5–30 g/L generates 50–200 L/kg vs. ~16 L/kg at the old median. That difference is imposed by these priors; it does not independently validate them. Expect median total cost to run somewhat higher under the new defaults than under the old unconstrained settings.

Least-cost mode selection (opt-in, October 2026)

Used in: How the mode is chosen, beside the process-mode weights on the Advanced model page. Default: off (“Draw mode by weights”).

Why. A process mode is only used if it is the cheapest method that is technically feasible and permitted. The baseline weights ask the user to make that comparison mentally, and the drawn mode cannot respond to other inputs in the same world. For example, Ark Biotech’s TEA finds fed-batch lower in COGS when medium is expensive and continuous lower in CapEx (Ark Biotech, 2023). The alternative asks for feasibility instead and lets the model make the cost comparison.

Method. For each simulated world \(i\) the engine computes unit cost \(C_{ik}\) under each mode \(k \in \{\text{fed-batch}, \text{perfusion}, \text{continuous}\}\). All other draws are shared: the process stream already draws density and media use for every mode, and every other component has its own random stream. Fed-batch is always feasible; perfusion and continuous are feasible with independent probabilities \(q_P\) and \(q_C\) (defaults 0.70 and 0.30). The world uses

\[k^*_i = \arg\min_{k\ \text{feasible}} \left(\ln C_{ik} - \beta\,\varepsilon_{ik}\right),\qquad \varepsilon_{ik} \sim \text{Gumbel}(0,1),\]

and reports \(C_{ik^*}\) and all components and inputs of the chosen mode.

  • \(\beta = 0\) (default): strict least cost, a perfect-foresight frontier reading of the process choice.
  • \(\beta > 0\) (choice sharpness): the choice is made on noisy cost estimates, so \(P(k) = C_{k}^{-1/\beta} / \sum_{j\ \text{feasible}} C_{j}^{-1/\beta}\). This is the relative-cost logit used for technology shares in GCAM, where shares represent the probability each technology has the least cost under heterogeneous conditions (EPA/GCAM workshop). A mode costing half as much as another is chosen \(2^{1/\beta}\) times as often: 16× at \(\beta = 0.25\), 4× at 0.5, 2× at 1. It stands in for committing to a process years ahead, lock-in, and differences between firms. The realized, not estimated, cost is reported, so noise raises expected cost.

The mode weights are unused in this setting. The page shows the selected shares and the share of worlds where feasibility, not cost, decides the mode (the cheapest mode overall is infeasible). The JSON export records both. The override toggle for process-mode constraints disables selection, with a warning.

Default feasibility. With default priors fed-batch is almost never the cheapest mode in a world (it is cheaper than continuous in about 0.4% of worlds), and continuous is cheaper than perfusion in about 84% of worlds. Selection then acts roughly like a fallback chain, so \(P(\text{continuous}) \approx q_C\), \(P(\text{perfusion}) \approx (1-q_C)q_P\) and \(P(\text{fed-batch}) \approx (1-q_C)(1-q_P)\). The defaults 0.70/0.30 reproduce the 20/50/30 weights this way and give nearly the same costs (engine 2026-10-29.1, seed 42, 30,000 draws: median $210 vs $213 per kg dry cell mass; $42.1 vs $42.6 on the wet basis). They are a bridge from the old setting, not elicited values. With every mode always feasible, continuous is chosen in 84% of worlds and the median falls to about $115 per kg dry ($23 wet), so the result hinges on \(q_C\). Because the dry and wet bases differ by a fixed factor, the choice of mode is the same on either basis.

Caveats.

  1. Omitted costs decide the winner. Modes differ here only through their density and media-use priors. Cell-retention equipment and consumables, reactor size limits, contamination and failed runs are not modeled per mode. A minimum selects whichever option has the fewest downsides represented, so this setting currently favors continuous. Published TEAs that cost modes directly rank them differently: Humbird (2021) finds fed-batch cheaper than perfusion ($37 vs $51/kg), and Ark finds fed-batch lower in COGS than continuous in almost every scenario. Pollock, Ho and Farid (2013) show how failure rates change a fed-batch vs perfusion comparison under uncertainty.
  2. Selection on estimates is optimistic. Choosing the apparent best of several uncertain options makes the chosen option look better than it will turn out (Smith and Winkler, 2006, “The optimizer’s curse”). \(\beta = 0\) assumes firms know each world’s true costs when they choose.
  3. Independent mode draws add option value. Density and media use are drawn independently across modes within a world. A common cell-line-quality factor would correlate them and reduce the gain from choosing.
  4. Feasibility is independent of maturity and across modes. Both are open choices.
  5. Designs, not plants. Taking the cheapest of three designs within one world differs from taking the cheapest of many independent plant draws, which the September review warns drives costs down mechanically.
  6. Frontier for the process choice only. This fits the best-available-plant target for the choice of mode; the other parameter ranges are not yet frontier-specific (Limits).

Bundled Media Pricing

Published TEAs use two different accounting conventions for media costs. Understanding the difference is critical when comparing model outputs to the literature.

Two Conventions

Convention What “media $/L” includes Example sources When to use
Separable (default) Basal media only (amino acids, glucose, vitamins) — GFs on separate $/g line This model, GFI cost analyses Reasoning about future cost reduction; GF breakthrough affects a visible separate line
Bundled Complete media including growth factors and supplemental proteins Only sources explicitly quoting complete medium Comparing to published figures; current-state benchmarking

How to Use the Bundled Toggle

Enabling Bundled media pricing in the dashboard (full view → Media Accounting):

  • Replaces the separable basal-media $/L , GF $/g, and supplemental-protein lines with a single complete media $/L parameter
  • Default range: $50–$500/L — reflecting current research-grade complete media with pharma-grade GFs
  • Separate growth-factor overrides are ignored; a media $/kg override replaces the complete-medium cost in this mode
  • GF probability and progress sliders are hidden (bundled into the media price)
  • The cost breakdown shows “Complete Media (incl. GFs)” instead of separate Media and GF bars

For 2036 projection work: the $50–500/L default is appropriate for current-state benchmarking. For a 2036 projection, lower the range significantly (e.g., p5=$5, p95=$100) to reflect anticipated GF cost reductions bundled into the complete medium price.

Why We Default to Separable

The separable structure is better for the core purpose of this model — identifying which cost reduction pathways matter most. If growth factor breakthroughs are explicitly modeled as a binary switch on a separate cost line, users can directly see how much they shift the cost distribution. In bundled mode, GF improvements are hidden inside the media price, making the model less transparent about what is driving costs.

Separable accounting also better matches the future state of the cultured meat industry, where GF supply chains are likely to become commodity markets analogous to amino acid supply chains — priced and contracted separately from the bulk nutrient broth.


Sensitivity Analysis: Dollar-Swing Metric

Used in: the tornado chart on the Advanced model page · Sensitivity methods page (alternatives, with live numbers)

The tornado chart on the dashboard answers: which parameters move the cost estimate the most? This section explains exactly what is computed and how to read the result.

What the bar length means

Each bar is the difference in mean unit cost ($/kg) between two groups of simulations:

\[\text{Swing}(x) = \overline{\text{cost}} \;\big|\; x \in \text{top 10\%} \;\;-\;\; \overline{\text{cost}} \;\big|\; x \in \text{bottom 10\%}\]

With 30,000 Monte Carlo samples, each tail group contains ~3,000 simulations. The result is a dollar quantity (with the same mixed source-year limitation) on the same scale as every other cost figure — so a bar of $+40/kg means: simulations where that parameter is in its top decile have costs $40/kg higher on average than simulations in its bottom decile.

  • Red (positive swing): high parameter values occur with higher costs
  • Green (negative swing): high parameter values occur with lower costs (e.g., cell density — higher density → lower media per kg)

Parameter types in the chart

Type Examples Interpretation
Primitive Cell Density, Media-use multiplier, Plant Capacity, Utilization Rate May share a process label or other dependencies; swing is an association, not an isolated marginal effect
Mixture Media $/L (incl. hydrolysate regime), GF Price, GF Quantity (only with the separate g/kg dose prior; since November 9, 2026 the default dose is derived from medium use and not shown) Bundles a discrete regime switch (hydrolysate adoption, GF breakthrough) with within-regime lognormal noise; swing captures both
Latent Industry Maturity Not independent — perturbs P(hydrolysate), P(cheap GFs), WACC, and reactor costs simultaneously

The latent-variable caveat (Industry Maturity)

Industry Maturity is not sampled independently of the other parameters in the chart. It perturbs P(hydrolysate adoption), P(cheap GFs), WACC, and the custom-reactor share all at once. Its bar therefore captures the total bundled effect of a shift in maturity propagating through all those channels.

Do not add the Maturity bar to Media $/L and GF Price. Simulations in Maturity’s top decile are also more likely to have cheap hydrolysates and cheap GFs — so those bars already partly overlap with what Maturity’s bar is measuring.

What was removed and why

An earlier version of this chart used Spearman rank correlation — a unitless number in [−1, 1] that indicates direction but not magnitude. The current dollar-swing metric is more useful because it is on the same scale as the cost estimates themselves.

Three parameters were also removed from the earlier 11-parameter list because they were derived quantities rather than independent drivers:

  • L/kg (media volume per kg) = 1000/density × media-use multiplier — a pure deterministic function of the two separate parameters, not an independent source of variation.
  • Uses Hydrolysates (binary) chose which lognormal regime Media $/L was sampled from. The continuous Media $/L bar already captures the regime switch plus within-regime noise.
  • Has Cheap GFs (binary) chose the regime for GF Price and GF Quantity. Same issue: subsumed into those continuous bars.

Technical caveats

  • This is a conditional association statistic, not a causal intervention effect or a Sobol index. It does not cleanly decompose variance and bars can overlap across correlated parameters.
  • The tail width is 10%. Wider tails smooth more; narrower tails are noisier. Right-tail costs can make small bars unstable; repeat seeds before interpreting close rankings.
  • Because the statistic is computed on the joint sampling distribution, changing a slider can move bars for parameters you didn’t touch — a different joint distribution produces different conditional means.
  • Classical Sobol decompositions assume independent inputs. For this dependent model, first specify independent primitive drivers or use a method designed for dependence (such as an explicitly defined Shapley allocation). Neither a variance share nor a dollar-swing bar is an expected value of information.
  • With 30,000 draws and 10% tails, a bar’s Monte Carlo standard error is roughly $2–3/kg for the mean statistic in the default scenario, so bars below about $5/kg are not distinguishable from zero.

The sensitivity methods page works through these limitations with live numbers and compares the alternatives (adjustable tails and statistics, conditional profiles, expected uncertainty after learning one input, rank regression, interventions, and Shapley effects). The estimators live in sensitivity-methods.mjs.


Code Reference

The full model implementation is available in multiple formats:

Format Location Notes
JavaScript (interactive and CLI) cost-model.mjs Shared calculation engine for Simple and Advanced; version 2026-10-26.3
Python (reference) dashboard/model.py Historical implementation; not synchronized and not a current dashboard reference

An earlier Squiggle version of a related cost model exists at models/cm_cost_v0.2.squiggle and on Squiggle Hub. It is not currently synced with this dashboard — parameter ranges, the technology-adoption structure, the micronutrient revision (April 2026), the growth-factor quantity tightening (April 2026), and the dollar-swing sensitivity analysis all diverge between the two. Treat the Squiggle version as a historical snapshot, not an equivalent reference implementation. Re-syncing the Squiggle model with the dashboard parameters is on the project TODO list but has not yet been done.

Key Functions

The JavaScript implementation includes:

  • simulate(n, seed, params) — Main Monte Carlo loop
  • sampleLognormalP5P95(rng, p5, p95, n) — Sample from lognormal given percentiles
  • sampleBetaMeanStdev(rng, mean, sd, n) — Sample from beta distribution
  • crf(wacc, years) — Capital Recovery Factor calculation
  • conditionalSwing(x, uc, tailFrac) — Signed tail contrast for the association chart
  • spearmanCorr(x, y) — Rank correlation (retained for reference)

The alternative sensitivity estimators (tailContrastDetail, learningValue, rankRegression, interventionContrasts, shapleyEffects) are in sensitivity-methods.mjs, with tests in tests/sensitivity-methods.test.mjs.

View the page source for the complete implementation.


Limitations

Known Limitations

  1. Static snapshot model — Projects costs for a single projection year (adjustable 2026-2050). Does not model year-over-year learning curves; instead, the “maturity” parameter serves as a proxy for cumulative industry development.

  2. Forming and texturization are outside the estimate — Forming can be added to the hybrid product via toggle ($0.5–2.5 per kg of product, GFI 2021; scaffolded whole cuts are not modeled). Harvest, washing and dewatering belong inside the estimate but are not yet modeled explicitly; see downstream processing.

  3. No geography — Assumes generic global costs, not region-specific labor, energy, or regulatory factors.

  4. Contamination and failure modeled only as an average loss — Since November 7, 2026 (provisional) the default draws an expected share of output lost to failed or contaminated runs for each process mode (fed-batch 0.5–8%, perfusion 2–15%, continuous 3–20%, 5th–95th percentiles) and a recovery loss in harvest and washing (1–15%), and divides in-house costs per delivered kg accordingly. Individual failure events, their timing and any link to maturity are not modeled. Switch: Recovery losses and failed runs under Structural stress tests (see physical consistency).

  5. Some correlations may be underspecified — While the maturity factor induces correlation between technology adoption, reactor costs, and WACC, other potential correlations (e.g., between cell density and media $/L, or between cell density and cycle time) are treated as independent. Growth-factor dose has followed medium use by default since November 9, 2026 (correction); before that it was also drawn independently. See Model Limits for the specific case of basal media cost and cell density.

  6. Estimand not yet reflected in the parameter ranges — The target is now unconditional and hypothetical (the best available large plant with 2036 technology, whether or not such plants exist; see target quantity), so a separate commercialization stage is no longer required. But the ranges were not built for that target, and the model does not yet distinguish a frontier plant from an average or capacity-weighted commercial plant. The opt-in least-cost mode selection covers the process choice only.

  7. No common currency year — Monetary inputs from different sources are not yet converted to one constant-dollar base year.

  8. Basis conversions rest on placeholders — The headline result is per kg dry cell mass. Converting wet-basis sources and built-in priors uses a single assumed solids content (20%); the hybrid-product and protein figures use placeholder solids (27.5%), inclusion (25%), filler cost ($3/kg) and protein (65%) values; and cell-count sources have no mass-per-cell parameter yet. Recovery losses in harvest, washing and dewatering are modeled since November 7, 2026, as a single provisional loss share (1–15%, 5th–95th percentiles; on by default, switch Recovery losses and failed runs under Structural stress tests), but the processing cost of those steps is still only an optional placeholder (include_harvest_dewater, off). Corrected 9 November 2026: this item previously said recovery losses were not modeled. See why the basis matters and physical consistency.

Recommendations for Use

Recommendation What it means Why
Use for relative comparisons Compare scenarios (e.g., “Cheap GF tech reduces costs by 40%”) rather than absolute predictions (“Costs will be $8.50/kg”) When parameters are uncertain, the difference between scenarios is more stable than the absolute baseline — see example below
Focus on probability thresholds Ask “What’s P(cost < $10/kg)?” not “What’s the expected cost?” Probabilities integrate over uncertainty and map to decisions (“Is this worth pursuing?”)
Validate parameters with experts Before publishing, check that ranges match current industry knowledge Published literature lags industry by 1–3 years; some parameters (GF costs) change rapidly
Report uncertainty ranges Always show 90% CI, not just median Wide intervals reflect genuine uncertainty; suppressing them gives false confidence
Explore correlated scenarios Use the maturity slider to see “good world” vs “bad world” bundles Technologies, financing, and supply chains often develop together — though some breakthroughs (e.g., GF biotech) may be partially independent of others (e.g., bioreactor manufacturing). See correlation assumptions for discussion

What “relative comparisons” means in practice

✅ Good use: “Achieving 150 g/L cell density instead of 50 g/L would reduce costs by 40–60%”

❌ Risky use: “Cultured chicken will cost $8.50/kg by 2030”

The model is better at estimating how much a technology improvement helps than what the final cost will be, because relative effects are less sensitive to baseline assumptions.


Sources


Version history
Version Date Changes
v0.3 2026-02 Separated Learn page, consolidated technical docs
v0.2 2026-02 Explicit scale/uptime, beta distributions, maturity factor
v0.1 2026-01 Initial Squiggle model based on UC Davis