Все материалы
Продуктовая аналитикаматериалсредний

Каннибализация продаж: что это и как её посчитать

Каннибализация — когда новый товар, тариф, канал или акция забирают продажи у уже существующих. Виды, формула доли каннибализации и чистого прироста, как измерять с контролем и разностью разностей, пример на учебных данных.

КейсПрактика14 октября 2026 г.19 мин

Команда запустила новый тариф, и через месяц в отчёте красивая строка: на нём уже 300 платящих клиентов. Финансовый директор задаёт неудобный вопрос: сколько из этих трёхсот раньше платили за старый тариф и просто переехали? Если половина, то новый тариф принёс не 300 клиентов, а 150, и выручка могла даже упасть, если он дешевле. Это и есть каннибализация: новое забирает продажи у своего же старого. Ниже — какие бывают виды каннибализации, как посчитать её долю и чистый прирост, почему сравнение «до и после» почти всегда врёт и как выглядит такой разбор на учебной базе.

Коротко

Каннибализация продаж — ситуация, когда новый продукт, тариф, канал, акция или функция получают часть результата за счёт того, что уже было у компании, а не за счёт новых клиентов или новых покупок.

  • Доля каннибализации = потерянные продажи старого ÷ продажи нового. 60% значит, что из каждых десяти продаж новинки шесть забраны у своего же товара.
  • Чистый прирост = продажи нового − потерянные продажи старого. Считать его нужно и в штуках, и в марже: дешёвая новинка может давать плюс в штуках и минус в деньгах.
  • «Потерянные продажи» — это разница с тем, что было бы без запуска, а не с прошлым месяцем. Без контрольной группы, контрольного региона или прогноза эту разницу не узнать.
  • Виды: новый товар против старого, акция против будущих покупок, платный канал против органики, новая функция против старой.
  • Каннибализация не всегда плоха. Переход клиентов на более дорогой тариф — тоже каннибализация, но выгодная.

Что такое каннибализация простыми словами

Название — метафора: компания «поедает» собственные продажи. Магазин вводит молоко под своей маркой — часть покупателей перестаёт брать привычный бренд с той же полки. Сервис запускает годовую подписку со скидкой — её оформляют те, кто и так платил бы помесячно. Компания покупает рекламу по своему названию — по ней кликают люди, которые уже искали именно её и нашли бы сайт в обычной выдаче.

Во всех случаях новый источник выглядит успешным в собственном отчёте. Вопрос аналитика другой: насколько вырос общий результат компании. Его разность с результатом нового источника и есть каннибализация.

У слова есть второе значение — SEO-каннибализация, или каннибализация ключевых запросов. Так называют ситуацию, когда несколько страниц одного сайта отвечают на один и тот же поисковый запрос и конкурируют друг с другом в выдаче. Лечится это редакторски: страницы объединяют, разводят по разным запросам или ставят ссылки на основную. Дальше речь о каннибализации продаж, каналов и функций — той, что приходится считать в данных.

Какие бывают виды каннибализации

Механика у всех видов одна, а данные для измерения — разные. Таблица помогает понять, что именно считать и с чем сравнивать.

Виды каннибализации и способ измерения
ВидПримерКак измерять
Новый товар или тариф забирает продажи старогодешёвый тариф «Лайт» рядом с основным; товар собственной марки на одной полке с брендомпродажи старого против прогноза или против магазинов/регионов без новинки; переходы конкретных клиентов со старого на новое
Промо забирает будущие покупки (pull-forward)скидка 30% на неделю: клиенты закупаются впрок и следующие недели не покупаютпродажи за несколько недель после акции против базового уровня; всплеск минус последующий провал
Платный канал забирает органикуреклама по брендовым запросам; ретаргетинг тех, кто и так вернулся быотключение рекламы в части регионов или на части аудитории; разность разностей по органике
Новая функция забирает использование старойбыстрый экспорт отчёта вместо полного конструктораA/B-тест: в тестовой группе считаем обе функции и целевое действие продукта целиком

Как посчитать каннибализацию: формула

Доля каннибализации показывает, какая часть продаж нового на самом деле переехала со старого. В числителе — сколько продаж старый товар потерял из-за запуска, в знаменателе — сколько продал новый за тот же период.

Пример условный, числа подобраны для наглядности. Сеть магазинов ввела молоко собственной марки. До запуска привычный бренд продавал 3000 упаковок в неделю. По прогнозу с учётом сезона без новинки он продавал бы 3100. После запуска бренд продаёт 2500, новинка — 1000 упаковок в неделю.

Потерянные продажи бренда — 3100 − 2500 = 600 упаковок. Доля каннибализации — 600 / 1000 = 60%. Чистый прирост — 1000 − 600 = 400 упаковок в неделю: только столько молока сеть продаёт сверх того, что продала бы без новинки.

Если сравнить просто «до и после», потери будут 3000 − 2500 = 500, а доля — 50%. Сезонный рост спрятал сто упаковок каннибализации. В обратную сторону ошибка тоже работает: если спрос падал бы и без запуска, «до и после» припишет новинке чужое падение.

Доля каннибализации
Доля = (ожидаемые продажи старого без запуска − фактические продажи старого) ÷ продажи нового

Ожидаемые продажи берут из контрольной группы, контрольного региона или прогноза, а не из прошлого периода. Доля 0% — новинка полностью дополнительная, 100% — она только перераспределила старые продажи.

Чистый прирост в деньгах: штуки обманывают

Каннибализация в штуках — полдела. У нового и старого товара разные цены и маржа, поэтому итог считают в деньгах. Продолжим условный пример: бренд стоит 100 ₽ и даёт 30 ₽ маржи с упаковки, собственная марка — 80 ₽ и 28 ₽.

Наивный отчёт о запуске: новинка принесла 1000 × 80 = 80 000 ₽ выручки в неделю. С учётом каннибализации выручка выросла на 80 000 − 600 × 100 = 20 000 ₽. Маржа выросла на 1000 × 28 − 600 × 30 = 28 000 − 18 000 = 10 000 ₽. Запуск выгоден, но по выручке вчетверо скромнее, чем в первой строке отчёта, а в марже приносит 10 000 ₽, а не 80 000. При доле каннибализации выше 93% маржа ушла бы в минус: 28 000 ₽ маржи новинки покрывают потерю не больше 933 упаковок бренда.

Та же логика работает для каналов. Допустим, на рекламу потратили 400 000 ₽ и получили 800 регистраций: CAC — 500 ₽. Если 300 из этих людей пришли бы сами через поиск или по рекомендации, рекламе принадлежат только 500 регистраций, и стоимость дополнительного клиента — 800 ₽. Канал, который окупался при 500 ₽, при 800 ₽ может оказаться убыточным.

Чистый прирост
Чистый прирост = продажи нового × маржа нового − потерянные продажи старого × маржа старого

В штуках: продажи нового × (1 − доля каннибализации). Для канала: дополнительные клиенты = клиенты канала − клиенты, которые пришли бы сами; стоимость дополнительного клиента = расходы ÷ дополнительные клиенты.

Промо и pull-forward: покупки, взятые взаймы у будущего

Акция почти всегда даёт всплеск. Часть всплеска — новые покупки, часть — покупки, которые клиенты сделали бы позже по полной цене. Второе называют pull-forward: акция «вытягивает» спрос из будущих недель. Для товаров с запасом — бытовая химия, корм, кофе — эффект особенно заметен: покупатель берёт три упаковки и месяц не возвращается.

Условный пример. Обычно товар продаётся 1000 штук в неделю. В неделю скидки — 1800, в две следующие — 850 и 920. Всплеск 800 штук, провал после акции 150 + 80 = 230. Доля «взятых взаймы» продаж — 230 / 800 ≈ 29%, чистый прирост — 570. И это ещё без учёта того, что скидку получили все 1800 покупателей, включая тысячу, которые купили бы и по полной цене.

Провал после акции не всегда виден на общем графике. Игал Хендел и Авив Нево в работе 2003 года разбирали этот парадокс: в данных отдельных домохозяйств запасание впрок видно, а в агрегированных продажах магазина провал часто маскируют другие промоактивности — листовки и выкладки. Поэтому окно оценки берут шире недели акции и смотрят на сумму за несколько недель до и после, а не только на пик.

Как измерять каннибализацию без самообмана

Вся сложность — в «ожидаемых продажах без запуска». Это контрфактический сценарий: его нельзя наблюдать, его можно только оценить. Способов три, от надёжного к шаткому.

Контрольная группа. Новинку, тариф или функцию показывают случайной части клиентов, остальные живут как раньше. Разница между группами в продажах старого продукта и есть каннибализация, а разница в общем результате — чистый прирост. Для функций и тарифов в цифровом продукте это обычный A/B-тест; главное — выбрать метрикой итог продукта целиком, а не использование новой функции.

Контрольный регион или holdout. Когда рандомизировать людей нельзя — реклама в поиске, товар на полке, — меняют условия в части регионов или магазинов. Так поступил eBay: в 2012 году компания перестала покупать рекламу по запросам со своим названием в поисковиках Yahoo! и MSN, и 99,5% кликов, которые шли через рекламу, перешли в обычную выдачу. По небрендовым запросам рекламу отключили примерно в 30% медиарегионов США и сравнили продажи с остальными; результаты опубликованы в Econometrica в 2015 году. Противоположный ориентир дают исследования самого Google 2011 года: в 400 с лишним случаях паузы рекламы в среднем 89% рекламных кликов не замещались обычными. Это исследование продавца рекламы, и это среднее по многим рекламодателям. Вывод не «правы одни или другие», а что доля каннибализации зависит от запросов и аудитории, и измерять её нужно на своих данных.

Разность разностей (difference-in-differences). Если есть регион или сегмент, куда изменение не дошло, сравнивают изменение метрики в обеих группах: эффект = (после − до в тестовой) − (после − до в контрольной). Метод держится на допущении параллельных трендов — без запуска обе группы менялись бы одинаково. Его проверяют на периоде до запуска, и ниже на учебных данных видно, что бывает, когда оно не выполняется.

Сравнение с прогнозом. Строят прогноз продаж старого продукта по истории — с трендом и сезонностью — и сравнивают с фактом. Это самый доступный способ и самый уязвимый: результат целиком зависит от того, как построен прогноз.

Разность разностей
Эффект = (Тест после − Тест до) − (Контроль после − Контроль до)

Работает, только если до запуска тестовая и контрольная группы двигались параллельно. Проверьте это на нескольких периодах до изменения.

Пример на учебной базе: забрал ли платный поиск органику

Посмотрим, как выглядит разбор каннибализации каналов на учебной базе «Маяк» — данных SaaS-сервиса отчётов: регистрации с 1 июня по 29 августа 2026 года, выгрузка закрыта 30 августа в 13:00. Рекламных расходов в базе нет, поэтому считаем только регистрации. Сначала проверим, когда появился каждый канал.

Результат запроса
channelfirst_signuplast_signupsignups
organic2026-06-012026-08-291747
partner2026-06-012026-08-29814
referral2026-06-012026-08-291037
paid_search2026-07-012026-08-291015
Первая и последняя регистрация по каналам привлечения
SELECT
  channel,
  MIN(signup_date) AS first_signup,
  MAX(signup_date) AS last_signup,
  COUNT(*) AS signups
FROM users
GROUP BY channel
ORDER BY first_signup, channel;

Регистрации по каналам и неделям

Платный поиск начинается 1 июля, остальные каналы работают с первого дня. Получается естественный эксперимент без контрольной группы: был июнь без рекламы, потом июль и август с ней. Гипотеза каннибализации такая: часть людей, которые пришли бы через поиск или по рекомендации, теперь кликают по рекламе. Если это так, рост органики и рекомендаций должен замедлиться с июля.

Считаем по неделям с понедельника: так у каждой точки одинаковый набор дней недели. Последняя неделя, с 24 августа, неполная — шесть дней, — и в сравнение не войдёт.

Регистрации «Маяка» по неделям и каналам

Учебные данные, 12 полных недель с 1 июня. Неделя 29 июня наполовину июньская: платный поиск в ней — с 1 июля.

organicreferralpartnerpaid_search
Регистрации по неделям и каналам
SELECT
  CAST(date_trunc('week', signup_date) AS date) AS week_start,
  COUNT(DISTINCT signup_date) AS days_in_data,
  SUM(CASE WHEN channel = 'organic' THEN 1 ELSE 0 END) AS organic,
  SUM(CASE WHEN channel = 'referral' THEN 1 ELSE 0 END) AS referral,
  SUM(CASE WHEN channel = 'partner' THEN 1 ELSE 0 END) AS partner,
  SUM(CASE WHEN channel = 'paid_search' THEN 1 ELSE 0 END) AS paid_search,
  COUNT(*) AS total
FROM users
GROUP BY 1
ORDER BY 1;

Три базовые линии — три разных ответа

Органика и рекомендации после запуска рекламы выросли. Но каннибализация — это не «упало ли», а «меньше ли, чем было бы». Возьмём бесплатные каналы вместе (organic + referral) и семь полных недель с рекламой, с 6 июля по 23 августа, и сравним факт с тремя вариантами ожидания: средняя неделя июня; линейный тренд июня, продолженный вперёд; разность разностей, где контролем служит партнёрский канал.

Столбец lost_pct — доля каннибализации: насколько бесплатные каналы недобрали до ожидания, в процентах от регистраций платного поиска за те же недели. Отрицательное значение значит, что факт выше ожидания и потерь не видно.

Результат запроса: недели 6 июля – 23 августа
baselineactualexpectedgappaid_searchlost_pct
разность разностей с partner16631211.3451.8816-55.4
средняя неделя июня16631218.0445.0816-54.5
линейный тренд июня16632337.3-674.381682.6
Organic + referral по неделям: факт и две базовые линии

Учебные данные. Тренд построен по четырём неделям июня (наклон +24,6 регистрации в неделю) и продолжен вперёд; средняя неделя июня — 174.

ФактЛинейный тренд июняСредняя неделя июня
Бесплатные каналы после запуска рекламы против трёх базовых линий
WITH weekly AS (
  SELECT
    CAST((CAST(date_trunc('week', signup_date) AS date) - DATE '2026-06-01') / 7 AS integer) AS week_n,
    SUM(CASE WHEN channel IN ('organic', 'referral') THEN 1 ELSE 0 END) AS free_signups,
    SUM(CASE WHEN channel = 'partner' THEN 1 ELSE 0 END) AS partner,
    SUM(CASE WHEN channel = 'paid_search' THEN 1 ELSE 0 END) AS paid_search
  FROM users
  GROUP BY 1
),
pre AS (
  -- четыре полные недели до рекламы: 1–28 июня
  SELECT
    AVG(free_signups) AS free_avg,
    AVG(partner) AS partner_avg,
    REGR_SLOPE(free_signups, week_n) AS slope,
    REGR_INTERCEPT(free_signups, week_n) AS intercept
  FROM weekly
  WHERE week_n BETWEEN 0 AND 3
),
post AS (
  -- семь полных недель с рекламой: 6 июля – 23 августа
  SELECT w.week_n, w.free_signups, w.partner, w.paid_search,
         p.free_avg, p.partner_avg, p.slope, p.intercept
  FROM weekly AS w
  CROSS JOIN pre AS p
  WHERE w.week_n BETWEEN 5 AND 11
),
baselines AS (
  SELECT 'средняя неделя июня' AS baseline, SUM(free_signups) AS actual,
         SUM(free_avg) AS expected, SUM(paid_search) AS paid_search
  FROM post
  UNION ALL
  SELECT 'линейный тренд июня', SUM(free_signups),
         SUM(intercept + slope * week_n), SUM(paid_search)
  FROM post
  UNION ALL
  SELECT 'разность разностей с partner', SUM(free_signups),
         SUM(free_avg + partner - partner_avg), SUM(paid_search)
  FROM post
)
SELECT
  baseline,
  actual,
  ROUND(CAST(expected AS numeric(18, 6)), 1) AS expected,
  ROUND(CAST(actual - expected AS numeric(18, 6)), 1) AS gap,
  paid_search,
  ROUND(CAST(100 * (expected - actual) / paid_search AS numeric(18, 6)), 1) AS lost_pct
FROM baselines
ORDER BY expected;

Что можно сказать по этим данным, а что нельзя

Одни и те же 1663 регистрации дают противоположные выводы. Против средней недели июня бесплатные каналы выросли на 445 регистраций — каннибализации не видно. Против линейного тренда они недобрали 674 регистрации, и выходит, что 82,6% «рекламных» регистраций реклама забрала у органики. Разница между выводами — не в данных, а в базовой линии.

Какая из линий честнее? Ни одна не надёжна. Средняя неделя июня игнорирует то, что органика в июне росла: со 139 до 212 регистраций за три недели. Линейный тренд, наоборот, продолжает этот рост бесконечно, хотя рост в первые недели после запуска продукта почти всегда замедляется сам. Четыре точки не говорят, какой формы кривая на самом деле.

Разность разностей с партнёрским каналом выглядит научнее, но ломается на допущении. В июне бесплатные каналы росли, а партнёрский стоял на месте (57, 64, 63, 61). Тренды до запуска не параллельны, значит, partner — плохой контроль, и плюс 452 регистрации от рекламы метод «нашёл» только потому, что сравнил растущий ряд с ровным. К тому же реклама в поиске могла задеть и партнёрский канал, а контроль не должен зависеть от изменения.

Честный вывод для отчёта: «С появлением платного поиска органика и рекомендации продолжили расти в абсолютных числах. Медленнее ли, чем росли бы без рекламы, по этим данным определить нельзя: результат зависит от выбранного прогноза в диапазоне от нуля до 83% каннибализации. Чтобы ответить, нужен контроль — регионы или аудитории, где реклама выключена». Обратите внимание и на неделю 29 июня: бесплатные каналы упали с 212 до 183 ровно в неделю запуска рекламы. Одна точка — не доказательство: следом пошёл рост, а партнёрский канал через неделю провалился до 32 без всякой причины в данных.

Учебные данные — не про настоящую рекламу

База «Маяк» сгенерирована для обучения, и как именно реклама влияла на органику, в ней не заложено намеренно. Пример показывает метод и его ловушки, а не реальную долю каннибализации платного поиска.

Переток между тарифами: доли в первых оплатах

Второй частый вопрос — не забирает ли один тариф клиентов у другого. В «Маяке» три тарифа: basic за 19, pro за 29 и team за 39 долларов в месяц. Новых тарифов в базе за лето не появлялось, поэтому разберём, как выглядел бы анализ, если бы 1 июля что-то поменялось — например, в pro добавили функцию. Начинают со структуры первых оплат по месяцам.

Результат запроса
pay_monthfirst_paymentsbasicproteambasic_pctpro_pctteam_pctavg_amount
2026-06-01167104451862.326.910.823.85
2026-07-013351841133854.933.711.324.64
2026-08-014102261384655.133.711.224.61
Доли тарифов в первых оплатах по месяцам
SELECT
  CAST(date_trunc('month', paid_at) AS date) AS pay_month,
  COUNT(*) AS first_payments,
  SUM(CASE WHEN plan = 'basic' THEN 1 ELSE 0 END) AS basic,
  SUM(CASE WHEN plan = 'pro' THEN 1 ELSE 0 END) AS pro,
  SUM(CASE WHEN plan = 'team' THEN 1 ELSE 0 END) AS team,
  ROUND(CAST(100.0 * SUM(CASE WHEN plan = 'basic' THEN 1 ELSE 0 END) / COUNT(*) AS numeric(18, 6)), 1) AS basic_pct,
  ROUND(CAST(100.0 * SUM(CASE WHEN plan = 'pro' THEN 1 ELSE 0 END) / COUNT(*) AS numeric(18, 6)), 1) AS pro_pct,
  ROUND(CAST(100.0 * SUM(CASE WHEN plan = 'team' THEN 1 ELSE 0 END) / COUNT(*) AS numeric(18, 6)), 1) AS team_pct,
  ROUND(CAST(AVG(amount) AS numeric(18, 6)), 2) AS avg_amount
FROM payments
WHERE payment_type = 'first'
GROUP BY 1
ORDER BY 1;

Как читать сдвиг структуры тарифов

Доля basic упала с 62,3% до 54,9%, доля pro выросла с 26,9% до 33,7%. Если бы в июле сохранилась июньская структура, из 335 первых оплат на basic пришлось бы около 208,6, а пришлось 184; на pro — около 90,3, а пришлось 113. Похоже, около 25 человек выбрали pro вместо basic. Это каннибализация вверх: каждый такой клиент платит на 10 долларов больше. При июньском среднем чеке 23,85 доллара 335 оплат принесли бы 7989,9 доллара, фактически — 8255, на 265 больше.

Теперь проверки, без которых этот вывод нельзя показывать. Первая — шум. В июне всего 167 первых оплат, и 95%-я погрешность разницы долей basic между июнем и июлем — около ±9,1 процентного пункта. Разница 7,4 пункта в неё укладывается. Вторая — состав: 120 из 167 июньских первых оплат сделали те, кто зарегистрировался в первой половине месяца, а в июле добавился платный поиск. Структура могла сдвинуться из-за того, кто платит, а не из-за тарифа; такие сдвиги разбирают по сегментам, иначе легко попасть в парадокс Симпсона. Третья — что вообще видно в данных. Ни один пользователь «Маяка» не платил за два разных тарифа, то есть прямых переходов basic → pro нет. В настоящем разборе первым делом ищут именно их: клиент, который сменил тариф, — прямое наблюдение каннибализации, а сдвиг долей — только косвенное.

Схема для реального запуска: зафиксировать структуру тарифов до изменения по нескольким месяцам, посчитать её по сегментам, выбрать контроль — регионы, когорты или A/B-группу без изменения, — и считать эффект в выручке и марже, а не в числе оплат нового тарифа.

Ошибки при оценке каннибализации

Почти все эти ошибки завышают успех нового.

  • Считать весь прирост нового продукта чистым. Продажи новинки, регистрации из рекламы, оплаты нового тарифа — это валовой результат. Без вычета потерь старого он отвечает на вопрос «сколько продал новый», а не «сколько заработала компания».
  • Сравнивать «до и после» без контроля. Сезонность, тренд, параллельные акции и изменения у конкурентов попадают в оценку целиком. На примере «Маяка» видно, что выбор базовой линии меняет ответ с нуля до 83%.
  • Брать контроль с другим трендом. Разность разностей с группой, которая и до запуска двигалась иначе, даёт уверенный и неверный ответ.
  • Игнорировать отложенный эффект промо. Оценка по неделе акции не видит провала в следующие недели и скидки, отданной тем, кто купил бы и так.
  • Считать каннибализацию в штуках, а решение принимать в деньгах. Дешёвая новинка с долей каннибализации 70% может давать плюс в штуках и минус в марже.
  • Измерять новую функцию по её собственному использованию. Рост использования быстрого экспорта ничего не говорит, если столько же людей перестали собирать полные отчёты.
  • Не смотреть на каннибализацию у конкурентов. Если новинка не заберёт продажи старого товара, их может забрать чужой продукт. Иногда каннибализировать себя выгоднее, чем отдать долю рынка.

Частые вопросы

Что такое каннибализация в маркетинге?

Это ситуация, когда новый продукт, канал или акция компании получают продажи за счёт её же существующих продуктов и каналов, а не за счёт новых клиентов. Например, реклама по брендовому запросу приводит людей, которые и так нашли бы сайт в обычной выдаче.

Как посчитать каннибализацию?

Оцените, сколько продал бы старый продукт без запуска нового, — по контрольной группе, контрольному региону или прогнозу. Разница между ожиданием и фактом — потерянные продажи. Разделите их на продажи нового: это доля каннибализации. Чистый прирост — продажи нового минус потерянные продажи старого.

Какая доля каннибализации нормальная?

Универсальной нормы нет. Допустимая доля зависит от маржи: если новинка маржинальнее старого товара, можно позволить себе высокую каннибализацию, если дешевле — даже 50% могут сделать запуск убыточным. Считайте порог из маржи, как в примере выше.

Что такое каннибализация трафика?

Так называют ситуацию, когда платный канал получает визиты или конверсии, которые пришли бы бесплатно: через органическую выдачу, прямые заходы или рекомендации. Измеряют её отключением рекламы на части регионов или аудитории и сравнением с контролем.

Чем каннибализация продаж отличается от SEO-каннибализации?

Каннибализация продаж — про деньги и клиентов: новый продукт забирает продажи старого. SEO-каннибализация — про поисковую выдачу: несколько страниц одного сайта конкурируют за один запрос.

Итог

Каннибализация — разница между тем, что принёс новый товар, тариф, канал или акция, и тем, на сколько вырос общий результат. Считают её долю как потерянные продажи старого, делённые на продажи нового, а решение принимают по чистому приросту в марже. Самая трудная часть — оценить, что было бы без запуска, и здесь нет замены контролю: случайной группе, региону без изменения или хотя бы проверенной разности разностей. На учебных данных «Маяка» один и тот же рост органики после запуска рекламы читается и как отсутствие каннибализации, и как 83% — в зависимости от базовой линии. Это главный урок темы: прежде чем считать долю, договоритесь, с чем сравниваете.

Все запросы из статьи выполняются на учебной базе: попробуйте другую базовую линию — например, тренд по двум последним неделям июня — и посмотрите, как меняется ответ. В Симуляторе SQL-аналитика каналы, когорты и выручку разбирают на этой же базе продукта.

Продолжить чтение
Вся библиотека
Продуктовая аналитика14 октября 2026 г.15 мин
Кольцо из четырёх дуг со стрелками, одна дуга выделена цветом.

HADI-циклы: что это, как формулировать гипотезы и пример на данных

HADI-цикл — способ проверять гипотезы по шагам: Hypothesis, Action, Data, Insight. Шаблон формулировки, пример цикла с числами на учебной базе, журнал гипотез, отличие от A/B-теста и PDCA.

Читать материал
Продуктовая аналитика14 октября 2026 г.17 мин
Пять столбцов разной высоты, выстроенных по убыванию; самый высокий выделен цветом.

RICE и ICE: приоритизация гипотез с Reach из данных, а не из головы

Формулы RICE и ICE со шкалами из первоисточников, расчёт Reach запросами на учебной базе, таблица RICE для пяти инициатив, проверка чувствительности и сравнение с MoSCoW и моделью Кано.

Читать материал