Skip to content
Academy
Marketing Academy · Field Work●Growth Marketing
MiniForecast· 20 minutes

Run the Numbers: Calculating and Forecasting K-Factor

Squarespace

Objective: Given a real month of invite and signup data, calculate K-factor, benchmark it against B2B SaaS norms, and forecast whether the referral loop is worth continued investment.

You're the growth analyst at Squarespace reviewing the first full month of the 'Refer a friend' program (site credit for the referrer, a discount for the referee) before the team decides whether to keep funding it.

Pull the raw counts, compute i, c, and K, compare against the B2B SaaS benchmark, and forecast three months of cohort compounding at the current rate.

Before you start

What you'll need

Free path (everything below is enough to finish)

FreeCompute i, c, K, and the cohort compounding forecast

No account friction, formulas are transparent to a non-technical stakeholder reviewing the numbers

The process

2 steps

Step 01 of 02

Calculating K-factor from invites and conversion

K = i x c, where i is invites sent per active user and c is the fraction of those invites that convert into new active users.

Last month Squarespace's referral program had 12,400 active users, those users sent 3,100 referral links, and 186 of those links converted to new paid signups. What is K, and how does it compare to the 0.1-0.25 B2B SaaS benchmark?

Google Sheets— Import the monthly referral export (active users, links sent, attributed signups) and build the formula in three columns.

Procedure

  1. Compute i = links sent / active users = 3,100 / 12,400 = 0.25 invites per user
  2. Compute c = attributed signups / links sent = 186 / 3,100 = 0.06 conversion rate
  3. Compute K = i x c = 0.25 x 0.06 = 0.015
  4. Compare 0.015 against the 0.1-0.25 B2B SaaS median from the lesson's benchmark table
Sample output
Squarespace referral program, Month 1
  Active users: 12,400
  Links sent: 3,100  ->  i = 0.25
  Attributed signups: 186  ->  c = 0.06
  K = 0.015 (target range: 0.1-0.25)

Healthy

K lands inside or above the 0.1-0.25 B2B SaaS benchmark range, meaning the loop is already contributing meaningfully to net-new signups.

Unhealthy

K of 0.015 sits an order of magnitude below the benchmark, meaning the loop is currently a rounding error next to paid and organic acquisition.

What this means

At K = 0.015, i (invite volume) is close to healthy but c (conversion) is the bottleneck; a five-fold improvement in landing page conversion alone would put K near the benchmark floor without touching invite volume at all.

So what do I do about it?

SymptomActionEffort
K is far below benchmark and the team is debating killing the programIsolate whether i or c is the weaker variable before cutting the program; a c-side fix is usually cheaper than growing invite volume30 min
YouYou can do this yourself, no engineering access required.

Step 02 of 02

Forecasting cohort compounding from K and cycle time

K interacts with viral cycle time: the same K compounds faster with a short cycle time (days) than a long one (weeks), because each cohort produces its next cohort sooner.

If Squarespace fixes the recipient landing page and lifts K from 0.015 to 0.06 with an average 20-day cycle time, how many of the next quarter's new signups come from the loop itself rather than direct acquisition, assuming 12,400 active users stays constant as the seed cohort?

Google Sheets— Build a simple cohort table: each row is one 20-day cycle, multiply the prior cycle's new users by K to get the next cycle's referral-driven users.

Procedure

  1. Cycle 1: 12,400 seed users x 0.06 = 744 referral-driven signups
  2. Cycle 2: 744 x 0.06 = 45 additional signups
  3. Cycle 3 (roughly one quarter at a 20-day cycle): 45 x 0.06 = 3 additional signups
  4. Sum the three cycles: 744 + 45 + 3 = 792 signups over the quarter attributable to the loop
Sample output
Forecast at K = 0.06, 20-day cycle, one quarter (~4-5 cycles)
  Cycle 1: 744 signups
  Cycle 2: 45 signups
  Cycle 3: 3 signups
  Quarter total: ~792 signups, decaying fast because K is still below 1

Healthy

The team treats 792 signups as a real, incremental, near-zero-cost acquisition channel worth the landing page investment.

Unhealthy

The team expects K = 0.06 to produce exponential growth on its own; below K = 1, the loop always decays toward zero without a fresh seed cohort.

What this means

Below K = 1, a viral loop is a multiplier on other acquisition channels, not a replacement for them; the forecast's value is proving the landing page fix pays for itself, not promising runaway growth.

So what do I do about it?

SymptomActionEffort
Leadership expects the referral fix alone to replace paid acquisitionPresent the decaying-cycle forecast table before the K improvement ships, so the win is measured against the right expectation30 min
YouYou can do this yourself, no engineering access required.

Final deliverable

A one-page K-factor readout: current i, c, K, benchmark comparison, and a three-cycle compounding forecast for the proposed fix.

See a reference example
Sample output
Snowflake partner-referral loop, Q2 readout (excerpt)

Current state: i = 0.18, c = 0.09, K = 0.016 (below 0.1-0.25 benchmark)
Proposed fix: personalize the recipient landing page to the referring account's use case
Forecast at K = 0.05: Cycle 1 adds 410 signups, Cycle 2 adds 20, Cycle 3 adds 1
Recommendation: fund the landing page fix; it pays back inside one quarter even without hitting K = 1

Success criteria

You're done when you can:

  • Correctly computes i, c, and K from the raw counts
  • Compares K against the stated B2B SaaS benchmark range
  • Builds a decaying multi-cycle forecast rather than a single-period estimate