Skip to content

Your Growth Loop Isn't Broken. It Has a Feedback Delay.

Most "dead" growth loops are working loops judged on the wrong clock. A control-systems view of why operators kill compounding loops at day 20 and overfeed vanity loops that quietly go negative.

By Mehdi7 min read
Share
On this page

Most growth loops that get killed were working. They get killed because the operator judging them is reading a slow instrument on a fast clock: the result of what they did in week two doesn't surface until week ten, and by then they've changed five other variables, blamed the wrong one, and formed a conviction. The loop wasn't broken. The measurement was.

This is a control problem before it is a marketing one. Any feedback loop with a lag between the action and the observable result behaves like a control system with dead time, and dead time is the single hardest thing to control. The result that formalizes the intuition is well worn in process control: a delay in the feedback path adds phase lag, and if you keep cranking the gain while your information about the system is stale, negative feedback quietly becomes positive feedback and the loop goes unstable. You are steering a car by looking at where the road was ten seconds ago. The faster you react, the worse you drive.

Growth operators do exactly this, and they do it in a predictable direction. When feedback is slow, two failure modes show up together, and both are expensive.

Misattribution: crediting the input that fired last, not the one that worked

The first failure is causal. When results arrive weeks after the actions that caused them, you attribute this week's outcome to this week's input, because that's the input you can see. The referral incentive you launched in March lands as signups in May, but in May you also relaunched onboarding, sent a big lifecycle email, and a competitor fumbled a launch. The lift gets credited to whatever is nearest in time and most legible, almost never to the thing that actually caused it.

What you end up with is a portfolio of confident, wrong beliefs about what drives growth. You double down on the onboarding change that did nothing and starve the referral mechanism that did the work, because the mechanism's fingerprints showed up under someone else's name. I learned this discipline in the clinic, because bodies have dead time too: you give a drug and the effect appears two visits later, tangled with diet, adherence, and three other prescriptions. Attribute the change to whatever the patient did yesterday and you will chase noise forever. The fix in medicine is the fix in growth. You hold the timeline in your head and ask which input, at its own characteristic lag, could plausibly be producing what you're seeing now.

Premature termination: killing the loop the week before it compounds

The second failure is worse, because it destroys assets rather than just misreading them. A loop with a long maturation window looks dead right up until the moment it starts to work. So operators cut it at day 20, one cycle short, and never see the compounding they were one decision away from owning.

Here is the arithmetic, because this is where the money is. You acquire 1,000 customers in month zero through paid channels and bolt on a referral loop. The loop's true behavior is a viral coefficient of K = 0.5: over their lifetime, every 100 customers bring in 50 who convert. That is a strong loop. It doesn't go viral on its own (K under 1), but it halves your effective cost of acquisition.

The catch is timing. A referred signup is not instant. The new customer has to experience enough value to want to talk, then actually mention it, then their friend has to consider it and act. That maturation is spread out: almost none of a cohort's referrals land in the first three weeks, maybe 10% arrive in month one, 40% in month two, 50% in month three. So the 500 lifetime referrals from that seed cohort of 1,000 arrive roughly as 50, then 200, then 250.

Now watch what the operator sees. At day 20, the loop has produced on the order of 30 referred signups against 1,000 customers exposed to it. Three percent. Set against the CAC you're paying on the paid channel, 3% reads as rounding error. The dashboard says the referral program is a dud. You cut the incentive and reallocate the budget.

Run the loop instead of killing it and the seed cohort's downstream is a geometric series: 1,000 seeds bring 500, which bring 250, which bring 125, converging to 1,000 / (1 − 0.5) = 2,000 total customers for every 1,000 you paid for. Blended CAC halved. That entire second thousand was sitting in a maturation pipeline that read 3% on the day you judged it. You didn't decline a mediocre program. You threw away a permanent 2x on acquisition efficiency because you evaluated a 90-day asset on a 20-day clock.

This is the same measurement trap I've written about with regression to the mean eating your growth numbers: in both cases you judge a slow, noisy signal on a fast clock and let the timing of the reading, not the truth of the effect, drive the decision. Regression fools you by making a real effect look fake when you measure from an extreme. Feedback delay fools you by making a real effect look absent when you measure before it has arrived. Same root error, mirror symptoms.

The asymmetry that makes this systematically expensive

If delay only cost you good loops, you'd underperform but stay honest. What makes the trap structurally costly is that it's asymmetric. Slow loops get killed, fast loops get overfed, and the fast loops are exactly the ones whose true long-run effect is most likely to be flat or negative.

A loop with fast feedback produces a legible number this week, so it gets scaled this week, before anyone knows its lagged cost. The cleanest example is the discount. Cut price and the conversion lift shows up in the same 48 hours, clean and attributable, with no dead time at all. It is the most reinforcing signal on the entire dashboard. So it gets scaled.

But the discount is a fast lever bolted onto a slow asset, and the slow asset is your pricing power. Every discount teaches the market what you're "really" worth, resets the reference price your next cohort anchors to, and selects for customers who were only ever there for the price. That damage matures on the same 30-to-90-day clock as the referral loop, except here the compounding runs against you. The fast signal says "scale it," and by the time the slow signal says "you've eroded your willingness-to-pay ceiling," you've trained a whole book of customers to wait for the next promotion. I've argued the full mechanism separately in discounting sells your willingness to pay, but the control-systems framing is the point here: you overfed it precisely because its feedback was fast and its cost was slow.

So the delay doesn't just add noise. It biases your whole allocation toward loops that report quickly and against loops that compound quietly. You get a growth engine optimized for legibility instead of return.

Measure each loop on its own clock

The fix is not "be more patient," which is useless advice you'll ignore the next time a number looks bad. The fix is to build the timescale into the measurement so impatience can't reach the kill switch.

Start by giving each loop its natural cycle time, estimated from mechanics rather than hope. A referral loop's clock is time-to-value plus time-to-tell plus the referred user's own consideration cycle. If that adds to eight weeks, then eight weeks is the earliest honest read, and everything before it is the pipeline filling, not the loop failing. A content or SEO loop runs slower still; word-of-mouth slower again. You can no more compare them on a shared monthly cadence than you can read a drug's half-life and its onset off a single blood draw.

Second, cohort every effect by start date. Pooled metrics are where slow loops go to die, because a blended average is always dragged down by the newest, least-matured cohorts. Cohorting lets you watch an early cohort's curve run to full maturity while later cohorts are still young, which frequently gives you a cleaner verdict sooner, not later. The pooled number was hiding the signal, not delaying it.

Third, instrument the leading indicators that predict the lagged outcome, so you aren't flying blind through the dead time. You can't observe the 90-day referral yield at day 20, but you can observe whether invites are being sent, whether invited users are activating, whether each successive cohort's early curve is steeper than the last. Those are the intermediate states of the loop, and they tell you whether the mechanism is alive long before the outcome is legible. This is also how you separate a delayed loop from a genuinely broken one: a delayed loop has healthy leading indicators and a flat lagged outcome; a broken loop has dead leading indicators too. Different diagnoses, opposite treatments.

Fourth, and this is the one that actually protects you: pre-commit to an evaluation horizon before you launch. Write down, in advance, "we do not judge this loop before week ten, and here are the two leading indicators that would justify killing it sooner." You set that horizon while you're calm and the mechanics are clear, so the version of you at week three, staring at a 3% number with a budget meeting tomorrow, can't quietly override the version of you who understood the physics. A pre-committed horizon is a control on your own gain. It stops you from acting on stale error, which is the exact move that turns a stable loop unstable.

Every one of these is the same move: separate the clock the loop runs on from the clock your anxiety runs on, and read the loop on its own.

The loops you've been killing weren't weak. They were slow, and you were fast, and fast beats slow at getting fired.

Frequently asked questions

How do I set an evaluation horizon before I have data on the loop?
Estimate the loop's natural cycle time from its mechanics, not from wishful thinking. For a referral loop, the horizon is roughly time-to-first-value plus time-for-a-happy-user-to-tell-someone plus that person's own consideration cycle. If a customer needs three weeks to see value and their friend needs two weeks to decide, your maturation window is at least 8-10 weeks, and judging the loop at week three is measuring noise. Set the horizon from that chain, write it down, and only revise it if a leading indicator moves, not because you got impatient.
What's the difference between a loop with a feedback delay and one that's genuinely broken?
A delayed loop shows healthy leading indicators on its natural timescale even when the lagged outcome is still flat: invites are getting sent, invited users are activating, each successive cohort's early curve is steeper than the last. A broken loop shows dead leading indicators too. If nobody sends invites, or invited users never activate, the mechanism itself is broken and no amount of patience fixes it. Instrument the intermediate steps precisely, because these two demand opposite responses.
Doesn't cohorting by start date just slow down decision-making?
It changes what you're deciding, not how fast. Pooled metrics force you to wait until a slow loop shows up in a blended average that newer, unmatured cohorts are dragging down. Cohorting lets you read an early cohort's full curve while later cohorts are still young, so you often get a cleaner verdict sooner. The delay you feel is the loop's physics; cohorting is how you see through it instead of being fooled by the pooled number.

Filed under Marketing & Growth. Distribution as a discipline, not a growth hack.

Essays like this, in your inbox.

Thoughtful essays. No spam. Unsubscribe anytime.

Marketing & Growth

GEO Is the New SEO: Get Cited, Not Ranked

Answer engines read many sources and emit one synthesized reply. You no longer compete for a rank on a page of links; you compete to be the source the model quotes — and most businesses are still optimizing a channel that is shrinking.

8 min read
Marketing & Growth

Write for the Extractor: The Craft of Getting Quoted by an Answer Engine

Answer engines retrieve passages and synthesize an answer, so getting cited is a craft: lead each chunk with a self-contained claim, make it survive being torn out of context, and hand the model the cleaner, more attributable fact than your competitors did.

7 min read