K-Factor Calculatorby Viralo

K-Factor Formula

The K-factor (viral coefficient) formula is: K = invites per user × invite-to-signup conversion rate. Each variable captures a distinct part of your referral loop.

Invites per user measures how many people your average user actively invites. For a SaaS dashboard, this is the average number of referral links shared per user in a 30-day window. Consumer social apps typically see 5–10 invites per user; B2B tools see 0.5–2. Track this by counting unique share events per user in tools like Amplitude, Mixpanel, or PostHog, then dividing by total active users.

Invite-to-signup conversion rate is the percentage of invited prospects who create an account. If Sarah sends 10 invites and 3 recipients sign up, her conversion rate is 30%. Measure this at the product level by dividing referral-attributed signups by total invites sent in the same period. You need a referral attribution mechanism — a unique code or tracked link stored in a cookie or URL parameter — to connect each signup back to the inviter.

Benchmark interpretation: K < 1 means each user brings in less than one new user — growth depends on paid or organic channels. Most B2B SaaS products operate here (K = 0.3–0.6), and that is normal. K = 1.0 means each user replaced themselves — your user base grows linearly without acquisition spend. K > 1 means exponential viral growth, where each user brings in more than one replacement, compounding generation over generation.

Worked example — K = 0.8 vs K = 1.2: Starting with 1,000 users and K = 0.8, each generation shrinks: 1,000 → 800 → 640 → 512. The referral loop decays and dies within roughly 10 generations. With K = 1.2, the trajectory reverses: 1,000 → 1,200 → 1,440 → 1,728 → 2,074. By generation 10 you have added over 6,000 users — all from the same starting cohort. The gap between 0.8 and 1.2 is not incremental; it is the difference between a loop that fizzles and one that compounds.

What "good" looks like by product type: Consumer social apps like WhatsApp or Instagram in their early days sustained K > 1.5. B2B SaaS tools typically see K = 0.3–0.7 — viral mechanics supplement but never fully replace paid acquisition. Developer tools with built-in sharing, such as code snippet links or API playgrounds, can reach K = 0.8–1.2. Mobile games with invite rewards often hit K = 1.0–2.0 during launch windows but decay quickly as the existing user base saturates. Marketplaces benefit from two-sided referrals and can sustain K = 0.6–1.0 when both buyers and sellers invite.

Common measurement pitfalls: Counting bots or duplicate accounts as signups inflates conversion rate — verify signups with email confirmation. Track unique recipient emails, not total send events, because users invite the same person multiple times. Define your measurement window consistently — K measured over 7 days differs from 90 days. Confusing activation with signup overstates viral performance; a user who creates an account but never returns does not contribute to growth. Finally, compute K-factor across your entire active user base, not just power-user cohorts, which will overstate results.

React Referral Widget Code

Production-ready referral widget with share link, copy button, and social share icons. Accepts referralCode and primaryColor props. Install from @viralo/react.

Share your referral link
Earn rewards for each friend who signs up
https://app.dev/ref/ABC123
Twitter LinkedIn Email
ReferralWidget.tsx InviteGate.tsx PoweredByBadge.tsx

tsx

import { ReferralWidget } from '@viralo/react';

export function App() {
  return (
    <ReferralWidget
      referralCode="ABC123"
      primaryColor="#EF4444"
    />
  );
}