КУРС

DATA SCIENCE ACADEMY

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

3 основных шага, которые необходимо выполнить, чтобы повысить эффективность экспериментов

В течение 7 лет работы в Waze я работала над широким спектром продуктов и функций, от приложения Waze (в котором более 130 миллионов пользователей по всему миру) до Waze Carpool, когда оно было впервые запущено.

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

Сейчас я работаю в команде Performance Marketing (область маркетинга, нацеленная на увеличение лидов или продаж), где перед нами стоит задача – повысить заинтересованность пользователей на всех этапах воронки продаж, используя собственные каналы и инструменты компании Waze. Мы напрямую общаемся с пользователями, в конечном итоге подталкивая их к наиболее эффективным действиям для завершения их пользовательского пути.

Чтобы понять эффективность наших подходов, мы проводим разные эксперименты, в основном в форме «проверки гипотез», то есть A/B-тестирования.

Проведя сотни подобных экспериментов, я определила несколько методов, а также описала конкретные шаги по их применению для наиболее эффективного A/B-тестирования. Ниже представлены все мои наработки.

Шаг 1. Изучите существующие взаимосвязи и определите ключевые показатели эффективности (KPIs)

Прежде всего, любое проведенное Вами A/B-тестирование должно соответствовать KPI компании, чтобы Ваша работа была сосредоточена на приоритетах бизнеса, которые наиболее важны. Для начала нужно провести исследовательский анализ данных, чтобы выявить существующие связи.

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

Если Вы исследуете данные в первый раз, то нужно выполнить следующие основные шаги:

  • Проверьте свои данные: для каждого набора данных сначала нужно понять, как они структурированы и что содержат.
  • Очистите и упорядочьте свои данные: удалите ненужные столбцы, учтите пропуски в данных и добавьте дополнительные столбцы, если это необходимо.
  • Используйте функции Group by (группировка) & Aggregation (сумма, среднее, максимальное, минимальное значения и т.п.) для запуска сводной статистики, чтобы исследовать любые интересные различия между группами.
  • Проведите визуальный анализ данных,чтобы выявить возможные отношения между группами.
парный график обнаружения потенциальных связей между данными
Пример парного графика, используемого для обнаружения потенциальных связей между различными частями данных
Источник: изображение автора

Я создала шпаргалку в Google Colab (бесплатный облачный сервис, направленный на упрощение исследований в области машинного и глубокого обучения) с некоторыми основными функциями языка Python, которые помогут Вам начать работу с данными. Вы можете изменять / удалять некоторые функции из списка в зависимости от характера вашего набора данных и поставленной задачи. Но в целом я нахожу эту структуру полезной, так как все организованно и понятно.

Если вы хотите изучить Python, то рекомендуем начать с нашего открытого онлайн-курса «Первый код на Python».

Определите действенные показатели, которые коррелируют с бизнес-приоритетами/целями

Выбранные Вами метрики должны соотноситься с привлекательными сторонами продукта и описывать долгосрочные отношения с клиентом.  В целом, KPI должен быть измеримым и действенным. Что значит действенным? То есть Вы должны быть в состоянии предпринять определенные действия, чтобы увеличить показатели для поддержки бизнес-целей. Кроме того, Вам нужно достаточное количество существующих данных для расчета этой метрики или легкий способ собирать их. Ведь в конечном итоге Вам захочется избежать длительных итераций. Например, сосредоточьтесь на ежедневных или еженедельных активных пользователях, а не на ежемесячных, поскольку придется ожидать целый месяц, прежде чем Вы сможете анализировать данные и предпринимать какие-либо действия.

Сосредоточьтесь на меньшем количестве показателей, чтобы добиться большего эффекта

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

Вы также должны следовать этому подходу при разработке А/B-теста. Чем больше метрик Вы попытаетесь оптимизировать, тем больше сложности добавите к своему эксперименту. Это может потребовать больше времени, больше ресурсов для проектирования и разработки и в конечном итоге больше денег.

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

Шаг 2: Определите масштаб и цель вашего эксперимента

Как только Вы выработаете лучшее понимание взаимосвязей в данных и определите соответствующие KPI, Вы можете приступить к определению объема эксперимента. Разработка любого эксперимента (и, честно говоря, любого проекта) должна начинаться с ответа на 4 вопроса:

1. Будет ли этот эксперимент иметь значение?

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

2. Можете ли Вы измерить соответствующие KPI в этом эксперименте, и если да, то как?

Никогда не говорите «давайте запустим этот эксперимент и посмотрим, что произойдет» (Вы удивитесь, сколько раз я слышала это раньше). Последнее, что Вы хотите – это осознать, что Вы не можете измерить показатели, на которые хотели повлиять.

Определите метрики (или KPI), на которые вы хотите повлиять, а затем убедитесь, что они измеримы и действительно могут быть применены к эксперименту.

3. Сможете ли Вы обнаружить влияние, если оно существует?

Чтобы оценить, является ли изменение, которое Вы пытаетесь измерить, значимым, Вам нужно иметь достаточно большой размер выборки. Насколько большой? Это будет зависеть от множества факторов, включая уровень достоверности, мощность и величину эффекта. Мы углубимся в них более подробно на третьем этапе разработки эксперимента, но в целом важно помнить, что для обнаружения эффекта, который находится глубоко в воронке продаж, потребуется больший объем выборки. Если изменение находится на вершине воронки, например, в кликах, открытых сообщениях и т. д., то Вам может не потребоваться большого размера выборки. Но для того, чтобы обнаружить незначительный эффект, Вам может понадобиться больший размер выборки.

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

4. В случае успеха этот эксперимент «сдвинет показатели с мертвой точки»?

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

Если вы ответили «нет» на любой из приведенных выше вопросов, не тратьте свое время на разработку эксперимента. В противном случае продолжайте читать – пора начинать работать над разработкой эксперимента!

Шаг 3: Определите, спроектируйте и запустите свой эксперимент

После подтверждения необходимости эксперимента и определения показателей Вы можете приступить к разработке эксперимента. Я рекомендую использовать при проектировании блокнот, в который Вы будете записывать все части эксперимента: определение, план и отчет. Любой, кто прочитает Ваши записи, должен легко понять суть, цель и область эксперимента, а также то, как он был выполнен и какие новые знания Вы извлекли из него. Ваши записи должны отображать 3 основные части: определение, проектирование и запуск.

 

КУРС

DATA SCIENCE ACADEMY

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

Определение

Показывает предпосылки для эксперимента. В этой части излагаются потребности, порядок принятия решений и используемая терминология. Здесь нужно использовать анализ, проведенный на шаге 1, вместе с обоснованием, определенным на шаге 2, чтобы обеспечить контекст для эксперимента.

В частности, в этом разделе Вы должны ответить на следующие вопросы:

  1. О чем этот эксперимент?
  2. Какое бизнес-обоснование для этого эксперимента?
  3. Как результаты этого эксперимента повлияют на деловые решения? Особенно в отделе, имеющем отношение к этому эксперименту – маркетинг, производство и т. д.
  4. Как определяются метрики и терминология в контексте этого эксперимента?

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

Например, если Вы проводите эксперимент, направленный на «воскрешение» неактивных пользователей, то Ваше определение неактивного пользователя или то, что представляет собой «восстание из мертвых», должно быть полностью определено в плане эксперимента. Другие люди могут по-своему воспринимать Вашу целевую аудиторию, результаты и успех эксперимента в целом (реальная история, кстати).

Проектирование

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

– Целевая группа населения
Опишите очень подробно свое определение таргетинга (рекламный механизм, позволяющий выделить из всей имеющейся аудитории только ту часть, которая удовлетворяет заданным критериям, и показать рекламу именно ей).

– Объем возможностей
Объем возможностей должен быть определен на основе целевой группы клиентов и KPIs, выбранных для эксперимента. Как упомянуто в шаге 1, нужно сосредоточить усилия на тестировании вещей, которые помогут «сдвинуться с мертвой точки».

– Схема выборки
Это способ, с помощью которого Вы планируете выбрать интересующую Вас группу людей. Я также рекомендую включить любые потенциальные ошибки выборки, чтобы Вы и все заинтересованные стороны знали о них и их потенциальном влиянии на результаты эксперимента.

– Нулевая и альтернативная гипотеза
Это «сердце» определения эксперимента. Кратко и четко опишите, каковы выдвигаемые Нулевая и Альтернативная гипотезы. Нулевая гипотеза должна быть Вашим действием по умолчанию или существующим состоянием. Альтернативная гипотеза – это новая теория или проверяемое Вами изменение.

Ваша цель в эксперименте – выяснить, достаточно ли доказательств, чтобы отклонить Нулевую гипотезу и принять изменение (Альтернативная гипотеза). Статистическая ошибка представляет собой важную часть проверки гипотез. В частности, мы рассмотрим 2 типа ошибок: ложно-положительная (ошибка I-ого рода) и ложно-отрицательный (ошибка II-ого рода).

Типичным примером для иллюстрации различия между этими двумя ошибками является рассмотрение ошибки I-ого рода как вероятности осуждения невиновного лица, тогда как ошибка II-ого рода относится к вероятности оправдания виновного лица.

пример ошибки

С точки зрения эксперимента, Вам нужно уменьшить вероятность ложного отклонения нулевой гипотезы, следовательно, увеличить вероятность найти эффект (если таковой существует).

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

– Уровень значимости и мощность критерия
Допустимая вероятность ошибки первого рода определяется с помощью уровня значимости (α) и обычно устанавливается на 0,05 или 5% (доверительный интервал 95%). Для преодоления ошибки второго рода используют мощность критерия – это способность эксперимента определять разницу между экспериментальными группами, если такая разница существует. Обычно используется мощность 80%.

– Размер эффекта

Источник: изображение автора

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

Другими словами, если Вы хотите обнаружить большие различия, то сможете сделать это с меньшим количеством пользователей в своем тесте, но если Вы ищете изысканные, небольшие различия, Вам нужно будет включить в эксперименте больше пользователей.

– Минимальный размер выборки
После того как Вы определите уровень значимости, мощность и размер эффекта, Вы можете запустить анализ мощности, чтобы определить минимальное количество пользователей. Это даст Вам возможность определить, является ли тестируемое изменение значимым.

Тест часто интерпретируется с использованием p-значения, которое представляет собой вероятность наблюдения результата, учитывая, что Нулевая гипотеза верна. При интерпретации p-значения Вы должны указать уровень значимости. Результат теста считается «статистически значимым», если значение р меньше заданного уровня значимости. Это означает, что Нулевая гипотеза отклоняется.

p <= alpha: отклонить, другое распределение

p> alpha: не удается отклонить , то же распределение

Используя библиотеку statsmodels в Python, Вы можете легко вычислить минимальный необходимый размер выборки, зная желаемый уровень значимости, размер эффекта и мощность (здесь есть подсказки):

# Импорт библиотеки #
из statsmodels.stats.power импорт TTestIndPower
# параметры для анализа мощности (изменить при необходимости)
effect = 0.05
alpha = 0.05
power = 0.8
# выполнить анализ мощности #
# изменить на TTestPower () в случае двух выборок для t-теста
analysis = TTestIndPower() 
result = analysis.solve_power(effect, power=power, nobs1=None, ratio=1.0, alpha=alpha)
# nobs 1 = размер выборки, количество наблюдений. Это то, что мы ищем
# ratio = отношение размеров выборок. Если ожидается, что обе выборки будут иметь одинаковое число наблюдений, то это соотношение равно 1.
# Если, например, во второй выборке ожидается вдвое меньше наблюдений, то соотношение будет равно 0,5
print('Sample Size: %.2f' % result)

Рекомендуем скачать наш бесплатный гайд «Первые шаги в Python», если вы хотите узнать про все возможности языка.

Запустить и контролировать

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

Шаг 4: Анализ и отчетность по результатам теста

После запуска A/B-теста необходимо проанализировать и четко отчитаться о результатах эксперимента. Не стесняйтесь сообщать о негативных или никаких последствиях. Иногда может понадобиться проверить несколько гипотез, прежде чем удастся найти наиболее эффективную. Тем не менее, четкое и действенное информирование о результатах может помочь Вам и всем заинтересованным сторонам продолжать оказывать влияние на Ваши KPI.

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

  • Размеры экспериментальных групп одинаковы, т. е. тест был направлен на 50% -50% для каждой группы. Если Вы решите разделить группы экспериментов по-разному, Вам нужно убедиться, что размер каждой группы соответствует проценту, назначенному для нее.
  • Группы эксперимента были распределены случайным образом: обязательно проверьте подгруппы в ваших группах эксперимента, чтобы убедиться в отсутствии предвзятости, влияющей на результаты эксперимента. Например, Вы можете сгруппировать экспериментальные группы по полу или стране, чтобы обе группы имели относительно одинаковый размер.

После того, как Вы подтвердите правильность своего эксперимента, необходимо проанализировать эффективность каждой группы на основе метрик и KPIs, выбранных для теста. Хотя одна группа может показаться более эффективной, чем другая, Вы должны посмотреть, являются ли результаты статистически значимыми, чтобы определить, был ли результат случайным или воспроизводимым (фактическим воздействием).

Как узнать, являются ли результаты статистически значимыми? Если вероятность того, что отношения между Вашими переменными не просто случайность!

Значимость измеряется в P-значении, то есть значении вероятности, которое будет показывать, являются ли Ваши результаты столь же экстремальными, как и результаты, которые Вы наблюдаете в тесте статистической гипотезы. Значение P предполагает, что ваша Нулевая гипотеза была правильной с самого начала.

Имейте в виду, что значения P зависят от размера выборки ваших тестовых групп. Значение P представлено в диапазоне от 0% до 100%, но обычно записывается в виде десятичной дроби. Например, значение P – 5% составляет 0,05. Низкие значения Р хороши. Они указывают, что результат не произошел случайно. Вы можете думать о высоких значениях P как о слабых доказательствах против Нулевой гипотезы, а о низких значениях P – как о сильных доказательствах против Нулевой гипотезы:

  • Высокие значения P: Данные, скорее всего, удовлетворяют Нулевой гипотезе (Принимаем)
  • Низкие значения P: Данные, скорее всего, не удовлетворяют Нулевой гипотезе (Отклоняем)

Я много раз слышала, как люди пытаются смягчить свои отчеты, говоря что-то вроде «результаты были почти статистически значимыми».

Давайте будем точны:

Нет такого понятия, как «почти значимый». Ваш результат теста может быть статистически значимым или нет.

В дополнение к определению того, являются ли результаты Вашего теста статистически значимыми, также можно определить разницу между Вашей Нулевой и Альтернативной гипотезой. Чтобы определить это, нужно провести статистический тест. Проверки различных гипотез предполагают разные статистические критерии, основанные на вероятностной модели, принятой в гипотезе . Несколько часто используемых тестов включают в себя:

  • Z-тест (Z-статистика)
  • T-тест (T-статистика)
  • ANOVA (F-статистика)
  • Критерии хи-квадрат (статистика хи-квадрат)

При проведении анализа Вам необходимо выбрать T-статистику, наиболее подходящую для вашего эксперимента, и рассчитать оба значения T&P, чтобы оценить эффективность вашего эксперимента. Библиотека Statsmodels содержит несколько замечательных функций, которые помогут Вам провести некоторые из упомянутых выше тестов.

Источник: Statsmodel

Используйте код из этой подсказки для расчета T-тестов для базовых A/B-тестов, состоящих из 2 взаимоисключающих групп, которые помогут Вам получить значения P и T.

В итоге…

Хотя «A/B-тестирование» часто используется в качестве модного слова для пущей убедительности, очень важно уделить время тому, чтобы правильно спланировать тест и максимизировать его эффект. В конечном итоге, если Вы уделите время разработке, запуску и анализу эксперимента, Вы окажете огромное влияние на свою организацию. Что еще более важно, Вы заметите огромные изменения в вашей собственной карьере.

Перевод статьи Лимор Голдхабер, ныне growth hacker в Waze, ранее основатель и генеральный директор Discovered & Desquare.

Автор перевода: Андрон Алексанян, эксперт SF Education

 

КУРС

DATA SCIENCE ACADEMY

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