Теорія
Запрошення і вірусне зростання
Вірусне зростання із запрошень: вірусний коефіцієнт k, тривалість циклу, чому k менше 1 однаково вигідний і як вимірювати запрошення, не лестячи собі.
~9 хв читання · 9 вправ · 250 балів
Перед початком
Чи ми вірусні?
Theo готується до запитань інвесторів про Halves. Кожній групі потрібні учасники, тож у певному сенсі кожен користувач — маленький продавець, і інвестори спитають одне: чи вірусний Halves? Він хоче відповіді з даних, тобто від тебе.
У цьому уроці ти чесно виміряєш вірусне зростання: скільки нових користувачів приводить кожен користувач, скільки триває один цикл, чому запрошення окупаються, навіть коли зростання не наростає лавиною, і як не прикрашати результат.
Вірусний коефіцієнт k із фіксованим вікном
Вірусний коефіцієнт (k-factor) — кількість нових користувачів, яких кожен користувач приводить через запрошення:
k = нові користувачі із запрошень ÷ користувачі когорти = (запрошення ÷ користувач) × (нові користувачі ÷ запрошення)
Друга форма показує дві частини, над якими можна працювати: скільки запрошень люди надсилають і скільки з них перетворюється на нових користувачів.
k потребує вікна. Люди запрошують місяцями, тож без вікна старші когорти завжди виглядають вірусніше просто тому, що мали більше часу. Зафіксуй вікно від реєстрації й використовуй те саме для кожної когорти. У Halves: запрошення, надіслані за перші 30 днів користувача, і запрошені, що зареєструвалися за цей час.
Когорта січня 2026: 4 646 користувачів за 30 днів надіслали 5 737 запрошень (1,2348 на користувача); 1 460 із них стали новими користувачами (0,2545 на запрошення). k = 1 460 ÷ 4 646 = 0,3142, те саме, що 1,2348 × 0,2545.
Подавай k з когортою й вікном: «0,31 за 30 днів, когорта січня 2026», ніколи не голим числом.
- Такk, когорта січня 2026, 30 днів = 1 460 нових користувачів із запрошень ÷ 4 646 користувачів = 0,31.
- Не такk = 1 460 ÷ 5 737 запрошень = 0,25.
Це лише конверсія запрошень, один із множників k.
Ріст рахує лише нових людей
У продукті, побудованому навколо груп, багато прийнятих запрошень дістаються людям, які вже ним користуються. У Halves людина, яка вже має застосунок і долучається до ще однієї групи для поїздки, приймає запрошення, але Halves не отримує нового користувача.

Тож чисельник k — це нові акаунти, створені із запрошень, а не прийняті запрошення. Січень 2026: 1 947 прийнятих, із них 487 від наявних користувачів, лишається 1 460 нових. k = 1 460 ÷ 4 646 = 0,31. Якщо рахувати всі прийняті, вийде 0,42 — на третину більше, і розрив схожий щомісяця (0,39–0,44 проти 0,29–0,33 за січень–травень).
Наявні користувачі, що долучаються до нових груп, усе одно важливі: активніші групи повертають людей. Це місце для метрики залученості поруч із k (наприклад, груп на одного наявного користувача), а не всередині k.
Перш ніж довіряти будь-якій метриці вірусності, попроси описати її чисельник словами: «нові акаунти, що прийшли із запрошення за 30 днів». Якщо у визначенні «прийняття», «запрошення» чи «приєднання до груп», воно міряє активність, а не ріст.
- Такk = (1 947 прийнятих − 487 від наявних) ÷ 4 646 = 1 460 ÷ 4 646 = 0,31.
- Не такk = 1 947 прийнятих запрошень ÷ 4 646 користувачів = 0,42.
Рахує людей, які вже мали застосунок.
Два важелі всередині k
Оскільки k = запрошення на користувача × нові користувачі на запрошення, зміна k завжди йде з одного з двох місць, і вони потребують різних рішень.
- Запрошення на користувача залежать від того, як часто продукт дає людям привід запросити: створення групи, витрата, яку має побачити хтось інший, нагадування розрахуватися.
- Нові користувачі на запрошення залежать від того, що відбувається із запрошеним: яке повідомлення він отримує, кроки встановлення й реєстрації, чи потрапляє одразу в групу.
Halves, травень 2026 проти січня: k знизився з 0,3142 до 0,2931. Запрошень на користувача майже стільки ж (1,2348 → 1,2176), а нових користувачів на запрошення стало менше: з 25,45% до 24,07% (1 755 ÷ 7 290). Тож дивитися треба на шлях запрошеного, а не на те, як запрошують.
Розкладай k щоразу, коли він рухається, так само як воронку чи ARPU. Одне число не скаже команді росту, над якою половиною петлі працювати.
- ТакТравень: 7 290 ÷ 5 987 = 1,2176 запрошення на користувача × 1 755 ÷ 7 290 = 24,07% = k 0,2931.
- Не такКонверсія запрошень у травні = 2 340 прийнятих ÷ 7 290 надісланих = 32,10%.
Серед прийнятих 585 наявних користувачів; рахуються лише нові акаунти.
Нижче 1 k множить кожен канал
Кожен користувач, приведений будь-яким каналом, — зерно (seed) — у середньому запрошує k нових користувачів. Ті запрошують ще k², і так далі. Коли k менше 1, покоління меншають, і ряд має суму:
усього = зерно × (1 + k + k² + …) = зерно ÷ (1 − k)
Halves, січень–травень 2026 разом: k = 8 281 ÷ 26 638 = 0,3109, тож множник 1 ÷ (1 − 0,3109) = 1,4511. У травні соцмережі й пошукова реклама в магазинах привели 2 169 користувачів; із запрошеннями з них виходить 2 169 × 1,4511 ≈ 3 147, приблизно на 978 більше, ніж рахують рекламні звіти. Вартість на кожного підсумкового користувача приблизно на 31% нижча, ніж показує сам платний CAC, — якщо ці запрошені не прийшли б і так.

Дві звички: об'єднуй кілька порівнянних когорт для k, щоб один дивний місяць не керував множником; і тримай сезон окремо (червневий k 0,55 дав би множник 2,20).
Не додавай k один раз (2 169 × 1,31 ≈ 2 843): так ти рахуєш лише перше покоління запрошених і забуваєш, що вони теж запрошують.
- ТакУсього = 2 169 ÷ (1 − 0,3109) = 2 169 × 1,4511 ≈ 3 147 користувачів.
- Не такУсього = 2 169 × (1 + 0,3109) ≈ 2 843 користувачі.
Рахує лише перше покоління запрошених.
Як читати k нижче 1: множник, а не двигун
Поріг k = 1 відділяє два дуже різні продукти.
- k більше 1: кожне покоління запрошених більше за попереднє, тож самі запрошення можуть підтримувати ріст: це двигун. Мало які продукти довго втримують такий рівень.
- k менше 1: кожне покоління менше, і ланцюжок згасає. Запрошення не можуть самі виростити продукт, але вони множать кожен інший канал на 1 ÷ (1 − k).

Помилка — читати «нижче 1» як «не має значення». У Halves k = 0,31 означає, що кожен користувач із реклами, пошуку в магазині чи преси приводить ще приблизно 0,45 через запрошення. Це знижує фактичну вартість кожного платного користувача й робить скорочення інших каналів дорожчим, бо відсутні користувачі теж нікого не запросять.
Протилежна помилка — називати продукт «вірусним», бо в одному сезоні k близький до 1. Червневий k Halves 0,55 — ефект сезону поїздок.
Добра форма речення: «k = 0,31 (30 днів, когорти січня–травня): запрошення множать інші канали приблизно на 1,45, але самі ріст не забезпечують».
- Так«За k = 0,31 запрошення самі нас не виростять, але додають приблизно 45% до кожного іншого каналу.»
- Не так«k лише 0,31, тож запрошення для росту насправді не важливі.»
Ігнорує множник 1,45 на кожного залученого користувача.
Тривалість вірусного циклу: швидкість, а не обсяг
Тривалість вірусного циклу (viral cycle time) — скільки часу минає від приходу користувача до приходу тих, кого він запросив. У Halves медіана — 6 днів для когорт січня–травня й 3 дні в червні, коли групи для поїздок збираються швидко.
Коли k менше 1, тривалість циклу змінює, коли приходять додаткові користувачі, а не скільки їх. Сума від зерна — це зерно ÷ (1 − k), і часу в цій формулі немає: 2 169 платних користувачів травня перетворяться приблизно на 3 147, хоч запрошені прийдуть за 3 дні, хоч за 30. Коротший цикл усе одно важливий: додаткові користувачі приходять за тижні, тож прогноз чи грошовий план бачить їх раніше, а платні витрати повертаються швидше.
Формула: Справедливо для k менше 1. · є вище
Коли k більше 1, картина інша: ланцюжок не закінчується, і коротший цикл робить ріст значно стрімкішим, бо покоління змінюють одне одне швидше.
Тож подавай обидва числа разом. k каже, скільки додає петля; тривалість циклу — як швидко. І міряй тривалість циклу медіаною (значенням посередині впорядкованого ряду), бо кілька запрошених, які прийшли через місяці, сильно відтягнуть середнє.
- Так«k = 0,31, медіанний цикл 6 днів: 2 169 платних користувачів травня приводять ще близько 978 за кілька тижнів.»
- Не так«Скоротити цикл до 3 днів — і запрошення дадуть удвічі більше.»
Нижче 1 сума — це зерно ÷ (1 − k), без часу.
П’ять правил чесного k
k, який витримає наступний квартал, дотримується кількох правил:
- Фіксоване вікно від реєстрації, однакове для кожної когорти (30 днів у Halves).
- Лише нові акаунти в чисельнику; наявні користувачі, що долучаються до груп, ідуть у метрику залученості.
- За когортою й сезоном. Когорти Halves січня–травня дають 0,29–0,33; червень дає 0,55, бо групи для поїздок підтягують друзів за кілька днів. Якщо цитувати найкращий місяць, ти обіцяєш ріст, якого решта року не дасть.
- Об'єднано для планування. Для множника об'єднуй порівнянні когорти (0,3109 за січень–травень), а не обирай одну.
- Перевірено на інкрементальність. Частина запрошених встановила б застосунок і так, із магазину чи за порадою друга. Скільки саме, покаже лише holdout-група: сховай кнопку запрошення для невеликої випадкової частки нових груп, скажімо 5%, і порівняй, скільки нових користувачів приходить через них.
Перші чотири правила роблять k порівнянним; п'яте — правдивим. Поки holdout не проведено, так і кажи: «k як виміряно; частка тих, хто прийшов би й так, ще невідома».
- Так«k = 0,31 (30 днів, когорти січня–травня 2026, лише нові акаунти); holdout заплановано.»
- Не так«Наш k — 0,55.»
Сезон поїздок у червні подано як увесь рік.
Як читати holdout: інкрементальний k
Holdout-група, як її визначає урок Кейс: версія чи трафік?, — випадкова частина, яку лишають без функції; для запрошень це невелика частка нових груп, що ніколи не бачать кнопки запрошення. Їхні друзі однаково можуть знайти Halves самі, тож різниця між групами — це те, що справді додають запрошення:

інкрементальний k = нові користувачі на користувача з кнопкою − нові користувачі на користувача без неї
У вигаданому прикладі групи з кнопкою приводять 0,31 нового користувача на учасника за 30 днів, а holdout-групи — 0,12. Тоді 0,12 прийшли б і так, а кнопка додає 0,19: множник для планування — 1 ÷ (1 − 0,19) ≈ 1,23, а не 1,45.
Читай його як будь-який тест: різниця з інтервалом, рандомізація за групою (кластерна одиниця з уроку Хто потрапляє в тест: тригери й кластерна рандомізація) і достатньо груп, щоб побачити ефект, який має значення.
Як це складається докупи: k = запрошення × конверсія, виміряний у фіксованому вікні на нових акаунтах, прочитаний як множник разом із тривалістю циклу й виправлений holdout-групою. Далі — Канали й атрибуція в маркетингу.
- Так«Інкрементальний k = 0,31 − 0,12 = 0,19; плануємо з множником близько 1,23.»
- Не так«Holdout-групи все одно отримали 0,12, отже, справжній k — 0,12.»
0,12 — це те, що приходить без запрошень; ефект запрошень — різниця.
Готові потренуватися?
Виконайте вправи уроку й отримайте 250 балів, коли пройдете його вперше.
Розпочати вправи