Guide

Restructuring tissue culture production: a network view of variable cost and bottlenecks

Twice in my career an expert told me I was routing production the wrong way. Once I wanted to add a step. Once I refused to add one. Both times the objection was reasonable, and both times I built a production model and the math came out on my side. The two stories sound like they cancel out (add a step to save money, then skip a step to save money), but they come from one idea. In a system where every stage multiplies, profit is set by how you route material, not by how hard each stage works. And the number that proves it is variable cost per salable plant.

A tissue culture operation is not a line. It is a graph where every stage multiplies, so where you send material matters more than how fast each stage runs.
Greenhouse bench covered with a dense green canopy of young plants growing on at scale

Structure beats effort

Most labs draw their workflow as a straight line on a whiteboard: induction, multiplication, rooting, acclimation, shipping. But each stage multiplies the material that passes through it. So a small change in where material goes early turns into a big change in salable plants later. You can push every stage to work a little faster, or you can change the structure and get a much bigger jump. The leverage is in the routing.

The catch is that the best route is almost never the obvious one. The shortest path, or the one you have always run, often loses to a path that looks more expensive at first glance. The only way to tell them apart is to put real numbers on the network.

The number managers should watch

Most of a tissue culture lab's costs are fixed. The building, the lease on the hoods and the autoclave, the core salaried staff. None of that moves much when you make one more plant or one fewer. What does move is variable cost: the labor and materials you spend per culture. Media, vessels, and above all the hood-tech hours spent transferring, plus the data entry, dishwashing, and media prep that come with every hour at the hood. In California, that labor was the biggest cost in the building.

Because the fixed costs are fixed, the real lever a manager controls is variable cost per salable plant. And when a stage is running flat out, what matters is how much you get out of each hour of your most limited resource. That is the core idea in Eliyahu Goldratt's The Goal. You do not run a production system by making every step look efficient on its own. You run it by protecting the bottleneck and counting the right number. Both stories below are that idea in practice.

Definition

Variable cost per salable plant. The total labor and materials it takes to produce one greenhouse-ready plant, counting every culture you started but did not finish. The cultures you throw away still cost you, and that is the part per-step thinking misses.

Story 1: the step that looked more expensive and wasn't

Early in my career I wanted to add a step. Instead of moving material straight onto rooting medium, the hood techs would first move it onto a dedicated pre-rooting medium. In trials, that lifted our rooting success from about 50% to 70%.

My boss pushed back, and his point was fair. Adding the pre-rooting transfer meant that to make one rooting attempt, we now had to make two cultures instead of one: the pre-rooting culture, then the rooting culture. More handling, more medium, more hood time at that step. Looked at on its own, it clearly cost more. He was counting cultures at the bench, and by that count he was right.

But cultures at the bench is the wrong thing to count. The right one is dollars per finished plant, and that runs the other way. Here is why. Every plant that reaches rooting already carries all of the induction and multiplication cost it took to get there. When you root at 50%, half of those expensive, already-paid-for cultures die at the last step and take that cost with them. Raise the success rate and you stop throwing the investment away.

The trial told me the step works. It did not tell me whether it was worth the extra cost. So I built both versions in the model and asked a sharper question: how much would pre-rooting have to raise the rooting rate just to break even, to make the two systems cost the same per plant? I ran each one against the same delivery schedule, 106,000 salable plants, 2,000 a week for 53 weeks, and let the model find the rooting rate where the two tie. It came out around 65%, a 15-point gain over the old 50%. Here is what the two systems cost at that break-even rate. These are the labor and media the model charges against every stage.

To ship 106,000 salable plants No pre-rooting (50% rooting) With pre-rooting (65% rooting)
Labor$250,380$244,614
Media$12,120$13,877
Variable cost (labor + media)$262,500$258,491
Variable cost per salable plant$2.48$2.44
≈ $2.45
variable cost per salable plant. About the same either way at the break-even rooting gain

Look at where the money actually moves. My boss was right about one thing. Pre-rooting starts more plants, and you can see it in the media, which is up about 15% (an extra $1,760). That is the dollar version of the extra plants started in the chart above. But he was wrong about the bill that decides it. Labor does not go up. It dips a little, because the higher rooting rate means fewer of those expensive late-stage attempts, and that more than pays back the extra pre-rooting handling. The two move in opposite directions and very nearly cancel. Variable cost lands at about $2.45 a plant either way, and if anything a touch lower with pre-rooting.

That break-even rate is the whole point. At a 15-point gain (50% to 65%), the extra media and the saved labor cancel out. The pre-rooting step pays for itself and not much more. Below that gain it loses money. Above it, it wins. In trials the step actually lifted rooting to about 70%, a 20-point gain and comfortably past the break-even line, so in practice the new layout came out clearly cheaper per plant. On a product we ship by the hundred thousand, that adds up.

Adding the step barely touched labor and pushed media up a little, and at the break-even gain those cancel. A late-stage yield gain is worth more the more you have already spent upstream. Once the gain clears the break-even line, every extra point of rooting is profit.

Here are the two networks I built to test this, running on the same model the software uses. Toggle between them. The only change is the gold Pre-Rooting stage added to the standard path. I set its rooting step (Expression to Shipping) to the 65% break-even rate, up from 50%, so you can see the two systems at the tie. Every route and rate is shown, the same way the network editor draws it.

Standard flow Insufficient-input route Excess-input route Pre-Rooting stage % = selection/rooting rate · ×N = multiplication rate

Read-only copies of networks 47 and 48. Same nodes, routes and rates as the live editor. You just can't drag or add anything here.

The cost of the extra volume

To ship the same target (2,000 plants a week for 53 weeks), the pre-rooting network has to start about 18% more plants. It runs more material through the early, cheap stages. At the break-even rooting gain that extra volume costs the same, and at the gain I actually saw it came out cheaper. More plants made is not more money.

100 118 Without pre-rooting With pre-rooting +18% plants started Plants started (indexed, baseline = 100)

Indexed to the no-pre-rooting plan (= 100). Bars show plants started to ship the same number of finished plants.

From the bench: the labor rates this runs on

These comparisons rest on two speeds I measured on the floor. A cutting stage, where a tech cuts each plant by hand, runs about 125 plants per operator-hour (roughly 1,000 plants in a working day). A pick-and-place selection step, where you just move and sort material without cutting, runs about 300 plants per operator-hour, more than twice as fast.

Those two rates are what turn each routing decision into hood-hours. And hood-hours, not vessels or media or bench space, are the limit and the main cost in the lab. Keep them in mind for Story 2.

Rows of clear tissue culture vessels, each holding green shoots growing in nutrient medium

Story 2: the step I refused, and the bottleneck that justified it

Years later, a consultant looked at the same kind of operation and argued the opposite of what I would. Our Base stage throws off a lot of small shoot tips. His plan was to cut those tips, move them onto an elongation medium to grow them into long, even, good-looking shoots, and only then push them into pre-rooting. Even shoots root cleanly, so he expected a high, steady finishing rate. It is good craft, and it is what a lot of labs would do.

I argued for the blunt version. Take the Bases with their shoot tips and move them straight onto pre-rooting, with no elongation at all. The shoots reaching rooting would be much less even, so we split them into a large group and a small group with different expectations (the big ones finish around 85%, the small ones closer to 70%). That means a lower average rooting rate, and more plants pushed into the greenhouse to ship the same number. On paper it looks like the worse plan.

Toggle between the two networks. The gold Elongation stage is the step in question. It is in the consultant's network and gone from mine, which instead splits rooting into a large and a small URC branch.

Standard flow Insufficient-input route Excess-input route Elongation stage % = selection/rooting rate · ×N = multiplication rate

Read-only copies of networks 49 and 50. The filter starts on the standard production path; switch it to see the excess/insufficient routes.

Both networks send every rootable shoot through the Bases, about 1.9 rootable shoots per base culture either way, so both ship the same 265,000 plants. Here is what each one costs to run.

To ship 265,000 salable plants Elongation step (proposed) Direct to pre-rooting (what we did)
Blended rooting rate85% (uniform)85% / 70% (large / small)
Labor$335,878$223,078
Media$22,255$12,819
Variable cost (labor + media)$358,133$235,897
Variable cost per salable plant$1.35$0.89
−34%
variable cost per salable plant ($1.35 to $0.89), at the LOWER rooting rate

My lower-quality, higher-volume route is about a third cheaper per plant, and the reason is the bottleneck. The expensive resource in this lab is not vessels, media, or greenhouse space. It is hood-hours. The elongation step spends a lot of them: a tech cuts and places every shoot one at a time, down near that 125-plants-an-hour cutting rate. My route barely touches the hood, since the Base moves as one unit, and it pays for the lower rooting rate with cheap greenhouse space ($25 an hour) and extra plant material, both of which I had plenty of. You can see it in the numbers. Labor falls by a third ($336k to $223k), and even media drops, because there are fewer elongation vessels to fill. The consultant's plan bought a nicer rooting rate by spending the one resource I could not spare.

An hour saved at a stage that is not the bottleneck buys you nothing. An hour freed at the bottleneck is real output. Do not spend hood-hours on a result the greenhouse can give you for less.
The honest caveat

This only worked because two things were true. The less-even material still met customer spec once it rooted, and we had greenhouse space to take the extra volume. If the small group had dropped below sellable quality, or if the greenhouse had been the bottleneck instead of the hood, the math would flip, and the model would have told me so. The lesson is not "skip elongation." It is "spend your scarce resource only where it actually earns its keep."

The two stories don't contradict

Side by side, they sound like opposite advice. In Story 1 I added a step to make money. In Story 2 I refused one to make money. The contradiction goes away the moment you stop asking "more steps or fewer?" and ask the question that actually pays the bills: what does a salable plant cost, given my real bottleneck?

Both decisions did the same two things. They protected the bottleneck, and they drove down variable cost per salable plant. The pre-rooting step saved expensive upstream work by keeping plants I had already paid for from dying at the last stage. The elongation step would have used up the scarce resource, spending hood-hours to buy a result I could get more cheaply downstream. Same goal, opposite moves. No simple rule ("always cut steps," "always add a hardening step") holds up against a real network. Only the numbers tell you which way to go.

Why you can't do this on a whiteboard

Each of these calls was a small difference per plant that, across hundreds of thousands of plants a year, added up to real money. And each one pointed the opposite way from gut instinct. Worse, the right answer changed every time a rate changed. Real networks have many forks, multiplication rates that differ from stage to stage, a number of plants per container that changes as you go (so a rate measured in plants is not the same as a rate in containers), and a bottleneck that moves as demand shifts. A whiteboard shows you the obvious path. It cannot show you the cheap one. The only way to know is to put the whole structure into a model and let it solve again, for every rate, every fork, every week.

What this means for your lab

If you run a propagation lab, you are already making these structural choices. Every time you add a hardening step, split a grade, cut earlier, or hold one more cycle, you are making one. The only question is whether you are choosing by gut or by the numbers. Profit in a system that multiplies comes from structure, and the structure question has one honest answer: variable cost per salable plant, measured against your real bottleneck.

I spent years doing this the slow way, linking cells in a spreadsheet, running a what-if analysis, and arguing with a boss and then a consultant and turning out to be right on the math both times. In the end I built it into software, so the model solves again the moment any rate changes and the cost of each routing decision is in front of you before you commit. If you want to see your own network costed out both ways, let's talk.

Get new posts by email

I write these now and then. Leave your email and I will send the next one. No spam, and you can unsubscribe any time.

Double opt-in: we send a confirmation email first.

← All library entries