Рецепты персонализации от Netflix: пусть никто не уйдёт обиженным. Читайте на Cossa.ru

24 декабря 2017, 17:17

Рецепты персонализации от Netflix: пусть никто не уйдёт обиженным

А ещё лучше — пусть вообще никто никуда не уходит. Рассказываем, как работают алгоритмы Netflix и чему можно научиться у короля видеостриминга.

Рецепты персонализации от Netflix: пусть никто не уйдёт обиженным

Для начала — статистика Netflix по итогам 2017 года.

  • Сервис работает более чем в 200 странах.
  • Насчитывает 110+ миллионов подписчиков.
  • Получает почти 3 миллиарда долларов ежеквартального дохода.
  • Растёт на 5 миллионов новых подписчиков в квартал.
  • В течение недели воспроизводит свыше миллиарда часов видео.
    Для сравнения: в среднем за день YouTube транслирует один миллиард часов видео, Facebook — 110 миллионов, а Netflix — 250 миллионов.
  • Получает более 37% пикового интернет-трафика в Соединенных Штатах.
  • Планирует потратить более 7 миллиардов долларов на новый контент в 2018 году.

Идет регистрация агентств-участников в рейтинги RUWARD 2024!

До 8 декабря идет этап регистрации диджитал-агентств/продакшенов в серии из 46 рейтингов узких диджитал-специализаций Руварда. Поторопитесь! =)

.

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

Обложка видео как призыв к действию

Ключевая задача системы персональных рекомендаций Netflix: подобрать фильмы для дальнейшего просмотра и, что ещё важнее, правильно их преподнести. Звучит несложно, правда? Но что, если фильмы новые, подписчик ничего о них не слышал и не представляет, что увидит? В этом случае главную роль играет тизер — обложка фильма, которая должна зацепить зрителя, даже если описание, жанр и актёры ни о чём ему не говорят.

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

Набор обложек для сериала «Очень странные дела» (Stranger Things) — разные изображения по-своему оттеняют историю, которую сложно передать одной картинкой. Каждое из этих изображений сработало как минимум в 5% случаев

Однако, учитывая разнообразие вкусов многомиллионной аудитории Netflix, лучше бы, конечно, каждому подписчику показать персональный тизер с учётом его зрительской истории. Отправная точка для анализа — история просмотров пользователя.

На картинке выше пример рекомендаций для двух разных зрителей. Слева — три тизера к фильмам, которые пользователь уже просмотрел, справа — обложка для рекомендации. Если подписчик предпочитает романтические фильмы, то тизером к фильму «Умница Уилл Хантинг» будет картинка сладкой парочки — Мэтта Дэймона и Минни Драйвер. А для любителя комедий магнитом станет улыбка комика Робина Уильямса.

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

Прогнозные тизеры к фильму «Криминальное чтиво» (Pulp Fiction): для поклонников Умы Турман и Джона Траволты

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

Контекстные бандиты и роль визуальной презентации

Итак, здесь и сейчас пользователю можно показать только один тизер для одного видео. При этом настройки рекомендаций позволяют выбрать эту картинку для каждого подписчика из десятков и сотен вариантов. Шаг за шагом система выясняет предпочтения зрителя простым и действенным способом: просмотрел он в итоге видео, кликнув по рекомендованной обложке, или нет. Но для чистоты эксперимента необходимо узнать, в какой мере результат вызван именно предложенным тизером. Возможно, решение пользователя о просмотре вообще слабо с ним связано: что, если картинка сработала из-за контекста, а не сама по себе — выделилась среди остальных в списке? Или, наоборот, подходящая картинка, которая сработала бы в другом случае, сейчас затерялась? Что, если на самом деле зацепило краткое описание картины? Может, подписчик просто вспомнил увиденный ранее трейлер, а все ухищрения сервиса тут ни при чём?

Резонный вывод Netflix: нам нужно ещё и ещё больше данных, и анализировать их необходимо самым тщательным образом.

Механизм рекомендаций основан на алгоритмах машинного обучения и совершенствуется с помощью А/Б-тестирования. Случайным образом отбираются две группы пользователей: А-группа остаётся на старом алгоритме, Б-группа тестирует новый. Если по результатам тестирования взаимодействие с сервисом Б-группы явно улучшается, обновление выкатывают для всех пользователей.

Чтобы не затягивать с внедрением новшеств и чтобы все подписчики могли в относительно сжатые сроки начать пользоваться их благами, Netflix перешёл с пакетных обновлений на машинное онлайн-обучение.

Для подбора тизера используются контекстные или контекстуальные бандиты (contextual bandit). Это класс алгоритмов непрерывного онлайн-обучения обобщенной, постоянно пополняемой данными модели с возможностью применения контекста при минимальных затратах. То есть так, чтобы пользователь ничего не успел заметить. Под контекстом здесь понимаются данные профиля пользователя — история просмотров, любимые жанры и история взаимодействия с фильмами, страна, язык, используемое устройство — учитывается всё, даже день недели и время суток. Работа алгоритмов нацелена на снижение отказов.

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

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

Метрика replay для новой модели вычисляется путём сопоставления профилей, в которых случайный тизер совпал с предложенным новой моделью (столбцы обведены чёрной рамкой). Затем вычисляется доля показа — 2/3.

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

На графике выше — средняя доля успешных показов (чем выше, тем лучше) для различных алгоритмов подбора тизеров. Random (зелёный) выбирает обложку случайным образом, простой Bandit (жёлтый) показывает тизер с самой высокой долей показов, Contextual Bandit (голубой и сиреневый) используют контекст профиля для выбора наилучшего соответствия «тизер-подписчик».

Как вычисляют эффективность контекстных тизеров в зависимости от профиля: обложка с Робином Уильямсом — для любителя комедий, а с поцелуем — для романтика

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

Ниндзя форматов: оптимальная доставка контента

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

В 2007 году Netflix стартовал как стриминговый сервис с прицелом на Microsoft Windows. Со временем круг доступных устройств и платформ расширялся: Roku, LG, Samsung Blu-ray, Apple Mac, Xbox 360, LG DTV, Sony PS3, Nintendo Wii, Apple iPad, Apple iPhone, Apple TV, Android, Kindle Fire, Comcast X1... Сейчас Netflix поддерживает более 2200 различных систем: для каждой создаётся видео в определённом формате, который наилучшим образом подходит для конкретного устройства и конкретной платформы. То есть если вы смотрите Netflix на iPhone, вам покажут видео, которое даёт лучший опыт просмотра на iPhone.

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

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

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

Так, для сериала «Корона» (The Crown) платформа хранит около 1200 файлов! А для второго сезона «Очень странных дел» — ещё больше: для кодирования всего одного сезона потребовалось 190 000 часов работы процессоров. Результат: 9570 различных видео, аудио и текстовых файлов!

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

По материалам High Scalability и Netflix Technology Blog (1, 2)

Телеграм Коссы — здесь самый быстрый диджитал и самые честные обсуждения: @cossaru

📬 Письма Коссы — рассылка о маркетинге и бизнесе в интернете. Раз в неделю, без инфошума: cossa.pulse.is

✉️✨
Письма Коссы — лаконичная рассылка для тех, кто ценит своё время: cossa.pulse.is