Собесов

Сценарий: K-фактор и виральность — как считать и где ловушки

Продуктовая аналитикаМетрикиСредняяMiddle

Условие

CMO утверждает, что у продукта «вирусный рост». Как посчитать K-фактор и понять, действительно ли он виральный?

Решение

Формула

K = (среднее число приглашений на одного пользователя) × (conversion приглашения)
  • K > 1 — экспоненциальный рост (каждый пользователь приводит больше одного нового).
  • K = 1 — линейный.
  • K < 1 — затухающий, виральность поддерживает, но не двигает рост.

Реалистичный пример

Пригласили: 0.8 приглашений в среднем на юзера
Конверсия приглашения: 25%
K = 0.8 × 0.25 = 0.2

K = 0.2 — слабый «виральный буст», 80% роста идёт из других каналов.

Cycle time

Полная формула роста учитывает время цикла — сколько проходит от регистрации до приглашения.

Users(t) = Users(0) × K^(t / cycle_time)

При K=1.2 и cycle_time=7 дней — за месяц рост в (1.2)^(30/7) ≈ 2× — это хорошо.

SQL для расчёта

WITH invites AS (
  SELECT inviter_id, COUNT(*) AS n_sent
  FROM invites
  WHERE inviter_id IN (SELECT user_id FROM cohort)
  GROUP BY inviter_id
),
conv AS (
  SELECT inviter_id,
         COUNT(*) AS sent,
         COUNT(invitee_signed_up) AS signed_up
  FROM invites
  GROUP BY inviter_id
)
SELECT
  AVG(sent) AS avg_invites_per_user,
  SUM(signed_up)::float / NULLIF(SUM(sent), 0) AS conv,
  AVG(sent) * SUM(signed_up)::float / NULLIF(SUM(sent), 0) AS k_factor
FROM conv;

Подводные камни

  1. Считать приглашения только активных пользователей — иначе K разбавлен спящими. Cohort-based K честнее.
  2. Конверсия приглашения = регистрация ≠ активация. Реальная виральность — это «приглашённый стал активным», иначе K врёт.
  3. K-фактор зависит от состояния продукта: ранний K=2 при базе 1000 и K=0.5 при базе 10M — насыщение рынка естественно.
  4. Не путать виральность с рекомендациями. Виральность = продукт пригласил юзеров; маркетинг — нет.
  5. K + paid acquisition ≠ просто сложение. Они интерферируют: paid юзеры менее склонны приглашать.

Эталонный ответ

K = (среднее число приглашений) × (конверсия). K>1 = экспонента, K<1 = затухание. Считать на cohort активных, проверять активацию приглашённых, учитывать cycle time.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти