Skip to main content

A/B-тестирование: смотреть на конверсию vs смотреть на продажи

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

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

Зачем это делать?

На то существуют две причины:
  1. Прозаическая - понять, что вы способны посчитать эту метрику и сформировать свои ожидания.
  2. Практическая - определить минимальный объем выборки, на котором эти результаты будут статистически значимыми.
Будучи, в первую очередь, маркетологом, и лишь затем data scientist, я стараюсь, по возможности, использовать внешние инструменты. Сегодня я покажу вам 3 внешних инструмента, на которые я полагаюсь при оценке A/B-тестов.

Итак, предположим, вы сейчас работаете над увеличением конверсии по добавлению товара в корзину. 

У вас есть гипотеза, что изменив Call-To-Action на кнопке "Купить" (вариант А) на "Добавить в корзину" (вариант B) воронка расширится и количество человек, которые добавят товар в корзину - увеличится.

Конверсия варианта A = 5.0%.
Ожидаемая конверсия варианта B = +7% к конверсии варианта A, т.е. = 5.35%.

И вот вы запускаете A/B-тест. 

Но здесь сразу возникает два вопроса? 
  • Сколько времени ждать, чтобы получить устойчивый результат?
  • Если конверсия в варианте B будет 5.2% он выиграл или нет?
Здесь нам на помощь приходит инструмент статистический калькулятор. Суть его заключается в том, чтобы ответить на два вышеупомянутых вопроса.

Сколько времени ждать, чтобы получить устойчивый результат?

Sample Size Calculator

Sample Size Calculator

Калькулятор для расчета минимально необходимой выборки очень прост в использовании. 
  1. Вы указываете базовую конверсию (в нашем случае 5%).
  2. Указываете какой прирост (эффект) вы ожидаете (в нашем случае вы вводите 7% и отмечаете, что это не абсолютная конверсия, а относительная, т.е. прирост по отношению к базовой).
Собственно, все. 

Калькулятор сделал расчет и предупредил вас, что для того, чтобы разница между конверсией 5% и 5.35% была статистически значимой, вам нужно, чтобы в каждом варианте набралось ~62К сессий.

Если конверсия в варианте B будет 5.2% он выиграл или нет?

Chi-Squared Test

Chi-Squared Test

В каждой группе у вас пока набралось лишь по 40K сессий, но вариант B уже имеет конверсию 5.2% против 5% конверсии в варианте A.

Но, статистический калькулятор говорит, что на таком объеме выборки разница в 80 конверсий не является статистически значимой (p-value = 0.2).

Даже если на таком объеме сессий разница была бы не 80 конверсий, а 140 конверсий (конверсия = 5.35%, p-value = 0.025) риск ложно-положительного результата здесь все еще высок!

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

Я думаю, что для большинства из вас эти рассуждения давно уже пройденный этап. 

Однако это не все. Когда-то у меня состоялся разговор с экспертом по A/B-тестированию Sergey Gudkov. Тогда он поведал мне такой кейс.
  1. В одном из проектов он выдвинул гипотезу по улучшению UX.
  2. Гипотеза оказалась сильной - ему удалось улучшить конверсию в следующий шаг воронки.
  3. Разница между конверсией в новом варианте B и старом варианте А была статистически значимой.
  4. Проверив результаты по продажам оказалось, что старый вариант А, тем не менее, приносит больше продаж.
Выходит, что вся проделанная тогда работа оказалась не такой уж полезной для бизнеса. 

На самом деле вопрос там был немного сложнее. В таких случаях есть 2 тонких кейса.

Кейс1: конверсия повысилась, но клиенты начали покупать больше дешевых товаров.

Кейс1: конверсия растет, но покупают больше дешевых товаров.
Source: www.blastam.com

На скриншоте Кейса1 видно, что конверсия выросла с 15% до 16.5%. Это отлично.
Но, в тоже время, доля "дешевых" транзакций выросла с 67% до 76%. 

Кейс2: конверсия снизилась, но клиенты начали покупать более дорогие товары.

Кейс2: конверсия падает, но покупают больше дорогих товаров.
Source: www.blastam.com

На скриншоте Кейса2 видно, что конверсия упала с 12.5% до 11.5%. Это не хорошо.
Но, в тоже время, доля "дорогих" транзакций выросла с 40% до 52% и соответственно средний чек (AOV) вырос с $40 до $43. Это хорошо.

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

Что же делать в таких случаях?
  1. Надо, все же, при оценке A/B-тестов ориентироваться на продажи (т.е. конечный результат).
  2. Надо найти строгий способ, который подтвердит, что продажи в одном варианте больше, чем в другом и это не случайность.
Если с первым пунктом все понятно, то со вторым - все не так однозначно.

Почему?

Если оба варианта имеют одинаковое количество сессий, то сравнивать казалось бы - легко (на самом деле нет).

Кейс1: 
  • Доход на сессию в варианте Control = $7.5
  • Доход на сессию в варианте Variation = $7.125
  • Выбор очевиден(?): вариант Control выигрывает (+5.3% в продажам).
Кейс2: 
  • Доход на сессию в варианте Control = $5.0
  • Доход на сессию в варианте Variation = $4.95
  • Выбор очевиден(??): вариант Control выигрывает (+1% к продажам).
На таких малых цифрах принять взвешенное решение очень трудно. Ведь результат вполне может быть случайностью.

Более того, на практике у вас редко варианты A и B будет содержать одинаковое количество сессий. 

Revenue per Visitor Statistical Significance Calculator

ВАЖНО: Для оценки статистической значимости продаж нам потребуются сырые данные.
Мы не будем сравнивать два средних между вариантами. Мы будет сравнивать два распределения данных (причем т.к. это продажи то их распределения не являются нормальными).

Я сгенерировал синтетические результаты продаж в двух группах: control и test.

Продажи в двух группах: control и test.

Что можно сходу сказать об этом тесте?
  • средний чек в варианте test выше, чем в control ($14.96 vs $12.50, +20%)
  • количество транзакций в варианте test снова больше, чем в control (23 vs 20, +15%)
  • и соответственно продажи в варианте test больше, чем в control ($344 vs $250, +38%) 
Все указывает на то, что вариант test выигрывает у control.

Так ли это на самом деле?

Wilcoxon test.

Да, p-value = 0.0765 и такой результат близок к статистической значимости. Но близок и достигнут это две разные вещи.

Поэтому, в данном случае, большие продажи варианта test нельзя считать статистически значимым результатом! 

Более того, рекомендуется:
  1. как и в случае с проверкой конверсий на статистическую значимость, понаблюдать какое-то время за стабильностью условия p-value < 0.05. Это может обезопасить от ложно-позитивных результатов.
  2. до загрузки данных в статистический калькулятор проанализировать оба варианта на предмет наличия outliers. Хотя в этом инструменте используется алгоритм Wilcoxon Rank Sum Test который сравнивает не сами значения, а их ранкинг, а потому он устойчив к outliers!
TIPS:
  1. Если вы запустили A/B-тест, но видите, что прирост ниже ваших изначальных ожиданий, тогда читайте мою 2-ю часть про A/B-тесты.
  2. Если вы запустили A/B-тест и видите, что прирост выше ваших изначальных ожиданий, тогда читайте мою 4-ю статью про A/B-тесты.
  3. Если вы видите возможности в новой версии (даже, если она чуть-чуть проигрывает), тогда читайте 3-ю часть про A/B-тесты.

Comments

Popular posts from this blog

RF-матрица как альтернатива для работы с LTV

Итак, в прошлом посте мы прошлись по основным шагам, которые нужны для грамотного расчета LTV используя классический подход Pareto/NBD.

Сегодня мы будем говорить об LTV в другом контексте - упрощенно-прикладном.

Итак, перед вам Life Cycle Grid.

Название и концепцию этой замечательной технике дал выдающий маркетолог Jim Novo. Обязательно перечитайте его блог, особенно ранние статьи.


По сути - LCG это RF(M) матрица:
По горизонтальной оси вы смотрите на Recency (недавность последней покупки);По вертикальной оси вы смотрите на Frequency (количество покупок);В каждой ячейке вы видите количество клиентов с определенными параметрами R и F. Построив такую матрицу мы можем сразу ответить на много вопросов, но нас сейчас интересует всего четыре: какие клиенты критически важны для бизнеса?
(правый верхний квадрант)каких клиентов реально развивать дальше?
(правый нижний квадрант)какие клиенты вероятно потеряны для бизнеса?
(левый верхний квадрант)какие клиенты не интересны для бизнеса? Уверен, пока вы…

LTV: классический подход прогнозирования Pareto/NBD

Прогнозирование LTV - задача весьма нетривиальная. Почему? Потому, что для прогноза LTV нам потребуются 3 отдельные (независимые) оценки:
распределение повторных покупокраспределение оттока клиентовраспределение среднего чека покупок Это сложные математические задачи и, очень здорово, что ученые мужи взялись за них и решили (причем давно, в 1987 году). Сегодня мы бегло пройдемся по классическому подходу прогнозирования LTV под названием Pareto/NBD.

Начну с того, что этот алгоритм применяется в ситуациях, где нет регулярных платежей (т.е. не контрактная форма оплаты как, например, в e-commerce).

Также отмечу, что примечателен этот подход тем, что для его реализации нам потребуется самый обычный лог транзакций.

Первое, что мы делаем так это формируем специальную таблицу. Называется она Customer-Centric-Statistic (CBS).


Не вдаваясь в подробности, могу сказать, что эта таблица формируется из RFM статистики (frequency - "x", recency - "t.x", monetary - "sales.x"…

Игры в модели атрибуции рекламных каналов (Last click, Markov chain, Shapley value)

Обычно, я не играю в игры с моделями атрибуций рекламных каналов.

В работе с сессиями я почти всегда пользуюсь данными из Google Analytics (GA). Это система хороша тем, что мне не нужно заботиться о том, где хранить данные о заходах на сайт, как определять продолжительность сессии и т.д. Все эти вопросы закрывает Google Analytics.

При заходе пользователя на сайт GA соотносит (атрибутирует) этого пользователя к одному из известных источников трафика.
Если GA может определить источник трафика, то она атрибутирует пользователя к этому источнику трафика.  Если GA не может определить источник трафика (зашел на сайт direct, в URL нет utm-меток и еще в ряде случаев), то она возьмет последний недавний источник трафика (не direct) из которого пришел пользователь. Эта модель атрибуции называется Last Non-Direct Click (LNDC). Она используется во всех отчетах GA кроме отчетов из секций Multi-Channel Funnel и Attribution.

Двумя побочными эффектами LNDC модели атрибуции являются:
повышение долгосрочн…