Улучшение пользовательского опыта для продукта данных за счет использования объяснимых более подробных методов регрессии.

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

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

Фон

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

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

  • Модель CLV представляла собой единую регрессионную модель, предназначенную для прогнозирования будущих расходов для каждого клиента и объединения их с их предыдущими расходами, чтобы получить единое значение для их ценности жизненного цикла клиента.
  • Модель повторных покупок была разработана для прогнозирования количества дней в будущем, которые потребуются покупателю для повторной покупки продукта, который он уже купил.
  • Модель, предсказывающая вероятность того, что покупатель купит новый продукт, представляет собой классификационную модель, предсказывающую вероятность покупки для каждой комбинации «покупатель + продукт».

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

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

Области оптимизации

Раздутые нули

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

Этот вопрос приводит к проблеме «нулевой инфляции». Всякий раз, когда мы пытаемся спрогнозировать будущее поведение клиента, в данных этикетки присутствует большое количество «0». Кроме того, есть небольшое количество чрезвычайно больших значений из-за китов.

Регрессионным моделям, даже сложным моделям глубокой сети, может быть трудно изучить распределение таких моделей, даже после преобразования данных с использованием журналов или Box Cox. Это приводит к тому, что модели редко предсказывают «0», тогда как на самом деле большинство клиентов должны иметь 0 для своей метки, поскольку значения от китов, как правило, завышают все прогнозы. Мы решили сделать эти модели более устойчивыми к такому типу распределения данных.

Объяснимость

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

До последнего выпуска наш продукт не давал им возможности глубже изучить эти прогнозы.

Решение проблемы с помощью лучшей науки о данных

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

Нулевая регрессия

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

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

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

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

Глобальная объяснимость

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

Наткнувшись на отличный пост от Скотта Лундберга, в котором сравнивалась стабильность двух методов, мы решили использовать глобальные метрики объяснимости, полученные на основе агрегированных значений SHAP, поскольку они, как правило, более стабильны и последовательны, чем значения важности признаков из модели.

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

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

Во всех случаях наша обучающая система (BigQuery ML) предоставляла нам ранжированный список функций, основанный на атрибуции, которая была назначена каждой функции в процессе моделирования. Используя эти функции атрибуции, мы смогли создать ранжированный список функций, каждой из которых была назначена категория важности на основе ее рейтинга атрибуции. Например, функция, которая может оказать большое влияние на модель, часто будет иметь оценку атрибуции 1,0 или выше. Для этих типов объектов наша система автоматически присваивает категорию «Очень сильное влияние», но для объектов со значением, близким к 0, мы назначаем категорию «Минимальное влияние», а для объектов с рейтингом атрибуции 0, мы присвоили категорию «Нет воздействия».

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

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

Ориентация на пользователя

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

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

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