Продуктовая аналитика: влияние продуктовых фич на ретеншн

Предыдущих три поста были в сущности о том, как можно было бы разделить наши продуктовые фичи на несколько групп: core, power и casual. И делали мы это разными способами: (1) сравнивали популярность фичей с их ежедневной повторяемостью (2) сравнивали дневную интенсивность фичей с их ежедневной повторяемостью (3) применили кластеризацию к интенсивности.

Давайте остановимся на минутку и спросим себя - а зачем нам вообще разделять продуктовые фичи?

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

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

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

Но можем ли мы подойти к этому вопросу более формально? 

Давайте попробуем вместе ответить на этот вопрос. 

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

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

ВАЖНО: нужно брать статистику по клиентам возрастом старше 2-х месяцев, чтобы у каждого такого клиента было достаточно времени, чтобы вернуться в следующем цикле. 

Ретеншн флаг можно рассчитать на нескольких уровнях:

  • на уровне фичи
  • на уровне инструмента, в который входит фича
  • на уровне всего продукта

Обычно я смотрю ретеншн на уровне всего продукта. 

Определив уровень ретеншн и рассчитав ретеншн флаг, дальше мы можем задать себе несколько важных вопросов:

  1. Какие фичи имеют наибольший вклад в ретеншн?
  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 вы делите количество использований каждой фичи на бины и рассчитываете 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, power и casual

Давайте сведем выделенные мною core-фичи из 4-х подходов в одну таблицу и посмотрим насколько они пересекаются:

Core features selection using different approaches.
(кликните, чтобы увеличить картинку)

Из сравнительной таблицы выше видно, что в большинстве своем разные подходы дают очень похожие результаты: 4 из 5 фичей встречаются в каждом из подходов.

Причин, на мой взгляд, тому две:
  1. использование статистического подхода - 80% персентиль, который выделяет самое важное 
  2. использование 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)
  • инструмент (подсистема) внутри продукта
Если же присмотреться к данным на чарте выше, то мы можем сказать следующее:
  1. day_cnt почти всегда топовый сигнал связанный с ретеншн
  2. hits_per_day почти всегда самый слабый сигнал связанный с ретеншн
  3. в зависимости от инструмента общее количество совершенных действий (hit_cnt) и/или конкретное событие (event) иногда могут быть более важными с точки зрения количества информации о ретеншн
Стоит отметить, что на уровне отдельных событий важность указанных выше сигналов м.б. совершенно другой (и это нормально).

РЕЗЮМЕ:
  • расчеты по двум осям с использованием схемы персентилей 50/80 неплохо аппроксимируют ретеншн.
  • балансировка расчета качества - объемом, и наоборот позволяет делать надежные выводы
  • IV - доступный статистический подход к оценке влияния фич на ретеншн.

Comments

Popular posts from this blog

DAU / MAU отличный способ мерять не то, что вам нужно

Продуктовая аналитика: Матрица Вовлеченности

A/B-тестирование: 3 важных принципа