Growth Loops and Virality
By the end of this lesson, you should be able to: compute a viral coefficient and read it as an amplification multiple rather than a pass-or-fail test, explain why cycle time matters as much as the coefficient, and recognise that a loop is a property of your users rather than of your product.
A funnel ends. A loop feeds itself.
Everything in this track so far has been a funnel: users go in one end, some fraction reaches the other, and the process stops. A loop is different. Its output becomes its own input. Users arrive, some invite others, those others arrive and invite more.
The measurement is the viral coefficient:
For Basket, across 30,160 users who sent 7,131 invites:
| Invites per user | 0.236 |
| Accept rate | 28.0% |
| k | 0.066 |
Most people see 0.066 and conclude the loop failed, because the number everybody remembers is that k > 1 means exponential growth. That's true and it's almost never the useful frame, because k > 1 sustained is vanishingly rare and usually means you have built a chain letter.
Below 1, a loop is a multiplier
When k is under 1, each generation is smaller than the last and the whole series converges. Sum it and you get a clean result:

| k | Amplification | What it means |
|---|---|---|
| 0.1 | 1.11x | 11% of your growth is free |
| 0.3 | 1.43x | Your effective CAC is 30% lower than you paid |
| 0.5 | 2.00x | Every user you buy brings one more |
| 0.8 | 5.00x | Buy one, get four |
This is the frame that makes k useful. At k = 0.3 you haven't gone viral, and you have cut your acquisition cost by 30% permanently, which is a larger and more durable win than most growth projects ever deliver.
Basket's 0.066 gives 1.07x. Thirty thousand purchased users become 32,299. Modest, real, and free.
Never report k on its own. "k is 0.24" invites the response "so it's not viral". "Our loop makes every acquired user worth 1.32, so our effective CAC is 24% below what we pay" is the same fact and it lands as a result.