На встрече SF Growth Meetup в июле 2016 года, организованной Джоном Иганом из группы роста Pinterest, докладчики из Pinterest, Yelp и группы роста Dropbox рассказали о методах роста в своих компаниях. Следующие заметки - это первая часть доклада, в котором команда роста Pinterest использует методы машинного обучения для стимулирования роста. Полный текст видео здесь

Команда роста Pinterest использует машинное обучение для стимулирования роста

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

Проблемное пространство:

У Pinterest очень много контента: 100 миллионов пользователей сгенерировали 50 миллиардов контактов на 1 миллиардах досок. Однако найти соответствующий контент на индивидуальном уровне сложно. Основная «проблема» команды роста Pinterest - соединить людей с интересным контентом, который снова можно разложить на два небольших вопроса:

  1. В какое время нужно доставить это актуальное содержимое?
  2. Какие сообщения нужно доставить?

Как найти подходящее время:

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

По вертикальной оси отложено количество сгенерированных «событий», а по горизонтальной оси - время, прошедшее с момента первоначальной генерации события, относящееся к местному времени человека. События в контексте Pinterest - это кампании по электронной почте, push-уведомления и т. Д.

Ключевой вывод из этого:

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

Поиск правильного сообщения

Pinterest имеет около 200 типов электронной почты. Каждый пользователь предпочитает разные типы писем. Вовлеченность определяется как щелчок по электронной почте (фактическое определение Pinterest может быть более точным). Цель состоит в том, чтобы отправлять пользователю релевантные, «правильные» сообщения. Опять же, чтобы узнать, правильно ли что-то, команде роста Pinterest необходимо использовать исторические данные об активности и другие типы данных для поддержки анализа. Чтобы преобразовать бизнес-цель в цель машинного обучения, Pinterest необходимо спрогнозировать вероятность взаимодействия с данным событием для данного пользователя. Интуиция, лежащая в основе:

  1. Если вероятность взаимодействия низкая, отправляйте все реже и реже такие электронные письма.
  2. Если вероятность взаимодействия высока, отправляйте больше таких писем чаще.

Модель обучается с использованием регуляризованной логистической регрессии L-2, также известной как гребневая регрессия. Вот достойное введение в регрессию гребня и лассо из Стэнфорда.

Для каждого пользователя разработаны следующие функции. Вот введение в разработку функций из Wiki:

  1. Демография: страна, пол и т. Д.
  2. История электронных писем: click_rate, oepn_rate и т. Д.
  3. Давность: недавно щелкнули, недавно открыли
  4. Уровень взаимодействия пользователей: основной, случайный, неактивный и т. Д., А также различные другие функции использования сайта.

В ходе различных экспериментов, направленных на поиск ответов в нужное время и в нужных сообщениях, команда Pinterest Growth нашла дополнительные идеи в дополнение к частоте отправки электронной почты на основе сегментации вовлеченности:

Частота отправки электронной почты может быть персонализирована на основе сегментации взаимодействия.

Технологии, которые Pinterest использовала для проведения этих экспериментов:

  1. Каскадирование и куст для создания объектов, меток и примеров
  2. Spark используется для машинного обучения
  3. пинбол для планирования рабочих процессов для периодического обновления моделей - планирования обновления функций / весов модели.

Другие важные заметки и выводы:

  1. Функции, которые использовались в качестве входных данных, фиксируются в течение длительного времени.
  2. Давность очень важна
  3. Период охлаждения важен - если пользователи не интересуются, будьте осторожны с тем, что им отправлять.