A/B-тест персонализации: как отделить эффект контента от эффекта шаблона

Блок рекомендаций дал +20% к кликам в тесте, а выручка не сдвинулась? Разбираем, как отделить эффект данных от эффекта шаблона в A/B-тестах персонализации.

Призма разделяет письмо на сетку-каркас и карточку товара, внизу книга с разделителями — 3D-иллюстрация

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

Причина почти всегда одна: в тесте поменяли две вещи сразу — вёрстку и логику подбора товаров. Письмо с блоком рекомендаций выглядит иначе: новые карточки, фото, другая длина. Часть uplift дал свежий шаблон, часть — сам факт товаров в письме, и только остаток — точность алгоритма. Меня зовут Валерия Старостина, я CRM-маркетолог в ClientCore и регулярно разбираю такие тесты в аудитах. Ниже — как ставить эксперимент, чтобы его цифрам можно было верить.

ЧИТАЙТЕ ТАКЖЕ

«Uplift-расчёт на практике: формулы с контрольной группой, counterfactual-модели и ошибки пост-периода, которые завышают прирост в отчёте.»

Uplift-расчет: формулы прироста для коммуникаций и типичные ошибки оценки

Почему тест персонализации врет чаще обычного A/B

Когда вы запускаете ab тестирование в crm маркетинге, обычно меняется одна переменная: тема письма, текст кнопки, время отправки. Остальное зафиксировано, и разница между группами читается чисто.

С персонализацией так не получается. Динамический контент живёт на двух уровнях: данные (что показать конкретному человеку) и подача (как это выглядит в письме). Запуская блок рекомендаций, вы почти всегда трогаете оба уровня: нужны карточки товаров, картинки, цены, место в шаблоне. Контроль и вариант в итоге отличаются по пяти параметрам, а вы измеряете одну цифру.

Добавьте сюда эффект новизны. Любой свежий элемент первые 2–4 недели собирает больше кликов просто потому, что подписчик его заметил. Потом внимание выгорает, метрики возвращаются к базовой линии. Если тест длился неделю, вы измерили именно новизну — и приняли её за персонализацию.

Самый частый разбор в моих аудитах выглядит так: клиент показывает тест с uplift 15–20% по кликам, я спрашиваю, что ещё поменялось в письме, и слышу: „ну, мы заодно шаблон обновили“. Всё, эксперимент мёртв. Разделить эффекты задним числом нельзя — только перезапускать тест».
Валерия Старостина

Валерия Старостина

CRM-маркетолог, ClientCore

Из чего складывается uplift в тесте персонализации

Чтобы понять, что именно вы измерили, разложите результат на составляющие.

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

Эффект механики. Само присутствие товарной подборки в письме. Даже если показать случайные товары из каталога, кликов станет больше: фото товаров кликабельны сами по себе. Это эффект блока как формата.

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

Пока слои смешаны, вы не знаете, за что платите. Персональный алгоритм стоит денег: настройка, данные, поддержка. Если тот же uplift даёт блок бестселлеров за копейки, решение очевидно. Без чистого дизайна теста вы этого не увидите.

Тест показал рост, а выручка — нет?

Найдём, где в ваших экспериментах смешаны эффекты шаблона и данных, и предложим дизайн, которому можно верить

🇷🇺

Факторный дизайн: разводим шаблон и контент по разным группам

Рабочая схема — четыре ячейки вместо привычных двух:

  • Группа A — старый шаблон, без блока рекомендаций. Контроль.
  • Группа B — новый шаблон, без блока. Показывает чистый эффект вёрстки.
  • Группа C — новый шаблон, блок с простой логикой: бестселлеры или новинки, одинаковые для всех. Показывает эффект формата.
  • Группа D — новый шаблон, блок с персональным подбором. Полная версия.

Дальше простая арифметика. Разница B и A — вклад шаблона. Разница C и B — вклад самого блока. Разница D и C — вклад данных, и только она оправдывает вложения в алгоритм.

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

Мы так и работаем с миграциями. В проекте для Movavi, например, перенесли 28 писем на новый шаблон с сохранением всей логики — контент и механики остались прежними, поменялась только оболочка (кейс). После такого переноса любой сдвиг метрик читается однозначно: это эффект шаблона, и он становится новой базовой линией для следующих тестов.

Выборка и статистическая значимость

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

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

  • Считайте размер выборки до запуска. Возьмите базовую конверсию, задайте минимальный эффект, который имеет смысл ловить (для email обычно 5–10% относительных), и посчитайте выборку в любом калькуляторе A/B-тестов. Не хватает базы — тестируйте более грубое изменение или объединяйте несколько кампаний в один эксперимент.
  • Гоняйте тест полными неделями, минимум двумя. Поведение подписчиков в будни и выходные различается, обрезанный цикл искажает результат.
  • Не подглядывайте. Зашли на третий день, увидели значимость 95% и остановили — с заметной вероятностью вы приняли шум за сигнал. Статистическая значимость валидна только на заранее зафиксированном горизонте.
Просьба „давайте остановим, там уже всё понятно“ — верный способ внедрить то, что не работает. Я пересчитывала такие тесты: из десяти рано остановленных примерно три-четыре на полном горизонте сходятся в ноль. А клиент год живёт с ложным выводом и строит на нём дорожную карту».
Валерия Старостина

Валерия Старостина

CRM-маркетолог, ClientCore

Метрики: почему клики — плохой судья

Блок рекомендаций почти гарантированно поднимает CTR: товарные фото кликают охотнее текста. Если судить тест по кликам, персонализация «побеждает» всегда — и это ничего не говорит о деньгах.

Основная метрика — выручка на доставленное письмо или конверсия в заказ в окне атрибуции, которое принято у вас в CRM. Только она отвечает на вопрос, окупается ли алгоритм. Клики и открытия оставьте диагностикой: по ним видно, где проседает цепочка, но решение по ним не принимают.

Норма
  • метрика решения — выручка на доставленное письмо, окно атрибуции одинаковое для всех групп;
  • отписки и жалобы на спам идут сторожевыми метриками рядом с основной;
  • holdout-группа без персонализации (5–10% базы) живёт постоянно и пересматривается раз в квартал.
Red flag
  • победитель определён по CTR;
  • окно атрибуции у варианта и контроля разное;
  • вывод сделан по одной неделе, пока работала новизна.

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

Ошибки, которые встречаются в почти каждом аудите

Норма
  • в тесте меняется одна переменная, остальное зафиксировано;
  • группы режутся случайно из одного сегмента;
  • горизонт и метрика решения зафиксированы до старта;
  • эффект перепроверяется через 4–6 недель после раскатки.
Red flag
  • новый шаблон и новая логика уехали в прод одним релизом;
  • вариант с блоком длиннее контроля, и оффер уехал ниже первого экрана;
  • тестировали на активных подписчиках, а раскатали на всю базу;
  • победителя выбрали по кликам на третий день.

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

Порядок внедрения, после которого вопросов не остаётся

Соберите последовательность, где каждый шаг меняет одно:

1. Шаблон. Переведите рассылки на новый шаблон без смены контента и логики. Измерьте сдвиг — это новая базовая линия. 2. Формат. Добавьте блок с простой логикой (бестселлеры) против чистого шаблона. Увидите цену самого формата. 3. Данные. Сравните персональный подбор против бестселлеров при том же шаблоне и той же позиции. Это и есть чистый A/B-тест персонализации. 4. Позиция и плотность. Когда эффект данных подтверждён, ищите лучшее место блока и число карточек.

В проекте для FINNTRAIL мы шли похожим путём: сначала собрали новый шаблон и ускорили сборку писем с полутора недель до двух часов, затем наводили персонализацию по сегментам — итогом стал рост выручки email-канала на 15% (кейс). Поэтапность здесь принципиальна: когда шаблон и данные внедряются разными релизами, у каждого шага есть собственная измеримая отдача, и команда понимает, во что вкладываться дальше.

ЧИТАЙТЕ ТАКЖЕ

«Uplift — разница в выручке между группой, которой ушла рассылка, и контрольной группы без нее. Формула, пример с цифрами и перевод результата в ROI канала.»

Uplift: что это такое и как считать прирост от коммуникаций

Хотите знать, что именно работает в ваших рассылках?

Выстроим A/B-тестирование в CRM-маркетинге: дизайн эксперимента, расчёт выборки, честная статистика

🇷🇺

Часто задаваемые вопросы

Сколько должен длиться A/B-тест персонализации?

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

Что делать, если сегмент слишком мал для статистической значимости?

Есть несколько рабочих ходов: объединить несколько кампаний в один эксперимент с общей метрикой, тестировать более грубое изменение (чем больше минимальный детектируемый эффект, тем меньше нужна выборка) или удлинить горизонт и накопить наблюдения. Совсем маленькой базе в пару тысяч контактов классический A/B честно противопоказан — там лучше работают качественные проверки и holdout на длинном горизонте.

Можно ли тестировать «письмо с блоком» против «письма без блока»?

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

Блок рекомендаций даёт клики, но не заказы. Убирать?

Не спешите. Сначала проверьте постклик: куда ведут карточки, совпадает ли товар на лендинге с товаром в письме, есть ли он в наличии. Частая находка — алгоритм рекомендует то, что раскуплено, или ведёт на общую категорию. Если с логистикой всё чисто, а выручка на письмо не растёт за 4–6 недель, тестируйте другую логику подбора или позицию блока — и только потом хороните формат.

Над проектом работали

Валерия Старостина

Валерия Старостина

CRM-маркетолог, ClientCore