Найти тему
Дзенофоб

МОДЕЛИРУЕМ ДЗЕН II. CTR

Мартин Сандерс
Мартин Сандерс

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

МОДЕЛЬ

CTR в нашей модели не будет рассматриваться как результирующий показатель. Это будет вероятность того, что статью прочтёт случайный пользователь. Соответственно, речь идёт не о классическом понимании CTR, а о численном выражении интересности статьи. Чтобы больше Вас не путать, я введу новый параметр И – интересность. Это вероятность с которой случайный пользователь, увидев определённую статью в ленте, её прочтёт (просмотрит).

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

Вариант 1. «Всем равный старт».

Рассмотрим классический вариант. В выдаче много статей с разными параметрами И. Их показывают одинаковому количеству пользователей. Допустим, каждая статья получает по N показов. В таком случае просмотры будут распределены пропорционально параметру И. Сколько просмотров получит статья можно вычислить по формуле:

Пр = И×N;

Где Пр- количество просмотров, которые получит статья.

По всей видимости, когда-то такая схема распределения показов и работала. Однако она стимулирует писать кликбейт и хайповать. Я сгенерировал случайным образом выдачу в 20 статей (чтобы вас развлечь) с . Параметр подбирался по закону нормального распределения. Показов каждой статье я налил по 1000.

-2

Как видно из диаграммы, разница в просмотрах между каналами – большая. Счастливчиков, которые преодолели порог среднего количества просмотров -мало (30%). Впрочем, ничего удивительного, так и должно было получиться.

Мы опытным путём установили (в предыдущей статье), что заработок пропорционален просмотрам, а значит, заработок этих каналов будет отличаться также.

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

Но как выйти из положения, чтобы лента не превращалась в филиал speed info?

Ввести отрицательную корелляцию между показами и параметром И.

Вариант 2. «Всем равный доход»

В предельном варианте это значит, что у всех статей должно быть равное количество просмотров. Количество показов соответственно находится из предыдущей формулы: N=Пр/И. Возьмём Пр=100 и сгенерируем 20 статей со старыми условиями. Я специально выбрал вариант с более-менее равномерным распределением параметра И.

-3

Как видно, чтобы у каждой статьи было по 100 просмотров, необходимо очень неравномерно раздавать им показы. Разница между максимальным и минимальным количеством показов в данном случае составляет 9575. Максимальная разница может составлять 9600. Но если мы снимем ограничение на 100 просмотров и коридор , она вообще может составлять несколько порядков. Так, что коммунизм не получается.

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

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

Теперь совершенно ясно, что эти два механизма нужно скомбинировать, чтобы на в определённом коридоре параметра И работал первый механизм, а при выходе из него – второй. Сейчас реализована именно такая схема (я думаю). Поэтому статьи с высоким CTR упираются в потолок дочиток. Другой вопрос, что здесь возникают сложности с регулированием коридора. Судя по всему, эта задача не решена, и регулировка происходит вручную, причём коридоров несколько, для разных каналов и разных тематик они свои. Причём коридор ограничен только сверху. Если CTR статьи вдруг непропорционально низок, то ей не дают больше показов. Этим Дзен избавляется от новых специализированных тематик и статей с высоким уровнем экспертности. Ну и от явного мусора, конечно.

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

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

ВЫВОД:

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

И самая перспективная разработка Рунета превращается…превращается… в локальный ресурс.

Финита.

Автор: Мартин Сандерс