научный журнал «Актуальные исследования» #43 (122), ноябрь '22

Использование библиотеки lifetimes для оценки качества пользовательского трафика

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

Аннотация статьи
machine learning
user acquisition
data-science
data аналитика
Ключевые слова

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

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

Тем не менее, зачастую оценить качество новых пользователей продукта, например мобильного приложения, в короткие сроки не получается. Ждать хотя бы неделю для оценки трафика – слишком дорого. Тогда возникает задача прогнозирования долгосрочного поведения пользователя на основе данных о его первых сессиях в продукте. Для решения данной задачи далее будет проанализирована эффективность использования библиотеки lifetimes на языке программирования python.

Библиотека lifetimes – бесплатная библиотека, автором которой является Кэмерон Дэвидсон-Пилон – СЕО и основатель компании Pioreactor, бывший Директор по Data Science в Shopify, а также автор книги «Bayesian Methods for Hackers: Probabilistic Programming and Bayesian Inference». Библиотека предназначена для прогнозирования вероятности совершения следующей активности: захода приложение, покупки или любого другого действия.

Для определения вероятности используется модель BG/NBD – Beta Geometric / Negative Binomial distribution model. Модель учитывает количество и частоту совершения определенных событий и, на основе этих данных, рассчитывает вероятность того, что пользователь продолжит пользоваться продуктом.

Модель бета-геометрического / отрицательного биномиального распределения была введена в 2004 году, как усовершенствование модели Парето / NBD (первый BTYD), разработанной Schmittlein et al. в 1987 году. Когда пользователь активен, количество его транзакций за период t описывается распределением Пуассона с параметром транзакций λ:

,

где k – количество событий, λ – математическое ожидание случайной величины (среднее количество событий за фиксированный промежуток времени), k! обозначает факториал числа k и e=2,718281828… – основание натурального логарифма.

Рис. 1. Функция вероятностей Пуассона

Для начала перед работой с библиотекой необходимо подготовить data-set формата: id пользователя, дата его активности. Открываем любой удобный для работы ноутбук, устанавливаем библиотеку и загружаем наши данные в ноутбук.

Рис. 2. Установка библиотеки lifetimes и загрузка данных

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

Рис. 3. Обучение модели

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

Рис. 4. Построение предсказания

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

 Рис. 5. Сравнение фактических и прогнозных данных

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

Рис. 6. Оценка ошибки предсказания в количестве активностей

Количество фактических активностей превысило количество прогнозируемых на 6%. Проверим похожий показатель, но уже в пользователях.

Рис. 7. Оценка ошибки предсказания в количестве активных пользователей

Фактически в проверяемый период было активно на 22,85% меньше пользователей, чем предсказала наша модель. Для целей быстрой оценки качества трафика эти показатели приемлемы, учитывая скорость оценки активности новых пользователей. Последним шагом необходимо поставить прогнозирование активности на расписание и интегрировать данные с системой закупки трафика, чтобы агрегированные показатели стали доступны маркетологам при принятии решения о перераспределении бюджета между рекламными кампаниями.

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

Текст статьи
  1. Lifetime Documentation [Электронный ресурс]. – Режим доступа: https://lifetimes.readthedocs.io/en/latest/index.html (дата обращения: 29.10.2022)
  2. Lifetime at GitHub [Электронный ресурс]. – Режим доступа: https://github.com/CamDavidsonPilon/lifetimes/blob/master/docs/index.rst (дата обращения: 29.10.2022)
  3. Cameron Davidson-Pilon (2015). Bayesian Methods for Hackers: Probabilistic Programming and Bayesian Inference.
  4. Применяем data science для определения жизненного цикла клиента [Электронный ресурс]. – Режим доступа: https://habr.com/ru/post/436236/ (дата обращения: 29.10.2022)
  5. Прогнозирование ценности жизни клиента с помощью вероятностных моделей «Купи и умри» в Python [Электронный ресурс]. – Режим доступа: https://machinelearningmastery.ru/predicting-customer-lifetime-value-with-buy-til-you-die-probabilistic-models-in-python-f5cac78758d9/?ysclid=l9tuye2xm9512510177 (дата обращения: 29.10.2022)
  6. Peter S. Fader, Bruce G. S. Hardie, Ka Lok Lee (2003). “Counting Your Customers” the Easy Way: An Alternative to the Pareto/NBD Model.
  7. Жизненный цикл пользователя в анализе данных электронной коммерции [Электронный ресурс]. – Режим доступа: https://russianblogs.com/article/42681915252/ (дата обращения: 29.10.2022)
  8. Распределение Пуассона [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Распределение_Пуассона (дата обращения: 29.10.2022)
  9. Customer Behavior Modeling: Buy-til-you-Die Models [Электронный ресурс]. – Режим доступа: https://towardsdatascience.com/customer-behavior-modeling-buy-til-you-die-models-6f9580e38cf4 (дата обращения: 29.10.2022)
Список литературы