Есть неприятный сценарий, знакомый почти каждому, кто долго работает с продвижением на маркетплейсе. Кампании в плюсе. ДРР в пределах нормы, ROAS красивый, заказы с рекламы идут. А общая прибыль по товару стоит на месте. Вы добавляете бюджет — выручка с рекламы растёт, а суммарная почти нет. Ощущение, будто вы бежите, а картинка за окном не меняется.
За этим почти всегда стоит каннибализация: буст не приводит новый спрос, а замещает ваш же органический. Вы платите за клики и заказы, которые пришли бы и без него. И самое коварное - стандартные метрики этого не показывают: они по определению смотрят только на то, что атрибутировано рекламе, и не умеют вычесть то, что вы при этом потеряли в органике.
Эта статья про то, как каннибализацию посчитать. Не «почувствовать», а измерить числом на данных, которые у вас уже есть. Но сначала я хочу сменить саму рамку, потому что от неё зависит всё остальное.
Каннибализация — это не проблема. Это мерило
Обычно каннибализацию воспринимают как поломку, которую надо устранить. Мне ближе другая формулировка: каннибализация - это мерило. Мерило разрыва между тем, на что мы рассчитывали, включая буст, и тем, что происходит на самом деле.
Логика менеджера, когда он поднимает ставку, простая: подниму карточку выше - получу больше потока - вырастут продажи. Это амбиция! А буст может сделать одно из двух: либо действительно вытащить товар на новый объём, либо просто переоформить в платное тот спрос, который вы и так забирали. Каннибализация - это ровно то число, которое показывает, что из двух случилось. Она не про то, «сломалось или нет». Она про то, совпала ли ваша амбиция с реальным положением товара.
И тут важно понять, кто на самом деле принимает решение. Не вы. Алгоритм.
Что делает алгоритм, когда вы платите
Маркетплейс честно берёт деньги за продвижение - но дальше он смотрит на карточку. И если карточка не справляется (плохо конвертирует, неконкурентна в своем предмете), алгоритм делает не то, чего вы ждёте. Он не расширяет вам охват - он его замещает. Показывает вашу карточку платно там, где она и так стояла бы в органике. Вы заплатили за подъём, а получили ту же самую аудиторию, просто теперь оплаченную.
Это ключ ко всему. Каннибализация это, по сути, считываемый вердикт алгоритма о вашем товаре. Если он решил, что товар тянет, - он даёт реальный прирост, и буст окупается новым спросом. Если решил, что не тянет, - он забирает деньги и замещает органику. Измеряя каннибализацию, вы читаете именно это решение: расширил вас алгоритм или только переклеил бесплатное в платное.
Почему это опасно вдвойне: два сценария замещения
Замещение бывает разной глубины, и понимать разницу важно.
Сценарий первый - буст позиции. Вы поднимаете карточку выше на площадке, где уже присутствуете. Позиция растёт, а объём корзин - не обязательно, потому что дополнительные корзины вы набираете, замещая собственную органику, плюс сверху немного реального прироста. В худшем случае прироста нет вовсе: вы просто выкупили то, что было вашим.
Сценарий второй - расширение плейсмента. И вот он куда опаснее. В поиске на сегодняшний день почти весь ваш объём и так платный - там буст органику почти не трогает, потому что органики там у вас и нет собственно. Но есть другие плейсменты - рекомендательные полки, - где ситуации ровно обратная: там много органики. И когда менеджер, надеясь на рост, раскатывает буст туда, он начинает замещать бездумно: выкупает платно то, что полка отдавала бесплатно. Это и есть фатальный случай - мы своими руками загоняем товар в рекламную зависимость на территории, которая работала сама.
В обоих сценариях вопрос один и тот же - дал ли подъём тот эффект, на который мы рассчитывали, или буст просто занял место органики. На этом вопросе и строится расчёт.
Как считать
Всё считаем за один период (неделю) по одному товару. Нужны данные, которые есть в любой выгрузке воронки и рекламного кабинета:
Расчетные показатели
Здесь важно точно понимать, что такое норматив, потому что вокруг этого много путаницы.
Норматив — это плановая цель, к которому мы стремимся. Он строится на конверсионной модели прошлых показателей товара, при расчете норматива мы действуем так: расширяем поток и гасим его конверсию в корзину (на большем и более холодном объёме конверсия естественно ниже, и эту поправку надо учесть) и получаем истинную конверсию, которую хотим получить. Проще говоря, это цифра, которую мы сами любовно рассчитали, как цель.
И вот когда поверх этой цели мы запускаем рекламу и меряем каннибализацию, вопрос ставится так: реальность бьёт наш расчёт - товар вытягивает поток сверх плана, это настоящий рост, или нас уже режут и замещают даже на тех цифрах, что мы сами запланировали? Каннибализация, это сверка амбиции (плана) с тем, что происходит на самом деле. Дальше - как её посчитать.
Первый вопрос - дотягивает ли товар до плана сам, без рекламной подпорки. Убираем из факта рекламный вклад и смотрим, сколько планового объёма остаётся:
Удержание без рекламы = (Корзина факт − Корзина реклама) / Корзина план
Читается так: результат около 1 - товар и без рекламного плеча выходит на план, буст идёт сверху как добавка; заметно ниже 1 - план мы вытягиваем уже за счёт платного, то есть сам товар до рассчитанной цели не дотягивает, его замещают на наших же цифрах.
Пороги удобно держать такие:
Точка 0,5 — это ровно «половину планового объёма несёт уже реклама».
Сразу честная оговорка, у удержания есть встроенная чувствительность к рекламной доле. Чем больше объёма товар законно берёт с платного, тем ниже выйдет удержание - просто по арифметике, ведь норматив смешанный (органика плюс реклама), а из числителя мы рекламу вычли. Поэтому низкое удержание само по себе - ещё не приговор. Что с ним делать и с чем сверять — отдельный разговор, к которому я вернусь перед кейсами.
Второй вопрос, самый прямой - дал ли буст реальный прирост сверх плана и какой.
Считаем долю платного объёма, которая является новым спросом поверх рассчитанной цели:
Прирост буста = (Корзина факт − Корзина план) / Корзина реклама
Близко к 1 - почти весь платный объём это реально новый спрос сверх плана, буст сработал.
Около 0 - буст не поднял ничего сверх рассчитанной цели, весь платный объём просто закрыл план вместо органики.
Отрицательно - не дотянули и до плана (об этом ниже).
Вот эта метрика и есть прямой ответ на вопрос «оправдалась амбиция или нас замещают на своих же цифрах».
Почему замещение - это ранний сигнал, а не итог
Здесь самое важное, ради чего вообще стоит это считать.
Замещение - не финальная неприятность, которую вы фиксируете постфактум. Это предвестник.
Смотрите, как разворачивается ситуация. Алгоритм видит, что карточка не конвертирует поток, и начинает замещать органику вместо расширения. Замещение нарастает, вы приближаетесь к 100% - то есть к точке, где весь ваш объём стал платным и замещать уже нечего. А дальше упираемся в потолок: больше потока алгоритм вам не даёт и откатывает показы, потому что видит - вы не конвертируете то, что уже получили. Смысла лить на вас трафик у него нет.
То есть цепочка такая: не конвертируем - алгоритм замещает, а не расширяет - доходим до 100% замещения - откат показов - потока больше нет. И каннибализация ловит эту историю на первом шаге, задолго до того, как она проявится обвалом показов и продаж. Это переводит метрику из разряда «посчитать, сколько уже утекло» в разряд «предсказать, когда нас срежут». В этом её настоящая ценность.
Главная ловушка: замещение или просто упал спрос?
Формула удержания отвечает на вопрос «почему органических корзин меньше плана?» одним ответом - «их заместил буст». Но у недобора есть и другая причина: спрос на товар просто упал.
Сезон, проигранная цена, испортившаяся карточка. Тогда органика ниже плана не из-за рекламы, а сама по себе, и если применить формулу бездумно, вы обвините буст и отключите рекламу - а проблема останется.
Различает эти ситуации один признак: держится ли общий объём. Если буст перекупает органику, общий поток (органика плюс реклама) остаётся на уровне плана или выше - спрос есть, он просто переехал в платное. Если обвалился и общий объём - товар в принципе не набирает трафик, это дефицит спроса, а не каннибализация.
Отсюда правило, которое обязательно зашить в расчёт:
Замещение засчитываем, только если общий факт кликов ≥ плана
Иначе просадка органики это дефицит спроса, а не каннибализация.
Без этой защиты метрика превращается в детектор «любого товара, который недобрал план», и доверять ей нельзя.
Чем каннибализация НЕ является
Раз уж мы договорились, что каннибализация - это мерило замещения, важно сразу очертить её границы. Она измеряет ровно одно: заместил буст органику или дал прирост. Она не измеряет качество - то, насколько хорошо товар конвертирует поток.
Это отдельная ось, и меряется она другими показателями: общей конверсией товара против норматива, приведённого к объёму (на большем и более холодном потоке конверсия естественно чуть ниже, и это надо учитывать).
Смешивать их нельзя, и вот почему это принципиально. Товар может отлично конвертировать, но при этом буст будет замещать его органику - это каннибализация при хорошем качестве. И наоборот: товар может не замещать ничего, но плохо переваривать поток - это проблема качества без всякой каннибализации.
Это разные болезни с разным лечением, и если валить их в одну метрику, вы не поймёте, что чинить. Каннибализация отвечает за «дал ли буст объём». Качество - за «а конвертируем ли мы этот объём».
Ниже в кейсах я специально покажу оба «двойника», которые часто принимают за каннибализацию.
Почему замещение нельзя применять в одиночку
Вернусь к слабости удержания, которую честно оговорила выше. Она означает простую вещь: низкое удержание - сигнал, а не решение. Оно говорит «объём держится на платном», но не говорит, плохо это или нет.
Товар, который законно живёт почти целиком на бусте, покажет низкое удержание - и это может быть нормой, а может быть началом конца. Одна метрика этого не различает. Различает совпадение сигналов.
Замещение мы читаем в связке с двумя лампами.
Первая - давление ставки: во сколько раз дороже норматива обходится нам объём (стоимость привлечения по факту против нормативной). Если платим примерно по нормативу - рост честный; если в полтора-два раза дороже - объём куплен переплатой, а не заработан товаром.
Вторая - поток: держится ли объём кликов и корзин к плану или уже начал сыпаться. Падающий поток означает, что контур поехал - товар перестаёт удерживать даже то, что имел.
И тогда одно и то же замещение читается по-разному:
Вот почему каннибализация - сигнал сильный, но не единоличный. Она фиксирует, что объём замещается; решение принимается вместе со ставкой и потоком. Ровно на этом ломается поспешный вывод «низкое удержание нужно отключить»: без взгляда на ставку и поток он неверен.
В шестом кейсе я покажу это на живом товаре.
Шесть кейсов
Теория становится понятной на числах. Разберём шесть типовых ситуаций - они покрывают и саму каннибализацию, и то, что за неё ошибочно принимают, и то, как принимается итоговое решение. Формат одинаковый: данные, как это читают обычно, что происходит на самом деле, и что с этим делать.
Кейс 1. Буст поднял позицию, но заместил органику
База: план 1000 кликов, 60 корзин
Факт: 1800 кликов (из них 1200 буст), 90 корзин (из них 60 с рекламного объёма)
Как это видно сейчас. Реклама «принесла» 60 корзин, товар суммарно сделал 90 против плана 60 - плюс 50%. Позиция поднялась. Вывод: буст работает, добавить бюджет.
Что на самом деле. Органических корзин осталось 30 против плана 60 - удержание 0,5. Прирост буста: (90 − 60) / 60 = 0,5 - то есть только половина рекламных корзин это реально новый объём, вторая половина переклеена из органики. Общий поток 180% плана, спрос есть, защита сигнал засчитывает. Итог: буст поднял позицию, но половину «победных» корзин мы просто выкупили у самих себя.
Вывод. Это ровно точка 0,5 - деградация замещением. Красивый рост на 50% наполовину оплачен из собственного кармана. По валовым цифрам этого не видно - только когда отделяешь органику.
Что делать. Не наращивать бюджет: прирост здесь наполовину фиктивный. Дальше свериться со ставкой и потоком (кейс 6). Переплачиваем за объём или поток поехал - снижать долю. Пока ставка в норме и поток держится - держать как есть и не пускать зависимость глубже.
Кейс 2. Похоже на каннибализацию, но это качество
База: план 2000 кликов, 100 корзин
Факт: 4000 кликов (из них 1000 буст), 140 корзин (из них 50 с рекламного объёма)
Как это видно сейчас Товар недобирает по ощущению, конверсия слабая - «наверное, реклама ест органику».
Что на самом деле. Органических корзин 90 против плана 100 - удержание 0,9, органика почти цела. Прирост буста (140 − 100) / 50 = 0,8 - буст добавил реальный новый объём, ничего не заместил. Каннибализации здесь нет. Но общая конверсия 140 / 4000 = 3,5% против норматива 5,0% - товар плохо переваривает поток. Это проблема качества, а не замещения, и лечится она работой с карточкой, а не отключением буста.
Вывод. Классический двойник. Если бы мы валили качество в каннибализацию, мы бы «диагностировали» замещение там, где буст как раз сработал, и приняли ровно неверное решение.
Что делать. Буст не трогать - он приводит реальный объём. Лечить конверсию: карточка, контент, цена, отзыв - чтобы товар переваривал поток, который мы на него завели. Отключение здесь стоило бы нам живого спроса.
Кейс 3. Второй двойник: это обвал спроса
База: план 4000 кликов, 235 корзин
Факт: 1000 кликов (из них 700 буст), 48 корзин (из них 40 с рекламного объёма)
Как это видно сейчас. Органических корзин всего 8 при плане 235 - удержание 0,03, катастрофа. Формула в лоб кричит: «тотальная каннибализация, отключать!».
Что на самом деле. Общий поток 1000 против плана 4000 - 25% плана. Товар не набирает и четверти объёма ни органикой, ни бустом вместе. Это не буст съел органику - обвалился спрос, и рекламные 40 корзин чуть ли не всё, что товар вообще смог выжать. Защита (общий факт ≥ плана) не выполнена - сигнал не засчитываем.
Вывод. Без защиты метрика указала бы противоположное правильному. Отключишь буст - потеряешь последние продажи, а корень (спрос) так и не тронешь.
Что делать. Рекламу не трогать - она не виновата. Работать со спросом: цена, сезонность, карточка, конкуренты. Каннибализация тут молчит осознанно, и это правильно.
Кейс 4. Маленький товар, но замещение настоящее
База: план 100 кликов, 5 корзин
Факт: 139 кликов (из них 90 буст), 9 корзин (из них 5 с рекламного объёма)
Как это видно сейчас. «Пять корзин плана, статистики нет, пропускаем». И зря.
Что на самом деле. Органических корзин 4 против плана 5 - удержание 0,8. Общий поток 139% плана - спрос есть, защита пропускает. Значит, часть объёма буст действительно забрал. Мягко, но реально.
Вывод.Малый объём - не повод отмахнуться, если направление ясное и общий поток на месте. Ненадёжен норматив на паре корзин - это да, но не сам факт замещения. Тысячи таких мелких товаров в сумме и составляют заметную часть перекупленного бюджета.
Что делать. На одном таком товаре реагировать не стоит - реакция не окупит внимания. Но такие товары лечат группой: если замещение мягко тлеет по сотням мелких карточек, долю рекламы стоит подрезать по всей группе разом.
Кейс 5. Здоровый буст, замещения нет
База: план 1000 кликов, 50 корзин
Факт: 2500 кликов (из них 1200 буст), 135 корзин (из них 70 с рекламного объёма)
Что происходит. Органических корзин 65 против плана 50 - удержание 1,3, органика не просто цела, а выросла. Прирост буста (135 − 50) / 70 = 1,2 - весь платный объём это новый спрос. Суммарно 135 корзин против плана 50, 270%. Алгоритм решил, что товар тянет, и дал реальное расширение.
Вывод. Вот как выглядит буст, который нужно масштабировать: общий объём вырос кратно, органика не просела. Контрольный кейс - метрика не параноик и молчит, когда всё честно.
Что делать. Масштабировать. Это тот случай, ради которого буст и существует: новый спрос без ущерба органике. Бюджет можно добавлять.
Кейс 6. Победитель, которого правильно отключить
Самый важный кейс - тот, где решение рождается из совпадения сигналов, а не из одного. Взят с живого товара.
База: план 85 корзин
Факт: 230 корзин (из них 210 буст), органика 20
Плюс: давление ставки ×2 (платим вдвое дороже норматива), поток уже сыпется
Как это видно сейчас. 270% плана! Флагман, лить ещё бюджет.
Что на самом деле. Разберём по слоям.
Прирост буста: (230 − 85) / 210 = 0,69 - да, две трети платного объёма это реально новый спрос сверх плана. По одному этому числу - победа.
Но удержание: (230 − 210) / 85 = 0,24 - органика выхолощена до 20 корзин из плановых 85. Товар держится почти целиком на платном. И вот здесь я специально не спешу с приговором: само по себе низкое удержание, как мы договорились, ещё ничего не решает - высокая рекламная доля могла быть и нормой.
Поэтому смотрю на две лампы. Давление ставки - ×2: рост куплен не товаром, а переплатой. Поток - уже сыпется: контур поехал. Складываю всё вместе: рост есть, но он куплен вдвое дороже нормы, органика съедена подчистую, а поток начал терять высоту. Это не флагман - это товар на аппарате. Сначала реклама съела весь план органики, потом пошла замещать дальше, и всё это на переплате.
Что делать. Отключать (или резко снижать). Не из-за одного замещения - а потому что по совокупности сигналов рост нежизнеспособен: убрать переплату и дать органике восстановиться. Оставим как есть - упрёмся в 100% замещения, и тогда откат показов прилетит уже без нашего решения.
И обратная сторона, ради чистоты вывода. Будь у того же товара ставка в норме и поток на месте - то же удержание 0,24 читалось бы иначе: не приговор, а зависимость. Решение тогда - не рубить, а осторожно снижать долю и отстраивать органику. Один и тот же уровень замещения при разном окружении требует разных действий. Поэтому замещение и не применяют в одиночку - только в связке со ставкой и потоком.
Сколько денег реально утекает
Посчитать замещение как сигнал - полдела. Полезно перевести его в деньги, и тут тонкость: не весь рекламный бюджет по проблемному товару - потеря. Часть буста всё же приводит новый спрос. Утекает только доля расхода, ушедшая на перекупку органики. Считается через потерю органики: оцениваем недобор органических корзин против норматива, ограничиваем его рекламным вкладом (буст не мог «съесть» больше, чем сам принёс) и берём соответствующую долю расхода.
Потеря органики = CR_норматив × (Клики факт − Клики реклама) − (Корзина факт − Корзина реклама)
Каннибализировано= min(Потеря органики, Корзина реклама)
Утекший расход строки = Расход рекламы × Каннибализировано / Корзина реклама
Такой расчёт отделяет «буст, который заместил бесплатное» от «буста, который привёл реальный спрос», и даёт честную цифру утекающего бюджета вместо валового рекламного расхода. Именно её имеет смысл показывать руководству - вместе с прогнозом отката показов, к которому замещение ведёт.
Одно предостережение про норматив
Вся математика стоит на сравнении с нормативом - с тем плановым таргетом, который мы сами рассчитали. Значит, достоверность вывода упирается в качество норматива сильнее, чем в саму формулу. Строится он от ретроспективы самого товара (а она, повторюсь, всегда органика плюс реклама), приведённой к текущему объёму через расширение потока и гашение. Если план занижен или задран - метрика поедет вслед за ним. Это фундамент, на котором стоит вся конструкция, и на нём не стоит экономить: каннибализация ровно настолько честна, насколько честен план, с которым мы сверяемся.
И ещё две честные оговорки, чтобы у придирчивого читателя не осталось лазеек.
Первая: норматив строится на прошлом самого товара, а в том прошлом уже сидела та зависимость, что была тогда. Значит, метрика ловит не абсолютную каннибализацию, а сдвиг относительно вашей же истории - свежее ухудшение она видит острее, чем давно устоявшуюся, вросшую в норматив зависимость. Это не порок, а граница применимости: держите её в голове, когда сравниваете товар только с самим собой.
Вторая: деление трафика на «платный» и «органический» задаёт не физика, а атрибуция площадки, а на бусте продажи с поднятых позиций она склонна зачислять рекламе. Поэтому направление метрика показывает верно, но к абсолютным суммам «сколько именно перекуплено» относитесь как к оценке сверху, а не как к точной цифре.
Что забрать с собой
Каннибализация буста - не поломка, которую надо стыдливо прятать, а измеримое мерило того, совпала ли ваша ставка на продвижение с реальным положением товара. Собирается она из нескольких простых идей.
Оценивать буст нужно не против нуля, а против плана, который мы сами рассчитали как цель, и помнить, что этот план не «чистая органика», а таргет из прошлого опыта товара, где органика и реклама всегда шли вместе. Решает не менеджер, а алгоритм: слабую карточку он не расширяет, а замещает, и каннибализация - это считываемый вердикт этого решения: бьём мы свой план или нас режут даже на нём.
Замещение - ранний сигнал, а не итог: оно предсказывает откат показов задолго до обвала, потому что путь «не конвертируем - замещение - 100% - срез потока» разворачивается именно в таком порядке. Но замещение сигнал, а не приговор: само по себе низкое удержание ещё ничего не решает, потому что чувствительно к рекламной доле; решение рождается только в связке со ставкой (не переплачиваем ли за объём) и потоком (не сыпется ли он).
Каннибализацию нельзя путать ни с падением спроса (различает признак «держится ли общий объём»), ни с проблемой качества (это отдельная ось - конвертируем ли мы поток). Самый опасный ход раскатывать буст на плейсменты, где живёт органика: там замещать есть что, и товар быстро уходит в полную рекламную зависимость. А в деньги переводить стоит не весь бюджет, а только перекупленную долю.
Внедрите это в свою аналитику и «успешные» кампании, которые годами тихо оплачивали ваш собственный бесплатный трафик, наконец станут видимыми. Обычно их оказывается неприятно много.