A self-reinforcing cycle driving growth
A growth loop is a self-reinforcing system where the output of one cycle becomes the input to the next, so growth compounds instead of requiring fresh fuel at the top each time. A new user creates content, the content attracts a visitor, the visitor signs up and creates more content. The defining property is the feedback edge: what comes out the end is reinvested at the start. That single structural difference is why some products accelerate while others have to keep buying their next cohortCohortGrowthA group of users sharing a common characteristicView reference →.
The loop framing was formalised and popularised by the growth practitioners at Reforge, the education company founded by Brian Balfour, with Andrew Chen among the early collaborators. Their argument was blunt: the funnelFunnelGrowthA conversion funnel tracking user progressionView reference → is the wrong primary model for compounding products, because a funnel pours users in at the top and out at the bottom with no concept of reinvesting the output to feed the next pass, so it never compounds on its own.
Balfour's working definition is a system where the output is fed back as input to create a continuous cycle. The contribution was less the invention of feedback, which network-effects and viral-coefficient thinking already described, and more the discipline of drawing the loop explicitly: name the trigger, the action, and the reward, then ask whether each turn produces enough fuel to power the next. Loops get typed by their engine, viral, content, paid, or product, and a healthy company usually runs more than one.
The mature position holds loops and funnels as complementary instruments. Reforge's own teaching keeps the funnel for diagnosing a single conversion path while using loops to model how the product reinvests its own output over time. A loop without honest funnel maths inside each step is wishful thinking; a funnel without a loop around it is a bucket you have to keep refilling.
A design-template marketplace runs a content loop. Trigger: a creator publishes a template. Action: the template gets indexed and ranks for a long-tail search. Reward: a searcher lands on it, signs up to use it, and many of them publish their own template.
The maths decides whether it compounds. If 1,000 published templates draw 40,000 organic visitors a month, 3 percent sign up (1,200 new users), and 15 percent of those publish (180 new templates), then each turn returns 180 templates against the 1,000 that drove it. That loop leaks: the output is smaller than the input, so it decays without paid top-ups. Lifting the publish rate from 15 to 30 percent flips it to 360 returned templates per turn and the system starts to climb on its own. The loop made the lever, publish rate, the thing to optimise, where a funnel would only have flagged the signup-rate step.
In the Unified Product Graph, a growth loop sits in the Growth domain within the Business, GTM and Growth region as a leaf. It attaches to the product through Productgrows viaGrowth Loophierarchy and exports its effect through product_grows_via_growth_loopGrowth LoopdrivesMetriccross-domain, which ties the loop to the number it is supposed to move. The entity carries structured growth_loop_drives_metrictrigger, action, and reward properties plus a typed loop_type, so the loop's mechanism is recorded explicitly rather than left as a story. That structure is what lets a graph distinguish a real compounding loop from a funnel someone has hopefully drawn in a circle.
Type-specific fields on BaseNode
loop_typestringMechanism that drives the loop
triggerstringEvent that initiates the loop cycle
actionstringAction the user takes within the loop
rewardstringOutcome that reinforces the next cycle
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
3 edge types connected to this entity.
product_grows_via_growth_loopgrowth_loop_drives_metricgrowth_loop_fuels_acquisition_channel