Как устроен динамический пейволл The New York Times

Как устроен динамический пейволл The New York Times

Пейволл (платный доступ к ценному контенту) работает в The New York Times с 2011 года.

За 10 лет после внедрения пейволл стал притчей во языцех — настолько эффективным он себя показал. В статье рассказывается, как он устроен.

NYT ставила себе целью получить 10 млн. платных подписчиков к 2022 году — и получила.

Следующая цель — 15 млн. платных подписчиков к 2027 году.

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

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

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

Для каждого пользователя разрабатывается персональный трек на основе его профиля и платёжного потенциала. Для составления персонализированных пределов бесплатного чтения издание использует модель машинного обучения под названием Dynamic Meter.

Как устроена стратегия платного доступа

Стратегия платного доступа компании основана на концепции воронки подписки (рисунок 1).

Рис. 1. Воронка подписки
Рис. 1. Воронка подписки

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

Это дает доступ к большему количеству бесплатного контента, а поскольку пользовательская активность теперь привязана к регистрационному идентификатору, это позволяет нам лучше понять текущий интерес каждого читателя к контенту NYT.

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

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

Для чего оптимизируется динамический счетчик

Динамический счетчик помогает изданию достичь бизнес-целей.

Счётчик оптимизирует одновременно два показателя: количество взаимодействий зарегистрированных пользователей с контентом NYT и количество подписок, которые платный доступ генерирует за заданный период времени. Эти два показателя нуждаются в балансировке, поскольку широкое распространение контента через сети дистрибуции приводит к увеличению числа подписок, но за счет снижения вовлечённости читателей. Эта зависимость хорошо видна в данных, собранных в ходе рандомизированного контрольного исследования (R.C.T.), как показано на рисунке 2.

Рисунок 2: Компромисс между конверсией и вовлеченностью (Engagement), наблюдаемый в ходе рандомизированного контрольного исследования (R.C.T.)
Рисунок 2: Компромисс между конверсией и вовлеченностью (Engagement), наблюдаемый в ходе рандомизированного контрольного исследования (R.C.T.)

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

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

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

В основе динамического счетчика предикативная модель машинного обучения

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

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

Эту проблему называют “фундаментальной проблемой причинно-следственного вывода” или, проще говоря, “проблемой отсутствия данных”. Лучшее, что в данном случае можно сделать, это оценить, что произошло бы, используя данные пользователей, которым был установлен предел измерения b. Так, данные, собираемые из R.C.T. используются для обучения модели.

Как работает модель?

Учитывая, что мы стремимся к достижению двух целей, а именно, склонности к подписке и вовлеченности, NYT обучает две модели машинного обучения, которые они называют «базовыми моделями» (уравнение 1).

Как устроен динамический пейволл The New York Times

Структура этих базовых моделей похожа на популярную модель мета-обучения, называемую “S-learner”.Такая модель предсказывает целевую переменную с помощью функций X и переменной обработки T. Здесь переменная обработки T является категориальной переменной, которая определяет ограничение на счетчик, предоставляемое каждому зарегистрированному пользователю. Функции определяются исключительно на основе данных от первого лица по их взаимодействию с контентом Times.

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

Используя данные R.C.T. для пользователей с функциями X и соответствующим подходом Т, мы можем подобрать две модели машинного обучения, f и g, которые предсказывают склонность к подписке (p) и нормализованную вовлеченность (e) соответственно. Чтобы максимизировать обе эти цели одновременно, мы преобразуем их в одну цель s, используя выпуклую линейную комбинацию, которая вводит весовой коэффициент δ, который принимает значение от 0 до 1 (уравнение 2).

Коэффициент δ служит в качестве параметра «трения» и позволяет явно установить важность, которую издание хочет придать подпискам по сравнению с вовлеченностью.

Как только задано определенное значение δ, модель определяет подход к пользователю, который максимизирует объединенную целевую функцию s (уравнение 3).

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

Чтобы наглядно проиллюстрировать это, давайте представим, что мы установили δ = 1, чтобы оптимизировать подписки. Используя установленную модель f, для каждого зарегистрированного пользователя мы можем предсказать склонность к подписке в разных сценариях, когда им будут назначены разные лимиты счетчиков.

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

Рисунок 3: Наглядное представление политики предписания, которая максимизирует только склонность к подписке (при δ = 1). Вертикальные полосы указывают на склонность к подписке, прогнозируемую для разных пользователей в контрфактических сценариях, где им предписаны разные лимиты счетчиков.
Рисунок 3: Наглядное представление политики предписания, которая максимизирует только склонность к подписке (при δ = 1). Вертикальные полосы указывают на склонность к подписке, прогнозируемую для разных пользователей в контрфактических сценариях, где им предписаны разные лимиты счетчиков.

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

Как проводится обратное тестирование модели на прошлых данных

Перед запуском модели NYT тестирует её на исторических данных, чтобы оценить её производительность после развертывания. Это называется обратным тестированием и оно включает в себя ответ на вопрос о том, как бы работала модель, если бы она была развернута в какой-то момент в прошлом.

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

Поскольку мы не можем повторить предположение (prescription) в прошлом, мы должны использовать данные прошлого R.C.T. и учитывать только тех пользователей, для которых типовое предположение соответствовало предположению R.C.T. (рис. 4A).

Рисунок 4: Тестирование модели. (A) Пример пользователей с их ограничениями по счетчикам, предписанными моделью и R.C.T. в прошлом. Черными точками обозначены те пользователи, для которых модельное предписание совпадает с предписанием R.C.T. Данные от этих пользователей могут быть использованы для получения оценки общих показателей, таких как коэффициент конверсии. (Б) Визуализация оптимизированных для модели решений, которые формируют фронт Парето. Точки модели (оранжевые) соответствуют различным значениям параметра трения δ ∈ [0, 1]. Фронт Парето выпуклый и состоит из точек, которые лучше, чем R.C.T. в одной из целей при исправлении другой.
Рисунок 4: Тестирование модели. (A) Пример пользователей с их ограничениями по счетчикам, предписанными моделью и R.C.T. в прошлом. Черными точками обозначены те пользователи, для которых модельное предписание совпадает с предписанием R.C.T. Данные от этих пользователей могут быть использованы для получения оценки общих показателей, таких как коэффициент конверсии. (Б) Визуализация оптимизированных для модели решений, которые формируют фронт Парето. Точки модели (оранжевые) соответствуют различным значениям параметра трения δ ∈ [0, 1]. Фронт Парето выпуклый и состоит из точек, которые лучше, чем R.C.T. в одной из целей при исправлении другой.

Увидев, подписались эти пользователи или нет, мы можем оценить общий коэффициент конверсии (C.V.R.), используя обратное взвешивание вероятности и оценку Хаджека (уравнение 4).

Как устроен динамический пейволл The New York Times

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

Процедура оценки может быть повторена путем изменения параметра трения δ, что приводит к набору точек, образующих фронт Парето (оранжевые точки на рис. 4B).

Когда δ изменяется с 0 на 1, мы продвигаемся вперед, увеличивая коэффициент конверсии и уменьшая среднее количество просмотров страниц.

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

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

Текст перевёл и адаптировал

Березовой Алексей
главред Делобанка, медиаэксперт

по материалам проекта NYT Open. Заглавная иллюстрация by Oscar Bolton Green

В развитии темы:

- - -

Если вам интересно, что происходит в медиа, подпишитесь на мой телеграм-канал «Кнут и пряник бренд-медиа»

77
8 комментариев

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

Так же интересно, предпринимают ли они что-нибудь, чтобы решить проблему захода посетителей через окно инкогнито браузера.

1

По поводувторого вопроса — есть способы получить ip браузера даже в режиме инкогнито. Но если NYT ими не пользуется, система просто строит трек для нового пользователя.

По поводу первого вопроса — когда пользователь подписывается, он не думает о сложностях отписки. ИИ строит такой трек, который убеждает пользователя в ценности контента. А уж когда дело доходит до отписки — извините. Серые паттерны во всей красе, да

Если дата-инженеры читают, подскажите, пожалуйста, насколько сложно устроена эта модель?

Я бы сказал достаточно примитивно, но я не дата инженер.

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

1

Просто контент интересный, достаточно большая аудитория (для машин ленинга)