Posts

Клиент: непредсказуемая предсказуемость

Image
Итак, какое-то время назад я читал исследование о том, что происходит с клиентами, которые сделали одну покупку (one-time buyers). Основной тезис исследования заключался в том, что таких клиентов, как правило, очень много (~60%) и чтобы улучшить их активацию на вторую покупку их надо как-то сегментировать и делать персонализированные офера.

Для того, чтобы персонализировать офер, важно понять, что мы знаем о клиентах, которые сделали следующие шаги (2+ покупки) и пытаться применить эти знания к one-time buyers.

Найденных в исследовании инсайтов было три:
день недели в котором была совершена 1-я покупка имеет больше шансов быть следующим днем покупки, чем все остальные дни недели;период дня в котором была совершена 1-я покупка имеет больше шансов быть следующим периодом дня для покупки, чем все остальные периоды;сумма 1-й покупки имеет больше шансов быть следующей суммой покупки, чем все остальные суммы. Недолго думая, я решил взять один e-commerce датасет с нерегулярными покупками и по…

LTV: вероятность совершения повторной покупки

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

Существуют разные подходы к ее оценке, но все они так или иначе связаны с поведенческими характеристиками, причем практически всегда характеристика #1 это Recency.

Сегодня я покажу вам 3 подхода к оценке вероятности совершения повторной покупки (от менее точного к более точному):
на основе Recency и Latencyна основе Recency,Lifetime, Frequencyна основе модели Pareto/NBD Прелесть каждого из подходов в том, что мы рассчитываем вероятность совершения повторной покупки для каждого клиента индивидуально (не на основе когорты).

Оценка вероятности на основе Recency и Latency
Начну с того, что бегло напомню вам разницу между Recency и Latency.
Recency - время, которое прошло с момента совершения последней покупки до сейчас. R = today() - last_order_date
Latency - среднее время между покупками. L = ( last_order_date - first_order_date ) / ( Frequenc…

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

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

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

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

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


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

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

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

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

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

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


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

A/B-тестирование: понизить результат, чтобы двигаться вперёд

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

Итак, что же это за схема и чем она отличается от всего того, о чем я писал ранее?

Обычно, дизайн A/B-теста заключается в проверке гипотезы вида:
вариант В будет лучше варианта А на Х% 

Такой дизайн эксперимента называет superior test.

Мы помним, что при такой схеме тестирования, мы, как правило, закладываем false positive rate на уровне 5%. Главное, что нужно вынести из этой (классической) схемы тестирования  это то, что никакой A/B-тест не является 100% гарантией превосходного результата. И чем больше мы хотим сократить % ложных срабатываний, тем больше времени (читай - больший объем выборки) нам нужно.

Альтернативный дизайн A/B-теста заключается в проверке гипотезы вида:
вариант B будет хуже варианта Aн…

A/B-тестирование: сколько надо дней для успешного теста или что делать, если что-то пошло не так?

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

Сегодня я хочу обсудить другой, бизнесовый, аспект проведения A/B-тестов.

Цель любого A/B-теста это увеличение целевого показателя. И как это обычно бывает, гипотез о том, что можно было бы сделать намного больше, чем ресурсов у компании. Здесь мы должны принять некое компромиссное решение между двумя крайностями:
часто до запуска теста нужны доработки со стороны ITразные тесты будут приносить разный выхлоп (объем результата) Поэтому для бизнеса всегда важно делать приоритезацию тестов. Для приоритезации гипотез нужно как-то оценить возможный исход и количество необходимого времени.

Как мы уже выяснили из прошлого поста, до запуска теста нужно выполнить два предварительных условия:
оцени…

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

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

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

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

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

Взвешенная сортировка или как работать с большим количеством конверсий

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

Например, у вас есть 20 (а м.б. 2000+) лендингов на которые приходит трафик. На этих лендингах клиенты совершают целевые дейтсвия, в результате чего происходит конверсия.

Вопрос, как понять какие лендингы самые важные для бизнеса?

Сортировка по сессиям


Если мы отсортируем лендинги по сессиям, то мы поймем откуда заходит больше всего трафика.

Сделав это, мы видим, что самые посещаемые страницы, являются самыми низко-конверсионными. Причем, когда трафик начинает уменьшаться, то конверсия растет.

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

Так, например, трафика на `landing 17` в 12 раз больше, чем на `landing 10`. Но, в тоже время, лидов с `landing 10` мы получаем в 2 раза больше, чем из `landing 17`.

Поэтому потеря небольшого объема трафика с `landing 10` будем намного ощутимее для бизне…

Обратная сторона корреляции

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

Сегодня я хочу поделиться с вами этим примером. Итак, у нас есть вот такой простой датасет (см ниже).


В датасете есть 4 переменные Х и 4 переменные У.

Пары значений { xi, yi } подобраны так, что у них практически одинаковая корреляция (~0.816).

Так вот одинаковая корреляция еще не означает, что

-- между переменными зависимости однотипные

Как и высокий коэффициент корреляции еще не означает, что

-- между переменными есть линейная зависимость

-- там вообще есть зависимость

Давайте построим 4 графика и оценим эти зависимости.



В первой паре { x1, y1 } мы видим практически линейную зависимость.

Во второй паре { x2, y2 } мы видим криволинейную зависимость.

В третьей паре { x3, y3 } мы видим выброс, который несколько изменил траекторию зависимости.

В четвертой паре { x4, y4 } мы видим выброс, который фактически создал несуществующую зависим…

Outliers, anomalies и прочие выбросы в ваших данных

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

Как с этим работать - тема сегодняшнего поста.

Чтобы проще было понимать о чем дальше будет идти речь, я сгенерировал 2 тестовых датасета. Каждый датасет состоит из таких полей:
порядковый номер записи (idx), средний чек заказа (AOV), средний чек первого заказа (first_AOV).
Первый датасет состоит из 100 записей и в нем нет outliers (выбросов).

Второй датасет состоит из 30 записей и в нем точно есть outliers (я вручную задал 2 значения выше диапазонов случайных значений, которыми я параметризировал датасеты).

Outliers

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

Одно из самых простых и в тоже время рабочих определений дал в свое время известный математик Tukey: outlier это значение, которое выходит за рамки диапазона ± 1.5 * IQR.


Когда …