Concept
Engines of Growth
Engines of growth are the three loops (sticky, viral and paid) through which a company's existing customers bring in new ones, and Eric Ries argues that sustainable growth comes from running one of them on purpose.
In The Lean Startup, Eric Ries separates growth that compounds from growth that fades. A press mention or a busy launch day brings visitors, but the wave recedes and leaves nothing behind. Sustainable growth means new customers arrive because of something past customers did. They stayed, they told someone, or they paid enough to fund the next ad. That gives three engines. The sticky engine keeps customers. It runs when you win new customers faster than you lose existing ones, so you watch churn against your acquisition rate. The viral engine spreads through use. It runs when each customer brings in more than one new customer on average, which means a viral coefficient above 1. The paid engine buys customers. It runs when a customer's lifetime value exceeds the cost of acquiring them, and the gap pays for the next ad. Each engine demands different experiments and one clear number, so focus on one at a time.
A real-life example
A small meal-kit subscription in Leeds celebrated 400 sign-ups after a newspaper feature. Two months later, half had cancelled. The founder stopped chasing coverage and chose the sticky engine. She tracked monthly churn against new subscribers: 12% left each month while 8% joined. She called cancelled customers, fixed the recipes they disliked, and added a pause option. Churn fell to 5% while sign-ups held at 8%, and the base finally grew month after month.
How to use it
- 1Trace how your best customers actually arrived. Did they stay, did they tell someone, or did you pay to reach them? The answer points to your engine.
- 2Pick one engine and its single number: churn versus acquisition rate for sticky, viral coefficient for viral, lifetime value versus acquisition cost for paid.
- 3Review that number every week and run only experiments that could move it. Ignore spikes that leave it unchanged.
