Предыдущих три поста были в сущности о том, как можно было бы разделить наши продуктовые фичи на несколько групп: core, power и casual. И делали мы это разными способами: (1) сравнивали популярность фичей с их ежедневной повторяемостью (2) сравнивали дневную интенсивность фичей с их ежедневной повторяемостью (3) применили кластеризацию к интенсивности.
Давайте остановимся на минутку и спросим себя - а зачем нам вообще разделять продуктовые фичи?
На самом деле, мы не случайно делили их по популярности и особенно по интенсивности. Мы хотели понять, какие фичи создают привычку повторного использования.
С одной стороны, если мы посмотрим на популярность фичи (например, % MAU) мы легко можем разбить этот показатель на "новых" и "вернувшихся". Если доля вернувшихся будет условно большая и не будет падать со временем, значит можно сделать вывод, что клиенты регулярно возвращаются за этой фичей.
С другой стороны, дневная интенсивность и особенно ежедневная повторяемость дают нам еще более понятную картинку того, как именно формируется привычка повторного использования фичи.
Но можем ли мы подойти к этому вопросу более формально?
Давайте попробуем вместе ответить на этот вопрос.
Первое, с чего мы начнем - это определим для себя цикл повторного использования продукта. Во многом, конечно, это зависит от специфики продукта. Из того, что я встречал ранее, это как правило, либо еженедельная либо ежемесячная цикличность.
Затем, нам нужно рассчитать флаг ретеншн (вернулся клиент или нет) для каждого клиента воспользовавшегося той или иной фичей в следующем цикле.
ВАЖНО: нужно брать статистику по клиентам возрастом старше 2-х месяцев, чтобы у каждого такого клиента было достаточно времени, чтобы вернуться в следующем цикле.
Ретеншн флаг можно рассчитать на нескольких уровнях:
- на уровне фичи
- на уровне инструмента, в который входит фича
- на уровне всего продукта
Обычно я смотрю ретеншн на уровне всего продукта.
Определив уровень ретеншн и рассчитав ретеншн флаг, дальше мы можем задать себе несколько важных вопросов:
- Какие фичи имеют наибольший вклад в ретеншн?
- Сколько дней нужно повторно использовать фичу, чтобы вероятность ретеншн клиента стала выше среднего?
Первый вопрос (как впрочем и второй) тесно связаны с задачей бинарной классификации. Правда, в данном случае, мы не хотим спрогнозировать, кто вернется, а кто - нет. Наоборот, зная, кто из клиентов вернется, а кто - нет, мы хотим понять как каждая отдельная фича влияет на это.
Один из способов ранжирования продуктовых фичей выступающих в роли сигналов - использовать метод
Information Value (IV).
ВАЖНО: Сравнивая сигналы между собой важно помнить, что разные фичи имеют разную популярность использования внутри инструмента, а разные инструменты имеют разную популярность внутри продукта.
Рассчитав IV для каждой фичи и отсортировав таблицу по уменьшению IV мы получаем таблицу с вкладом каждой фичи в ретеншн продукта:
 |
Product features ranked by impact to retention. (кликните, чтобы увеличить картинку) |
Обратите внимание, например, на фичу posts_comment_edit или фичу messages_edit.
Все 32 клиента (колонка _c1), кто воспользовался фичей posts_comment_edit - вернулись. Никто не ушел.
Если же говорить про фичу messages_edit , то всего 2 клиента воспользовались ею и не вернулись (колонка _c0), а 111 клиентов воспользовались и вернулись!
Но, даже с учетом таких крутых результатов у этих фичей далеко не самый высокий IV, потому как большинство клиентов не пользовались этими фичами, а значит их влияние на ретеншн ограничено. Это значит, что метод IV учитывает размеры выборок при расчетах и нам не нужно ничего перевзвешивать! (Классический способ расчета IV по фиче не учитывает тех, кто не воспользовался фичей, поэтому я применил модифицированный способ расчета IV.)
Т.о. мы смогли проранжировать наши продуктовые фичи по тому, как они влияют на ретеншн в продукте и при этом учесть популярность каждой фичи.
Теперь давайте попробуем ответить на второй вопрос - сколько дней нужно происпользовать фичу, чтобы вероятность возврата в продукт была выше средней.
Прелесть метода IV в том, что при подготовке расчета IV вы делите количество использований каждой фичи на бины и рассчитываете Weight Of Evidence (WOE). А WOE есть ничто иное как соотношение доли вернувшихся клиентов к ушедшим:
- если WOE < 0, то шансы возврата клиента в этом бине ниже среднего.
- если WOE = 0, то шансы возврата клиента такие же как и невозврата.
- если WOE > 0, то шансы возврата клиента в этом бине выше среднего.
Поэтому найдя бин, где WOE становится впервые > 0, мы автоматически находим наш
inflection point для каждой фичи.
Давайте разберем это на примере фичи tasks_add:
 |
Weight Of Evidence (WOE) for product feature `tasks_add`. (кликните, чтобы увеличить картинку) |
Судя по чарту выше, клиенту, в среднем, нужно создать задачи, как минимум, 2-3 дня, чтобы доля вернувшихся в продукт стала преобладать над долей ушедших из него.
Теперь мы также смогли ответить на вопрос начиная с какого числа дней использования, фича начинает заметно влиять на ретеншн.
Пришло время сравнить упомянутые мною в других постах подходы между собой.
Давайте сведем выделенные мною core-фичи из 4-х подходов в одну таблицу и посмотрим насколько они пересекаются:
 |
Core features selection using different approaches. (кликните, чтобы увеличить картинку) |
Из сравнительной таблицы выше видно, что в большинстве своем разные подходы дают очень похожие результаты: 4 из 5 фичей встречаются в каждом из подходов.
Причин, на мой взгляд, тому две:
- использование статистического подхода - 80% персентиль, который выделяет самое важное
- использование 2-го измерения, которое страхует нас от выбросов по первому измерению
В заключение, хотелось бы также ответить на еще один важный вопрос - что же важнее для ретеншн:
- количество использований фичи в день (дневная интенсивность) или
- количество дней использования фичи (ежедневная повторяемость)?
Для начала давайте посмотрим как ежедневная повторяемость (avg_days_cnt) и дневная интенсивность (avg_hits_per_day) позиционируют фичи в сравнении с ретеншн-score (IV):
 |
`avg_days_cnt` vs `avg_hits_per_day` vs `IV`. (кликните, чтобы увеличить картинку) |
Давайте рассмотрим это на примере фичей messages_send_text и tasks_view.
Фича messages_send_text имеет самую высокую ежедневную повторяемость. Также фича messages_send_text имеет самую высокую дневную интенсивность. Но, при этом эта фича идет второй по значимости влияния на ретеншн.
И наоборот, фича tasks_view идет лишь третьей по ежедневной повторяемости и второй по дневной интенсивности использования, но эта фича дает самый высокий вклад к ретеншн.
Получается, что обе интенсивности несут в себе разную информацию о ретеншн. Поэтому используя чарт выше ответить на вопрос какая интенсивность важнее - не получится.
Попробуем сделать иначе. Давайте возьмем имеющиеся у нас данные и попробуем построить IV по каждому инструменту с использованием всех доступных нам сигналов:
- day_cnt - количество дней использования
- hit_cnt - общее количество использований за месяц
- user_cnt - количество пользователей, использующих фичу
- hits_per_day - общее количество использований за один день
- event - название того или иного события
Вот что у нас получилось:
 |
Signals strength comparisons. (кликните, чтобы увеличить картинку) |
ВАЖНО: очень многое будет зависеть от контекста использования продукта:
- цикл повторного использования продукта (еженедельный, ежемесячный или даже ежедневный)
- вертикаль (например, для игр скорее всего решающим будет сигнал hits_per_day)
- инструмент (подсистема) внутри продукта
Если же присмотреться к данным на чарте выше, то мы можем сказать следующее:
- day_cnt почти всегда топовый сигнал связанный с ретеншн
- hits_per_day почти всегда самый слабый сигнал связанный с ретеншн
- в зависимости от инструмента общее количество совершенных действий (hit_cnt) и/или конкретное событие (event) иногда могут быть более важными с точки зрения количества информации о ретеншн
Стоит отметить, что на уровне отдельных событий важность указанных выше сигналов м.б. совершенно другой (и это нормально).
РЕЗЮМЕ:
- расчеты по двум осям с использованием схемы персентилей 50/80 неплохо аппроксимируют ретеншн.
- балансировка расчета качества - объемом, и наоборот позволяет делать надежные выводы
- IV - доступный статистический подход к оценке влияния фич на ретеншн.
Nice
ReplyDelete