Diagnostics

Improve K-Factor Without a Referral Program

Joni Lindgren Founder & Growth PM 7 min read

You can raise your K-factor without launching a referral program. The fastest gains usually sit in loops you already have but don’t measure: shared documents, public outputs, integrations that carry your branding, and invitations built into the core workflow.

Each loop has three levers: outputs per user, conversion per output, and how fast the loop cycles.

The companion piece, What Is K-Factor? The Growth Multiplier Explained, lays out the generalized formula and the four loop types this article builds on. Read it first if the formula is new to you.

What K-factor is, and the formula

K-factor counts how many additional users each new user generates through the product itself, before their influence runs out. K = 1.0 means each user brings exactly one more. Below 1.0, virality amplifies your other channels but doesn’t sustain growth on its own.

The formula usually quoted, invitations × conversion rate, only describes a referral program. The generalized formula is:

K = (Outputs per user) × (Signups per output)

An “output” is any artifact that exposes a non-user to your product: a shared doc, a Loom video, a “Powered by X” badge, a workspace invite, a published template.

A referral form is one output type, usually with mediocre conversion.

You also sum K across loops, so you don’t need one heroic viral mechanism. Three small loops at 0.08 each sum to 0.24. That is mid-range for B2B (0.1 to 0.3).

Set your expectations against the benchmark first

Know what “good” looks like before you try to improve K. It differs widely by model.

ModelK-factor (avg)What it means
B2B SaaS / B2B tech0.1 to 0.3B2B virality is usually weak. Anything above 0.3 is unusually strong unless the product has built-in collaboration loops.
Consumer apps0.3 to 0.7 (rarely >1)K > 1 is true viral growth and extremely rare. Even 0.5 is considered very strong.

Sources: Reforge, Andrew Chen.

A B2B tool at K = 0.15 already sits in the middle of the range. The realistic target is nudging toward 0.3. These ranges are context, not targets. A collaboration-native product can beat the B2B range, because sharing is the workflow there.

Lever 1: Find the loops you already have (and aren’t counting)

Audit before you build anything. Walk the four loop types from the pillar article and ask for each: does using our product already expose a non-user?

  • Content / distribution loops: every shared doc, exported PDF, public dashboard, sent video, or embedded widget. Loom is the cleanest example. A user makes ~8 videos a month, each generating ~0.04 signups, for K ≈ 0.32.
  • Casual contact loops: branding that rides along passively. The “Made with Notion” or “Sent via X” footer, the calendar invite from your scheduling tool, the watermark on a free-tier export. Per-impression conversion is tiny (Notion’s branded-page loop runs around 0.004 signups per impression in the pillar example), but the volume is huge.
  • Integration loops: connecting to another tool surfaces your product to that tool’s users.
  • Invitation loops: collaboration invites count, but these are workflow invites (“add a teammate to this project”), not a standalone referral program with a reward.

A loop you’re not counting is any of these you can’t put a number on. Measure each loop’s outputs per user and signups per output separately, then sum.

Signups per output is hard to attribute, so you’ll be estimating. You need enough signal to know which loop is worth a quarter of work, not a perfect number.

Lever 2: Move one of the two numbers (per loop)

Each loop has exactly two levers, and they cost very different amounts.

Raise outputs per user. Get more outputs created, and get them created sooner:

  • Make the shareable output the natural end of the core workflow, rather than a buried “Share” button.
  • Default to shareable. A private-by-default doc produces zero distribution loop.
  • Retention does double duty here (see Lever 4).

Raise signups per output. This is usually the cheaper win, because the volume is already there:

  • Fix the recipient’s landing experience. Someone clicks a shared doc, hits a wall of signup friction, and bounces. Let them see the value first and sign up second.
  • Make the branded touchpoint legible. “Made with X” converts terribly if nobody knows what X does. A one-line “X helps teams do Y, try it free” on the landing converts better.
  • Cut the signup itself to the minimum needed to deliver value.

Teams often reach for more outputs (a template gallery, a UGC feature) while the recipient-side conversion on their existing outputs leaks. Audit conversion per output before you build new output types.

Lever 3: Shorten cycle time

Cycle time affects growth as much as K does. That is how long the loop takes, from a new user joining to that user generating the next signup. The combined growth rate is:

Monthly growth rate = K / (cycle time in months)

So which grows faster: a product at K = 0.8 with a 60-day cycle, or one at K = 0.6 with a 10-day cycle?

  • Product A: 0.8 / 2 months = 0.4 new users per existing user per month
  • Product B: 0.6 / (1/3 month) = 1.8 new users per existing user per month

Product B grows ~4.5× faster with the lower K. Adobe Sign (formerly EchoSign) took roughly 8 months for one paid customer to produce the next, often after multiple exposures. Its K looked respectable, and the slow cycle throttled it.

Shortening your cycle from 30 days to 15 days has the same effect as doubling your K-factor, and it needs no new viral mechanism. Cycle time breaks into three parts, and you can attack each one:

  1. Time to first output: how long before a new user creates their first shareable output? Onboarding straight to the “aha” output collapses this.
  2. Output frequency: daily-active users get ~30 chances a month to spin the loop; weekly-active get ~4.
  3. Conversion lag: the time between exposure and signup. Lower the friction on the landing and this shrinks.

How to measure K-factor without a referral form

Measure each loop separately: outputs per user (how many each user creates per month) × signups per output (how many new users each one drives). Then sum across loops. Attribution is approximate. Aim for enough signal to prioritize.

Lever 4: Treat retention as a viral lever, not a separate metric

Andrew Chen’s argument is that the most reliable way to drive viral growth is to increase retention and engagement, and the cycle-time math is why. A retained, frequently active user spins your loops over and over.

Improving Day-7 or Day-30 retention raises output frequency (more loop turns per user) and extends the window over which each user keeps generating outputs.

The benchmark tool grades B2B cohort retention at roughly 5 to 25% Day-1 and 4 to 20% Day-7 (estimates). At Day 90 it grades 2.5 to 15.6% (Amplitude, median to 90th percentile). Pendo’s 50 to 70% Day-1, 40 to 60% Day-7 and 25 to 35% at 90 days are a returning-user rate, which reads about ten times higher.

A note on referral programs (so we’re fair)

For some consumer products a referral program is the dominant loop. But they’re often the wrong first move for B2B, and for any product whose users already produce shareable outputs. You’d be adding a new loop with uncertain conversion and an incentive cost, while a higher-volume, zero-incentive loop sits unoptimized next to it.

Build the referral program once your existing loops are instrumented and optimized, and you’ve confirmed a real “who would I invite, and why” motivation.

See where your K-factor lands

The free benchmark tool charts your K-factor, retention and unit economics against B2B and consumer ranges in six minutes. Its growth simulation lets you drag a slider between K-factor and cycle time and watch each compound over 12 months. That shows whether chasing K or shortening the cycle moves your curve more.


Sources and further reading

  • Reforge; Andrew Chen: K-factor benchmark ranges and the retention-drives-virality argument.
  • Andrew Chen, “Why the best way to drive viral growth is to increase retention and engagement.”
  • Amplitude (B2B cohort retention), Pendo (returning-user rate): retention benchmarks.
  • Companion article: What Is K-Factor? The Growth Multiplier Explained: the growth-multiplier framing, the generalized formula, the four loop types, and why K only matters alongside retention.

Frequently asked questions

Yes. A referral program is one viral loop. Many products already run content loops (shared docs, videos, exports), casual-contact loops (branded touchpoints) and integration loops. Instrumenting and optimizing those usually moves K more than adding a referral form, with no incentive cost.

B2B K-factor averages 0.1 to 0.3. Above 0.3 is unusually strong unless the product has built-in collaboration loops. Consumer apps run higher, 0.3 to 0.7, and K above 1 is extremely rare. (Sources: Reforge, Andrew Chen.)

They multiply, so neither dominates: growth rate = K / cycle time in months. Cycle time is usually the more neglected and cheaper one to improve. Halving it (30 to 15 days) has the same effect as doubling K, with no new viral mechanism.

Retained, frequently active users spin your viral loops more times and over a longer window. That raises both outputs per user and loop velocity.

Measure each loop separately: outputs per user (how many each user creates per month) × signups per output (how many new users each one drives). Then sum across loops. Attribution is approximate; aim for enough signal to prioritize.

See where your numbers actually land

Plot your retention, CAC payback, LTV:CAC and K-factor against the B2B and Consumer bands, and find out whether a good-looking number is real or sitting on a leaky retention curve.

Run the growth diagnostic →
Free · No signup · 6 minutes
Written by
Joni Lindgren
Founder & Growth PM · DM on LinkedIn
See where your metrics land Run the diagnostic →