A/B-тест промокодов: как выбрать механику акции и не раздать маржу
Скидка 10%, бонусы или подарок к заказу — что принесет больше маржи? Разбираем методику A/B-теста промокодов: от гипотезы и выборки до подсчета uplift по деньгам.
«Скидка 15% по промокоду» — ушло всей базе. Выручка за неделю подросла, финансист смотрит на маржу и хмурится, а на вопрос «какая часть покупателей пришла бы и без скидки» никто ответить не может. На следующий месяц акцию повторяют. Потому что «в прошлый раз сработало».
Мы в ClientCore регулярно разбираем промо-историю новых клиентов и почти всегда находим одно и то же: 20–40% промокодов активируют люди, которые купили бы и так. Дарья Касаткина, CRM-маркетолог ClientCore, помогла собрать рабочую методику: как протестировать механику акции до большого запуска и выбрать вариант, который приносит маржу.
ЧИТАЙТЕ ТАКЖЕ
«Блок рекомендаций дал +20% к кликам в тесте, а выручка не сдвинулась? Разбираем, как отделить эффект данных от эффекта шаблона в A/B-тестах персонализации.»
Механику акции обычно выбирают так: посмотрели на конкурентов, вспомнили, что «в прошлый раз вроде зашло», заложили 15%, потому что 20% — страшно, а 10% — «незаметно». Данных за этим решением нет.
Между тем разные механики работают на трех уровнях: конверсия в заказ, средний чек, маржа после вычета стоимости стимула. И уровни эти двигаются не синхронно. Скидка 20% может поднять конверсию на треть и одновременно уронить маржу на заказ почти в ноль. Подарок себестоимостью 250 рублей иногда дает тот же подъем конверсии, что скидка 15%, но съедает вдвое меньше маржи. Пока это не протестировано на вашей базе — любой выбор остается гаданием.
Иногда сильный стимул вообще лежит вне скидочной логики. В проекте для ресторана «Урюк» мы заменили привычную скидочную механику розыгрышем сертификатов через email: выручка от акции оказалась в 20,7 раза выше затрат на призовой фонд, плюс 2435 новых участников программы лояльности (кейс). Скидка раздает маржу всем участникам акции, розыгрыш — нескольким победителям, а азарт на конверсию работает не хуже.
Первое, что я прошу у нового клиента, — историю акций за полгода с маржой по каждой. Почти всегда находится кампания, которая „сработала" по выручке и ушла в минус по марже. После этого разговор про тесты идет легко: люди видят конкретную сумму, которую подарили покупателям».
Дарья Касаткина
CRM-маркетолог, ClientCore
Что тестировать: от механики к деталям
Тесты имеет смысл выстраивать в порядке убывания влияния на деньги.
Первый уровень — сама механика: процентная скидка против фиксированной суммы, бонусные баллы, подарок к заказу, бесплатная доставка, розыгрыш. Решение на этом уровне самое дорогое, и его почему-то тестируют реже всего.
Второй уровень — глубина стимула: 10% против 15%. Часто выясняется, что разница в конверсии минимальная, а в марже — ощутимая.
Третий уровень — условия: порог применения («от 3000 ₽»), срок жизни кода, ассортиментные ограничения.
Когда спрашивают, что тестировать в рассылках в первую очередь, я отвечаю: то, что бьет по марже напрямую. Тема письма влияет на открытия, механика — на то, сколько денег останется после акции. Бюджет тестов всегда ограничен размером базы, тратить его на кнопки стоит в последнюю очередь».
Дарья Касаткина
CRM-маркетолог, ClientCore
Норма
одна переменная на тест: скидка 15% против подарка при одинаковом письме, сегменте и дедлайне
гипотеза сформулирована и записана до запуска
у каждого варианта заранее посчитана стоимость стимула
Red flag
в тестовой ветке поменяли механику, тему письма и срок акции одновременно
гипотеза придумана задним числом под уже увиденный результат
тест запущен, «чтобы было», без решения, которое примут по итогам
Как собрать тест: выборка, контроль, длительность
Случайное распределение. Никаких «первых пяти тысяч по списку» — база в списке отсортирована не случайно, и ветки получатся разными по составу. В Mindbox это решается встроенным A/B-механизмом или рандомизацией внутри сценария.
Размер выборки. Ориентир: при конверсии в заказ около 1% и разнице, которую вы хотите поймать, в 20% относительных (с 1% до 1,2%), нужно порядка 20–25 тысяч получателей на ветку. Чем ниже базовая конверсия, тем больше требуется база. На маленькой базе тестируют контрастные различия: скидку против подарка, а не 10% против 12%.
Контрольная группа. Ветка без промокода вообще. Без нее вы узнаете, какой вариант сработал лучше, но не узнаете главного — нужен ли стимул как таковой.
Длительность. Срок действия кода плюс 3–7 дней на отложенные покупки, обычно это 2–4 недели. Остановка на третий день, потому что «один вариант явно лидирует», — классическое подглядывание: ранние реагирующие клиенты не репрезентативны.
Отдельно про техническую часть. Под настройку промокодов в Mindbox заводите отдельный пул для каждой ветки теста — тогда факт активации привяжется к варианту, даже если человек вернулся с другого устройства. Коды персональные, уникальные на клиента. Общий код вида SALE15 утекает на купонные агрегаторы и ломает чистоту эксперимента.
Клиент однажды принес результат теста: вариант Б победил с отрывом в 40%. Стали разбираться — общий код из ветки Б за неделю до этого опубликовал купонный сайт, и на него скупили всё подряд люди, которые рассылку вообще не получали. Персональные пулы в Mindbox закрывают эту дыру раз и навсегда».
Дарья Касаткина
CRM-маркетолог, ClientCore
Метрика теста: маржинальный uplift
Главная ловушка промокодных тестов — победитель по конверсии проигрывает по деньгам. Поэтому считаем так:
Маржинальный uplift = (маржа на получателя в тестовой ветке − маржа на получателя в контроле) / маржа на получателя в контроле.
Маржа ветки — это сумма по всем заказам: выручка минус себестоимость минус стоимость стимула (размер скидки или себестоимость подарка), деленная на число получателей ветки.
Пример с реалистичной арифметикой. Ветка А — скидка 15%: конверсия 2,1%, средний чек 4200 ₽, маржинальность 35%. Ветка Б — подарок себестоимостью 280 ₽ с порогом от 4000 ₽: конверсия 1,9%, чек 4400 ₽. Контроль: конверсия 1,4%, чек 4100 ₽. Считаем на 1000 получателей:
По конверсии победила скидка. По деньгам — подарок, а скидка ушла в минус относительно контрольной группы. Такие развороты на практике случаются регулярно, поэтому единственная метрика, по которой стоит выбирать механику, — маржа на получателя.
Норма
решение принимается после закрытия окна атрибуции
стоимость стимула вычтена из маржи, а не забыта в выручке
есть контрольная группа без стимула
Red flag
победитель выбран по конверсии в заказ
результат снят через три дня, «пока горячо»
в расчете фигурирует только выручка от промокода
Ошибки, которые убивают выводы
Смешанные сегменты. Если в ветки попали вперемешку новые подписчики и лояльные клиенты, результат усреднится до бессмыслицы: их реакция на скидку различается в разы. Решение — стратификация при распределении или отдельные тесты по RFM-сегментам.
Каннибализация. Промокод забрали те, кто купил бы завтра за полную цену. Без контрольной группы этот перекос невиден — выручка ветки выглядит красиво, а прироста нет.
Ранняя остановка. Об этом выше, но повторимся: пик активности первых дней не равен итоговому результату.
Приучение базы к скидкам. Долгосрочный эффект, который не виден в рамках одного теста. Если акции идут каждые две недели, доля покупок «только по промо» ползет вверх, а полноценные продажи проседают.
Самый коварный эффект — приучение. У одного ритейлера доля заказов по промокодам за год выросла с 18% до 54%: база просто научилась ждать скидку. Отучали полгода — растягивали интервалы, переводили скидки в бонусы и персональные предложения. Теперь в каждый план тестов я закладываю контрольный замер доли промо-заказов раз в квартал».
Дарья Касаткина
CRM-маркетолог, ClientCore
Результат теста — это актив
Тест, по итогам которого ничего не записали, через полгода придется проводить заново. Фиксируйте: гипотезу, сегмент, выборку, срок, цифры по веткам и принятое решение. Это база знаний, которая копится и экономит бюджет каждого следующего запуска.
Победившую механику внедряйте в регулярные кампании, но смотрите на результат в разрезе сегментов — часто победитель для «спящих» клиентов и для лояльных разный. В проекте MINIDINO мы пересобрали рассылки с упором на точность сегментов вместо охвата и получили +110% к эффективности email за квартал (кейс). С промокодами логика та же: механика, которая реанимирует «спящего» клиента, лояльному просто раздает маржу.
Планируйте повторные тесты. Эффект механик выгорает, база меняется, прошлогодний победитель через год может оказаться аутсайдером. Рабочий формат — план тестов на квартал вперед: 2–3 гипотезы по механикам, одна по глубине стимула.
ЧИТАЙТЕ ТАКЖЕ
«Uplift-расчёт на практике: формулы с контрольной группой, counterfactual-модели и ошибки пост-периода, которые завышают прирост в отчёте.»
Зависит от базовой конверсии и разницы, которую хотите поймать. При конверсии в заказ около 1% и целевой разнице в 20% относительных — порядка 20–25 тысяч получателей на ветку. Если база меньше, тестируйте контрастные варианты (скидка против подарка) и копите данные несколькими волнами рассылок.
Как долго должен длиться тест?
Минимум — срок действия промокода плюс 3–7 дней на отложенные покупки. На практике это 2–4 недели. Останавливать тест раньше из-за «очевидного лидера» — значит принять шум за сигнал.
Что делать, если разница между вариантами в пределах погрешности?
Это тоже результат: механики для вашей базы равнозначны, выбирайте более дешевую в реализации. Второй вариант — разница есть, но выборка ее не ловит. Тогда повторите тест на другом сегменте или с более контрастными вариантами.
Можно ли тестировать промокоды в триггерных письмах?
Да, и часто это удобнее массовых рассылок: триггерная цепочка стабильна, ветки в Mindbox делятся автоматически, данные копятся непрерывно. Минус — скорость: трафик в триггере ограничен, на статистически чистый результат уйдет месяц-два.