Эксперимент на данных Hillstrom: как отделить красивую цифру в отчёте от результата, которому действительно можно доверять.
Маркетинговый отчёт часто сводится к одной убедительной цифре: после рассылки конверсия выросла на столько-то процентов. На основании этой цифры компания может увеличить бюджет, изменить коммуникации или запустить похожую кампанию.
Но между отправленным письмом и итоговым показателем находится цепочка решений: какие данные взять, кого включить в расчёт, какие признаки использовать, как оценить эффект и можно ли потом воспроизвести вычисления. Ошибка на любом из этих этапов способна превратить аккуратный отчёт в неверный вывод.
На исторических данных рандомизированной email-кампании Hillstrom мы проверили, как Causal Retention OS проходит эту цепочку. В выбранном сравнении конверсия пользователей, которым назначили письмо с мужским ассортиментом, оказалась на 0,68 процентного пункта выше, чем в контрольной группе без письма.
Задача была не просто получить эту цифру, а проверить, насколько она обоснована, воспроизводима и устойчива к заведомо недопустимым данным.
Ключевой вопрос: можно ли восстановить путь от исходных данных до итогового вывода — и понять, где заканчивается то, что действительно доказал эксперимент?
Почему простого сравнения конверсий недостаточно
Представим, что компания отправила письмо части клиентов. Среди получателей конверсия составила 2%, среди остальных — 1%. Возникает соблазн приписать всю разницу рассылке.
Но компания могла чаще писать активным клиентам или тем, кто недавно интересовался товаром. Тогда группы различались ещё до кампании, а более высокая конверсия сама по себе не доказывает эффект письма.
Рандомизированный эксперимент помогает решить эту проблему: участников случайным образом распределяют между вариантами. Назначение письма не зависит от того, насколько перспективным покупателем выглядит клиент. Это даёт основу для причинного сравнения, хотя случайные различия между группами всё равно возможны.
Датасет Hillstrom содержит 64 000 записей. Согласно описанию его автора Кевина Хиллстрома, участников случайным образом распределили между тремя группами:
- Mens E-Mail — письмо с мужским ассортиментом;
- Womens E-Mail — письмо с женским ассортиментом;
- No E-Mail — письмо не назначали.
После этого в течение двух недель отслеживали покупки и другие действия пользователей.
Такой дизайн создаёт основу для оценки причинного эффекта. Но он не защищает от ошибок, которые могут появиться позже — при подготовке данных, выборе признаков и расчёте результата. Именно эту часть аналитического процесса мы и проверяли.
Что показало сравнение
Мы оценивали разницу в двухнедельной конверсии между пользователями, которым назначили Mens E-Mail, и контрольной группой No E-Mail.
Группу Womens E-Mail исключили: она не относилась к выбранному сравнению. Пользователей сравнивали по назначенному варианту, а не по тому, открыли ли они письмо.
В анализ вошли 42 613 наблюдений.
| Группа | Участники | Совершили покупку | Конверсия |
|---|---|---|---|
| Mens E-Mail | 21 307 | 267 | 1,253% |
| No E-Mail | 21 306 | 122 | 0,573% |
Разница составила +0,6805 процентного пункта в пользу Mens E-Mail.
В более наглядном масштабе это примерно семь дополнительных покупателей на каждую тысячу клиентов, которым назначили письмо, за две недели наблюдения.
Здесь важно различать покупателей и покупки. Конверсия показывает долю клиентов, совершивших покупку, но не говорит о том, сколько заказов сделал каждый из них и какую прибыль они принесли.
Кроме того, эта оценка относится к конкретному историческому эксперименту Hillstrom. Для другой компании, аудитории или рассылки эффект нужно проверять заново.
Насколько точна оценка эффекта
Если провести похожий эксперимент с другими участниками, значения конверсии, скорее всего, немного изменятся. Поэтому одной оценки эффекта недостаточно: нужен доверительный интервал, который показывает статистическую неопределённость результата.
Мы использовали два заранее выбранных метода.
Интервал Вальда рассчитывается на основе наблюдаемой вариативности в группах.
Бутстрэп многократно формирует из исходных данных случайные выборки с возвращением. Один и тот же участник может попасть в такую выборку несколько раз. Для каждой выборки эффект рассчитывается заново, после чего по распределению полученных значений строится интервал.
В эксперименте выполнили 10 000 бутстрэп-повторов.
| Метод | 95%-й доверительный интервал |
|---|---|
| Интервал Вальда | 0,500–0,861 п.п. |
| Перцентильный бутстрэп | 0,502–0,859 п.п. |
Оба интервала не включают ноль. В рамках выбранного анализа данные поддерживают вывод о положительном эффекте назначения письма.
При этом близость двух интервалов не доказывает универсальную точность методов и не означает, что один из них лучше другого. В этом эксперименте их качество в разных условиях не сравнивалось.
Важно и другое: положительный эффект не был условием успешной проверки системы. Если бы рассылка снизила конверсию, но система корректно рассчитала результат и выполнила требования протокола, аналитическая проверка всё равно могла бы считаться успешной.
Что происходит, если в расчёт попадает информация из будущего
Одна из самых опасных ошибок в аналитике — использование сведений, которых ещё не существовало в момент принятия решения.
В Hillstrom поля visit и spend описывают посещения и расходы пользователя после кампании. Использовать их как исходные характеристики клиента при оценке эффекта письма нельзя: эти значения сами могут зависеть от рассылки.
Представим, что мы оцениваем влияние письма на покупку и одновременно используем расходы клиента после рассылки как признак, с которым он якобы пришёл в эксперимент. В этот момент исходные условия смешиваются с последствиями воздействия.
В машинном обучении такая ошибка называется утечкой данных: модель получает информацию из будущего и может выглядеть точнее, чем она была бы в реальном применении.
Чтобы проверить защиту от этой ошибки, мы намеренно передали visit и spend системе как исходные признаки. Это был негативный тест: заранее создавалась недопустимая ситуация, для которой ожидалась определённая реакция.
| Режим проверки | Реакция системы |
|---|---|
| Блокировка | Перечислила запрещённые поля и остановилась до оценки эффекта со статусом BLOCKED_LEAKAGE |
| Исключение признаков | Удалила запрещённые поля, выдала предупреждение и продолжила расчёт со статусом OK_WITH_WARNING |
После исключения этих полей размеры групп, число покупателей, оценка эффекта и доверительный интервал совпали с базовым расчётом.
Для бизнеса здесь важен не конкретный статус, а принцип: аналитическая система должна уметь распознавать ситуации, в которых предложенным способом считать нельзя. Иначе автоматизация лишь ускоряет получение ошибочных ответов.
В этом эксперименте проверялась конкретная защита — обработка двух известных признаков, появившихся после воздействия.
Почему десять запусков — это не десять экспериментов
Проверку разделили на пять сценариев:
- базовая оценка эффекта;
- расчёт доверительного интервала Вальда;
- расчёт бутстрэп-интервала;
- блокировка запрещённых признаков;
- исключение запрещённых признаков с предупреждением.
Каждый сценарий выполнили дважды. Всего получилось десять формальных запусков.
Но участники и исходные данные оставались теми же. Эти повторы не давали десять независимых подтверждений эффективности рассылки. Они проверяли другое: воспроизводимость вычислений.
Иными словами, вопрос был не в том, повторится ли эффект на новой аудитории, а в том, получится ли тот же результат, если заново выполнить один и тот же зафиксированный процесс.
В каждой паре совпали аналитические выборки и результаты, приведённые к единому формату. Для бутстрэпа совпал и массив оценок всех повторов.
В зафиксированной вычислительной среде результат оказался воспроизводимым.
Зачем бизнесу воспроизводимость
Пока анализ живёт в одном ноутбуке одного аналитика, воспроизводимость легко воспринимать как техническую формальность. Её значение становится очевидным позже — когда по результату уже принято решение.
Допустим, компания выделила бюджет на коммуникацию, которая, судя по отчёту, увеличивает конверсию. Через полгода возникает вопрос: почему мы считаем, что это работает?
За это время ноутбук могли изменить, библиотеки — обновить, версия данных могла потеряться, а аналитик — перейти в другую компанию. Цифра в презентации осталась. Способ её получения — нет.
Чтобы сохранить происхождение результата, в эксперименте использовали OpenResearch. Он связывал структуру эксперимента с конкретными запусками и Git-коммитами — зафиксированными версиями кода. Сами вычисления выполнял код Causal Retention OS.
До формальных запусков были зафиксированы конфигурации, структура эксперимента и критерии приёмки. Для каждого результата сохранялась связь со сценарием, версией кода, запуском и его файлами.
После эксперимента собрали evidence bundle — пакет материалов, подтверждающих ход вычислений. В него вошли:
- результаты;
- конфигурации;
- сведения о вычислительной среде;
- журналы запусков;
- контрольные суммы;
- выбранные фрагменты кода;
- агрегированные результаты бутстрэпа;
- манифест — опись содержимого пакета.
Всего пакет содержал 139 файлов.
Такой набор можно сравнить с комплектом документов по финансовой операции: он позволяет проследить происхождение итоговой суммы.
В аналитике это даёт проверяющему возможность сопоставить текст отчёта с выполненными вычислениями. Но есть важное ограничение: воспроизводимость не делает метод автоматически правильным. Ошибочный анализ тоже можно тщательно задокументировать. Корректность методов и выводов всё равно приходится оценивать отдельно.
Насколько можно доверять исходным данным
Проверяемость результата начинается ещё до расчёта.
Описание Hillstrom указывает на случайное распределение участников между группами, но исходных журналов назначения у нас не было. Поэтому независимо восстановить каждое назначение невозможно.
Дополнительно мы проверили баланс групп по четырём характеристикам, известным до рассылки:
recency;history;channel;newbie.
Для диагностики использовали стандартизированные различия между группами — показатели, которые позволяют оценить величину расхождений по исходным характеристикам с учётом разброса значений.
Максимальное абсолютное значение составило 0,011 при пороге предупреждения 0,1.
По проверенным характеристикам выраженного дисбаланса не обнаружили. Это согласуется с описанием рандомизации, но не подтверждает правильность каждого назначения: сведения о случайном распределении по-прежнему опираются на документацию автора датасета.
Ограничение было и у происхождения самого файла. Исходный CSV получили через зеркало, используемое загрузчиком библиотеки scikit-uplift. Проверка контрольной суммы загрузчиком прошла, а для использованного файла сохранили хеш SHA-256.
Однако побайтовое сравнение с оригиналом на сайте автора не проводили. Поэтому проверка происхождения данных получила статус PASS_WITH_LIMITATION — пройдена с ограничением.
Явную лицензию исходного набора данных в рамках этой работы также подтвердить не удалось. По этой причине CSV и сформированную аналитическую выборку не включили в пакет материалов для проверки.
Это ограничивает его самодостаточность: для полного повторного расчёта исходные данные нужно получить отдельно.
Что именно подтвердила проверка
Система прошла 59 технических тестов и выполнила все 12 критериев исходного протокола.
Успешный результат относится к конкретным операциям:
- формированию аналитической выборки;
- расчёту эффекта;
- оценке статистической неопределённости;
- обработке запрещённых признаков;
- повторяемости вычислений;
- сохранению связи результата с кодом и запуском.
Но предметом анализа была только двухнедельная конверсия.
В этом эксперименте не измеряли:
- удержание клиентов;
- долгосрочную ценность клиента;
- различия эффектов между сегментами;
- экономику коммуникаций;
- прибыль от кампании.
Поле spend использовалось только для проверки защиты от утечки, а не как отдельный результат кампании.
Поэтому рост конверсии здесь не доказывает рост прибыли или долгосрочной ценности клиента.
Качество ML-моделей и готовность системы к промышленной эксплуатации также не входили в предмет этой проверки. Независимый аудит отчёта и пакета материалов не являлся частью описанного эксперимента.
Что из этого следует для маркетинговой аналитики
На данных Hillstrom получена оценка положительного эффекта назначения письма: примерно семь дополнительных покупателей на тысячу клиентов за две недели.
Для Causal Retention OS проверено прохождение заданной цепочки расчётов и корректная реакция на попытку использовать запрещённые признаки.
Но практическое значение эксперимента шире конкретной рассылки.
Если аналитика влияет на бюджет, команде недостаточно знать итоговую цифру. Нужно уметь ответить как минимум на четыре вопроса:
- Какие данные дали этот результат?
- Какой код и какая конфигурация использовались?
- Какие предположения лежат в основе расчёта?
- Какие ошибки система умеет обнаруживать, а какие остались за пределами проверки?
Сохранённая история вычислений позволяет вернуться к этим ответам после обновления системы, изменения данных или смены сотрудников.
И прежде чем увеличивать бюджет по итогам отчёта, полезно задать ещё один вопрос:
Сможет ли другой человек восстановить расчёт и точно понять, где заканчиваются его выводы?
От ответа на него зависит, насколько уверенно на эту цифру можно опереться при принятии решения.
Источники
- Kevin Hillstrom — MineThatData E-Mail Analytics And Data Mining Challenge — описание исходного эксперимента и структуры данных.
- Материалы эксперимента Causal Retention OS — подробный отчёт, конфигурации запусков, контрольные суммы и evidence bundle, хранящиеся в материалах проекта.