The Unjournal · Pivotal Questions Initiative

CM Modeling Hack (pilot)

A collaborative modeling hackathon to improve techno-economic cost models of cultivated meat — anchored on the beliefs we elicited at the workshop.

PILOT / DRAFT — This is a work-in-progress proposal page for a planned cultivated-meat modeling hack. Numbers, scope, and the in-browser simulator are illustrative and will change. Feedback welcome via the propose-a-change form below or by annotating this page with Hypothes.is.

What the modeling hack is

The May 8 2026 workshop elicited 16 real belief responses on cultivated-meat cost and feasibility (plus pre-workshop expert feedback and qualitative discussion). The headline question — CM_01, projected 2036 cost per kg of cell biomass — drew submitted medians spanning roughly $1 to $100/kg. The workshop summary is explicit that this ~100x spread is genuine disagreement about which technical pathways succeed, not a calibration artifact.

The modeling hack is the follow-on: a small, structured working session where industry experts (GFI, ACIB, Ivy Farm and others), forecasters, EA/quantitative modelers, and informed skeptics sit together and improve the actual cost models — the Python Monte Carlo dashboard and the Squiggle cost model — rather than just re-polling the headline number. The job is to decompose why estimates disagree and to make each crux explicit, parameterized, and testable.

Deliverables we are aiming for

The cruxes to attack

These are the disagreements the hack should target. Each is a place where a single modeling choice swings the projected cost by a large factor.

1. Cell-line / growth-factor independence

Will gene-edited or autocrine lines reach commercial-scale GF independence by ~2030–2033? If yes, the entire growth-factor cost line collapses (some submitters assign $0/kg GF by 2036). Counter-caveat: editing imposes metabolic burden, so independence is not free.

2. Hydrolysates as base media

Can plant/yeast hydrolysates fully replace purified amino acids (FEASTS, Fuchs) — or only partially (Swartz ~20%, Bomkamp ~40%)? Note CM_12's wording conflated replacing growth factors vs replacing the amino-acid base; part of this crux is definitional.

3. The unit the model is built on

g/L vs cells/mL vs "performance-to-cost ratio" vs mass productivity (kg/m³/day). Several experts argue harvest density alone is "meaningless." The metric a model is built on is a crux — and it ties density to process mode (fed-batch / perfusion / continuous).

4. Feed conversion ratio

Roughly 3:1 kcal in/out lower bound (Swartz); ~20 L/kg used by an industry submitter; "$/L × L/kg effectively IS an FCR" (Bomkamp). Currently a text field only — a prime candidate to add as an explicit parameter.

5. Capital & CDMO-to-dedicated-plant

Can companies finance the path to the 2036 scenario post-2024? CAPEX is flagged as less certain than ingredient costs; timeline and company survival may bind harder than the technical cost floor.

6. What product are we costing toward?

The inclusion rate of CM biomass in the final product is unspecified. $50/kg biomass is fine for a 1.2%-cell hybrid but not a whole cut. Differentiation and end-product attributes are currently out of scope.

Lower-tension but useful as calibration checks: food-grade vs pharma-grade media share (CM_17, near-consensus "low-hanging fruit"), and the GF cost-reduction pathway probabilities (E6), which diverge sharply and are a clean target for structured probabilistic elicitation.

Parameter jam: run a cost simulation in your browser

A simplified, self-contained version of the cost model. Enter your low / mode / high estimate for each cost line (in $/kg of wet cell biomass at harvest), and the page samples ~5,000 Monte Carlo draws and sums them to a unit-cost distribution. This is a teaching toy — the real models have far more structure (process modes, maturity coupling, CAPEX from working volume) — but it shows how component uncertainty compounds. Try a preset, then drag the numbers.

Cost line ($/kg)Low (p5)ModeHigh (p95)
P10 $/kg
P50 (median) $/kg
P90 $/kg
simulated $/kg wet biomass (clipped at P99 for display)

Each line is sampled as a triangular(low, mode, high) distribution (clamped so low ≤ mode ≤ high and all ≥ 0); draws are summed per run. Triangular is used for transparency, not because it is the right shape — the production models use lognormals and betas with explicit p5/p95. Runs entirely in your browser; nothing is sent anywhere.

Where these default ranges come from

The defaults are component $/kg ranges drawn from the v0.3 Squiggle model and the Python dashboard, expressed directly as cost-per-kg lines so they sum without the intermediate $/L × L/kg build-up:

  • Media (basal + hydrolysates/pharma-grade): beliefs field CM_14 override is roughly p10 ~$5, mode ~$25–40, p90 ~$80–120/kg biomass.
  • Growth factors: beliefs field CM_13 override is roughly p10 ~$2, mode ~$10–30, p90 ~$60/kg — collapses toward $0 under the breakthrough/GF-independence regime.
  • Other variable (utilities, consumables, supplemental proteins, waste): ~$0.3–3/kg.
  • Annualized capital ($/kg): derived in the full model from working volume, WACC, CRF and Lang factor; here entered directly as a per-kg line.
  • Fixed OPEX: ~$1–6/kg at a 20 kTA reference plant.

The CDMO-toll, bundled-media, downstream-processing, and process-mode structure of the real models are intentionally omitted here.

Take it further: the real models

The browser toy above sums five hand-entered lines. The production models do much more — process-mode mixtures, a latent industry-maturity factor that couples adoption probabilities and financing costs, CAPEX derived from required working volume, and regime switches for cheap-vs-expensive growth factors. Start here:

Python Monte Carlo dashboard →

Quarto + Shinylive. ~30,000 runs; the authoritative implementation. Adjust parameters and watch the cost distribution move. (model limits & critique)

Squiggle cost model (v0.2/v0.3) →

Live on Squiggle Hub. Fork it, change a distribution, and share your scenario. Best for quick what-ifs and probabilistic reasoning.

Live embed of the Squiggle model (interactive — may take a moment to load):

If the embed above does not render, open the model directly: cultured_meat_improved_by_squiggle_improve on Squiggle Hub → (the exact embed/playground URL is being confirmed; the model link always works).

New to this? Learn the tools

You do not need to already know how to build Monte Carlo models, write Squiggle, or forecast well to take part. The hack is deliberately mixed: cultivated-meat domain experts who may never have built a model, EA/quant modelers who may not know the biology, and skeptics who want to pressure-test both. Upskilling is a first-class goal, not an afterthought. We will run short, friendly onboarding sessions so domain experts can join the modeling and modelers can engage the biology. Come as you are.

Monte Carlo basics

What "sampling a distribution 5,000 times and summing" actually does, and why uncertain inputs compound. The parameter jam above is a live, hands-on example — start there.

Session: a 20-minute walk-through of the toy simulator and the production overview.

Squiggle

A tiny language for writing probabilistic estimates (x = lognormal({p5: 5, p95: 80})) and combining them. Readable, forkable, shareable.

Start: squiggle-language.com · Squiggle Hub. Session: fork our model and change one line.

Techno-economic cost modeling

How a $/kg figure is built from media volume, cell density, reactor cost, CAPEX annualization, and fixed OPEX — and which assumptions move it most.

Start: the model methodology & parameter reference and the TEA comparison.

Calibrated forecasting & good credible intervals

How to give a 90% interval you would actually bet on — wide enough to be right ~90% of the time, narrow enough to be useful. Most people are overconfident; practice fixes it.

Start: CM_01 on Metaculus · a calibration primer such as calibration training. Session: a quick calibration round before we elicit.

If you would like a particular tutorial, or want to run one, say so in the form below.

Propose a model change

Spotted a parameter that is wrong, a crux we missed, or a sub-model worth adding? Tell us. This feeds directly into the hack agenda.

Goes to a private Netlify form. PILOT — we read these but may not reply individually.

Pilot / draft page · part of The Unjournal's Pivotal Questions initiative · workshop summary · resources · contact@unjournal.org