В этой статье, состоящей из трёх частей, мы рассказываем о нашем исследовании метрик, на которые стоит ориентироваться, чтобы увеличить долгосрочную выручку онлайн-магазина.
В первой части обсудили проблемы, возникающие при оценке LTV пользователей онлайн-магазина, и как можно решить их с помощью прокси-метрик. Также мы рассказали, как ищут подобные метрики компании из разных областей и поделились собственным списком найденных метрик, применимых в e-commerce.
Вторая часть (то есть та, которую вы сейчас читаете) более техническая: в ней мы детально объясняем, как можно найти и выбрать полезные прокси-метрики из множества вариантов, насколько хорошо они предсказывают LTV покупателей, смогут ли магазины с разными категориями товаров их использовать и т.д.
Третья, финальная часть, более прикладная: в ней мы обсудим, как бизнесу работать с полученными метриками, чтобы повышать LTV пользователей, а вместе с ним и долгосрочную выручку онлайн-магазина.
Но вернемся к технологии поиска прокси-метрик. Для своего исследования мы использовали методы машинного обучения и извлекали из данных статистические закономерности. Поэтому будет логично сперва рассказать об используемых данных, на основе которых мы делали выводы.
Источники данных
У Retail Rocket более 1000 клиентов по всему миру: Россия, Европа, Латинская Америка, СНГ – часть которых работает с компанией много лет. Из них для исследования мы отобрали 27 интернет-магазинов, специализирующихся на различных категориях товаров.
Такое разнообразие магазинов понадобилось, чтобы проверить, насколько найденные прокси-метрики будут универсальны.
Описание данных
У каждого посетителя интернет-магазина есть идентификатор, хранящийся в cookie. По нему можно отследить, какие связанные с пользователем события происходили, когда и каким образом.
К таким событиям относятся:
Заказ товара;
Добавление товара в корзину;
Просмотр товара;
Просмотр категории;
Просмотр страницы сайта;
Использование поисковой системы сайта;
Пользователь оставил свою электронную почту.
По нашим данным, примерно 10% всех cookie «живут» более 120 дней – этого достаточно, чтобы выявить связи между признаками и LTV. Однако есть проблема: часть пользователей сбрасывает cookie и возвращается в магазин с новым идентификатором. Из-за этого сложнее определить, как те или иные признаки влияют на LTV. Возможно, при более точной идентификации пользователя обнаруженные нами связи окажутся сильнее.
Логика формирования признаков и целевой переменной
Чтобы было проще разобраться, введем следующие термины:
Дата среза – это дата, разделяющая два периода: период сбора признаков (4 месяца до даты среза) и период сбора информации о будущем LTV (6 месяцев после даты среза).
Например, если дата среза – 1 июля 2020 года, то признаки собираются с 1 марта 2020 по 1 июля 2020 года включительно, а информация о будущем LTV – со 2 июля 2020 года по 1 января 2021 включительно.
Целевая переменная в нашем исследовании (информация, которую мы хотим предсказать) – факт покупки в период сбора информации о будущем LTV. Мы рассматривали только посетителей из периода сбора признаков и, если не находили никаких связанных с ними событий в период сбора информации о будущем LTV, считали, что такой пользователь ничего не покупал.
Чтобы проверить, насколько найденные нами зависимости стабильны во времени, у каждого из 27 магазинов мы взяли по 6 срезов (первое число каждого месяца с июля по декабрь 2020 года).
Для отбора кандидатов в прокси-метрики мы составили обширный список. Он включал в себя признаки, связанные с:
Заказами: количество, давность последней покупки, средний чек, выручка и т.д;
Добавлением товаров в корзину: за всё время, за последнюю неделю;
Знакомством с каталогом магазина: кол-во просмотров товаров, категорий, кол-во просмотров за последнюю неделю;
Использованием поисковой системы сайта: кол-во запросов в поисковой системе сайта за всё время, за последнюю неделю;
Временем, проведенном на сайте: разница в днях между первым и последним посещением сайта, давность последнего посещения сайта, активность на сайте в рабочие и нерабочие часы, в конкретные дни недели;
Фактом подписки: оставил email или нет, как давно стал подписчиком;
Устройством, с которого посещал сайт: компьютер или смартфон, точная версия браузера, IP пользователя;
Разным отношением признаков и агрегатов: например, доля просмотров товаров за последнюю неделю к просмотрам за всё время, суммарное количество просмотра категорий, товаров и поиска, доля поиска во всех действиях пользователя на сайте и т.д.
Мы провели исследование для всех 27 магазинов, но для простоты покажем в качестве примера результаты двух наиболее крупных и отличающихся друг от друга. У «Магазина 1» больше всего посетителей, совершающих заказы, и короткий период потребления, а у «Магазина 2» наоборот – меньше всего посетителей, совершающих заказы, и длинный период потребления.
Отбор признаков по степени влияния на целевую переменную
Целевая переменная бинарная – пользователь либо совершит покупку, либо нет – поэтому силу отдельных признаков и модели целиком мы измеряли с помощью метрики ROC AUC.
Для начала посмотрели, насколько значим каждый признак с помощью алгоритма бустинга над решающими деревьями. Затем оставили признаки с высоким значением ROC AUC. Таким образом мы отсеяли слабые признаки и обнаружили среди оставшихся много хороших кандидатов в прокси-метрики с высокими показателями ROC AUC.
На графиках ниже – примеры сильных признаков.
По графикам видно, что даже в совершенно разных магазинах признаки работают одинаково. Также отметим, что признаки «количество просмотренных товарных позиций» и «давность последнего посещения сайта» никак не связаны с заказами и при этом работают ничуть не хуже.
Отбор признаков по коррелированности
Среди признаков было много пар с высокой корреляцией. Включать их вместе в итоговый список прокси-метрик LTV бессмысленно, так как меняются они одинаково, а отслеживать большое количество признаков затруднительно. Также, если обучать модель на коррелированном наборе признаков, то могут возникнуть проблемы со стабильностью параметров и дальнейшим использованием модели.
Например, есть три сильных признака:
Количество просмотров товара;
Количество разных просмотренных товаров;
Количество разных просмотренных категорий.
Корреляция между ними больше 80%: все говорят о том, что пользователь ознакомился с каталогом магазина и заинтересован в его товарах. Следовательно, любой из этих признаков можно взять в качестве прокси-метрики. Скорее всего, для магазинов с большим числом категорий полезнее будет «количество разных просмотренных категорий», а для магазинов с несколькими категориями, но большим количеством разных товаров – «количество разных просмотренных товаров».
Мы оставили признак «количество разных просмотренных товаров», так как он отвечает за ознакомленность с каталогом и связан с эффективным размером каталога. Также мы отталкивались от обзорной статьи, в которой он оценивается как имеющий бизнес-ценность.
В свою очередь метрика «количество просмотров товара» не всегда устойчива к выбросам в данных. Например, если посетитель аномально много раз посмотрел один товар, то для бизнеса это не имеет большой ценности.
Аналогично мы поступали и с другими парами коррелирующих признаков. В итоге оставили несколько признаков о заказах (они коррелированы, но часто используются нашими клиентами как прокси-метрики LTV) и самые сильные признаки, не связанные с заказами:
Количество заказов;
Средний чек;
Выручка;
Давность последнего заказа в днях;
Посетитель оставил email;
Тип браузера;
Тип устройства;
Давность последнего посещения сайта;
Количество разных просмотренных товаров;
Длительность взаимодействия пользователя с сайтом в днях (разница в днях между первым и последним посещением);
Количество запросов в поисковой системе сайта;
Количество добавленных в корзину товаров.
Как мы видим на графиках выше, между собой коррелируют только связанные с заказами признаки и еще несколько пар:
Тип браузера и тип устройства имеют относительно слабую корреляцию, поэтому оба этих признака могут быть полезны магазину. Однако для каких-то магазинов их, возможно, лучше объединить в один;
Количество добавленных в корзину товаров и количество заказов также имеют корреляцию, так как перед заказом товара его обычно добавляют в корзину. Степень коррелированности этих признаков зависит от особенностей магазина, например, от доли брошенных корзин. На графиках мы видим, что для «Магазина 1» корреляция невысокая;
Факт подписки и связанные с заказами признаки могут коррелировать между собой, потому что в некоторых магазинах пользователи автоматически становятся подписчиками после совершения покупки.
Проверка стабильности работы признаков по времени
Признаки одинаково влияют на оценку будущего LTV, независимо от даты среза. Например, если у пользователей с 10 просмотрами разных товаров в среднем будущий LTV выше, чем у пользователей с 2 просмотрами, то это справедливо для каждого месяца.
Чтобы проверить это утверждение, мы построили графики, на которых разбили посетителей на группы по интервалам значения признаков и для каждой отобразили долю посетителей, совершивших заказ в будущем.
По графикам выше видно, что независимо от выбранного среза признаки работают одинаково: например, чем больше разных товаров смотрит посетитель, тем вероятнее совершит покупку в будущем. Соответственно, найденные нами зависимости стабильны по времени.
Вклад отдельных прокси-метрик в качество модели
На основе отобранных признаков мы построили модель с помощью бустинга над решающими деревьями – последовательно добавляли признаки в следующем порядке и измеряли ее качество:
Признаки, связанные с заказами;
Количество добавленных в корзину товаров;
Посетитель оставил email;
Тип устройства;
Тип браузера;
Количество запросов в поисковой системе сайта;
Длительность взаимодействия пользователя с сайтом;
Количество просмотренных разных товаров;
Давность последнего посещения сайта;
Такой порядок был необходим, чтобы понять, несут ли признаки, не связанные с заказами, дополнительную полезную информацию для модели по сравнению со связанными с заказами признаками.
Как мы видим выше, связанные с заказами признаки (средний чек, выручка, давность последней покупки) добавляют мало дополнительной информации к признаку «количестве заказов», поэтому среди прокси-метрик можно оставить какой-то один показатель, связанный с заказами. Мы выбрали самый устойчивый к выбросам – «количество заказов». На этом графике также можно заметить, насколько важны все последующие признаки – каждый добавляет информацию об LTV, не содержащуюся в предыдущих признаках.
Такую аналитику мы провели для всех 27 магазинов – и везде отобранные нами признаки, не связанные с заказами, показали сильную связь с LTV и добавили много дополнительной информации к признакам, связанным с заказами.
Часто один признак, например, «количество разных просмотренных товаров» или «давность последнего посещения сайта» имел ROC AUC больше, чем все признаки о заказах вместе взятые. Это связано с тем, что по сравнению со всей массой посетителей интернет-магазинов заказы совершает очень маленькая доля пользователей. Соответственно, данных по ним меньше. В нашей выборке только у одного магазина доля пользователей с заказами составила 10%, у остальных она была 2-5%.
Затем мы поменяли порядок добавления признаков и посмотрели, как меняется модель, если сначала загружать в нее не связанные с заказами признаки, а потом связанные.
По графику видно, что связанные с заказами признаки несут в себе дополнительную полезную информацию, но есть магазины (в данном случае это «Магазин 2»), где дополнительная информация практически отсутствует.
Сделанные в этой главе выводы мы проверили на всех исследуемых магазинах, и они подтвердились.
В следующей части обсудим, как бизнесу работать с полученными метриками, чтобы повышать LTV пользователей, а вместе с ним и долгосрочную выручку онлайн-магазина.
Авторы: Айбатов Серик, Носков Артем, аналитики RetailRocket