Новый алгоритм расчета рейтинга «Кинопоиска» отдает предпочтение фильмам с платным просмотром. Мини-расследование

в 15:10, , рубрики: Кинопоиск, кот в мешке, криворукость, рейтинговая система, Статистика в IT, электронная коммерция, эффективные менеджеры, эффективные менеджеры в мешке, яндекс

Новый алгоритм расчета рейтинга «Кинопоиска» отдает предпочтение фильмам с платным просмотром. Мини-расследование - 1

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

Откат к прежней версии сайта не коснулся рейтингов фильмов. И хотя на странице Топ-250 мы можем наблюдать хорошо знакомый многим расклад с «Побегом из Шоушенка» и «Зеленой милей» в качестве лидеров, на страницах самих фильмов, в выдаче Гугла и других местах рейтинг отображается новый — тот, который лег в основу Топа-250 бета-версии (у меня он открывается с перебоями; что наблюдалось и сразу после перезапуска).

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

Общий взгляд

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

Что сразу стоит сказать — за все время я так и не увидел относительно нового алгоритма комментариев представителей сервиса. По редизайну какие-никакие содержательные комментарии проскакивали, а вот обстоятельства ввода нового алгоритма расчета рейтинга окутаны глухим туманом. Единственный комментарий, который у нас есть, — это критика основателя «Кинопоиска» Виталия Тация, который выразил опасение, «а не убьют ли они [новая команда „Кинопоиска“] единственный достойный рейтинг фильмов в рунете… и не отправят ли всех своих пользователей на imdb».

То, что заметили все, — резкое падение на 35 позиций двух упомянутых выше лидеров и взлет «Интерстеллара» с 12-й позиции на 2-ю, а также скандальные 8,2 балла вместо 4,8 у треш-фильма «Зеленый слоник» (а после флешмоба пользователей, которые увидели это и решили довести до абсурда, — уже 9,1). Эти изменения могут показаться кому-то странными, но сами по себе их оценивать сложно (за исключением, пожалуй, «Слоника», который я, впрочем, не смотрел). Да, старый рейтинг по этим пунктам был ближе к рейтингу IMDb (где «Побег из Шоушенка» также на первом месте, а «Интерстеллар» — на 29-м), но это все еще не аргумент.

При более пристальном взгляде обнаруживаются и другие странные и спорные вещи. Для начала — из топа бета-версии убраны все фильмы с количеством голосов менее 70 тыс. (граница установлена опытным путем). Это не такая уж и мелочь: в связи с таким решением из топ-100 вылетает 21 фильм, 152-е место переезжает на 100-е, а 489-е — на 224-е (полную версию нового топа без этих изъятий см. в виде этого списка на старом «Кинопоиске», отсортированного по рейтингу). 70 тыс. голосов — это более чем серьезная граница; ее еще не преодолели в т.ч. нашумевший «Левиафан» или стартовавший две недели назад в российском прокате и полтора месяца назад в мировом «Марсианин». При этом в старом топе граница была 500, и никаких особых нареканий к нему по этой части я не слышал.

Новый алгоритм расчета рейтинга «Кинопоиска» отдает предпочтение фильмам с платным просмотром. Мини-расследование - 2
Стрелкой соединены позиции в одном и том же топе с порогом в 70 тыс. голосов и без.

Такое решение могло быть принято из коммерческих соображений: менее популярные фильмы с меньшей вероятностью окажутся доступными к онлайн-просмотру у партнеров «Яндекса». И действительно: фильмы с количеством голосов менее 70 тыс. в первой сотне топа бета-версии, как правило, сняты далеко в прошлом столетии и либо доступны бесплатно у партнеров «Яндекса», либо недоступны; платного нет ни одного. (Чтобы убедиться в этом, вы можете использовать регулярное выражение ^[^t]+t((dd?|100)t|[^t]+t(dd?|100)t).+п$ на этой таблице, о которой рассказано ниже. Фильмы вне топа — это те, что с прочерком во втором и третьем столбцах.)

Перейдем к самим рейтингам. Так как топ бета-версии отображает рейтинги вплоть до десятой доли вместо тысячной, вместо него лучше работать с упомянутым списком на старом «Кинопоиске».

Фильмы с 1-й по 42-ю позицию охватывают диапазон с 9,465 по 9,000 балла, причем у трех фильмов рейтинг равен ровно 9,000, а следующий за ними имеет рейтинг 8,299. Далее следуют сразу 55 фильмов в диапазоне от 8,271 до 8,200.

Новый алгоритм расчета рейтинга «Кинопоиска» отдает предпочтение фильмам с платным просмотром. Мини-расследование - 3

Ничего себе провал в 0,7 балла! В свою очередь, «девять ровно» — это явно следы какого-то то ли внешнего вмешательства (фильмы уползли ниже девятки, и решили таким образом исправить положение?), то ли непонятного округления; остальное же отдает просто каким-то причудливым соотношением факторов в формуле, порождающим неравномерное распределение.

А теперь обратите внимание, что это за три фильма с 9,000: это как раз те самые упавшие «Побег из Шоушенка» и «Зеленая миля», а с ними за компанию и разменявший 5-е место на 38-е «1+1». Опережая все, что будет сказано дальше, сразу же можно обратить внимание на то, что «Побег из Шоушенка» и «1+1» являются фильмами, доступными к бесплатному просмотру у партнеров «Яндекса».

Дальше — больше. За те несколько дней, что я работал с топом, мне выпало стать свидетелем чудесных метаморфоз с рейтингом еще одного фильма — «Хористов». Он упал с 8,745 (та самая «слепая зона» для остальных фильмов) до 8,260 за пару дней. Это невероятное «путешествие» мне даже удалось запечатлеть на webcitation.org при помощи кэша Bing: вот у фильма рейтинг 8,745, вот он 8,515, а в настоящий момент у него — 8,260. Чувствую себя охотником за паранормальными явлениями. Ни у каких других фильмов рейтинг даже с близкой скоростью не менялся. Этот фильм не является доступным у партнеров «Яндекса» ни бесплатно, ни платно.

Новый алгоритм расчета рейтинга «Кинопоиска» отдает предпочтение фильмам с платным просмотром. Мини-расследование - 4
Еще одна странная деталь — новые рейтинги меняются в странной взаимосвязи с изменением старых. Топ за 15 октября и за вчера, фильмы «Леон» и «Интерстеллар».

Подготовка к подсчетам

Надо сказать, что вначале я отнесся к новому рейтингу как к техническим заморочкам новой команды «Кинопоиска», не рассматривая всерьез версию о его умышленном искажении. Это просто не стиль «Яндекса» — компании, которая в целом блюдет свою репутацию; подобные манипуляции для нее должны являться строжайшим табу. Но после первых тревожных звоночков начали закрадываться подозрения. И тогда я решил разобраться во всем предметно.

И коли у нас есть два топа — новый и старый — и даже оба рейтинга для каждого фильма, а также данные по доступности этих фильмов к платному/бесплатному просмотру у партнеров «Яндекса», решение напрашивается простое: сопоставить позиции всех фильмов в одном топе и в другом, а до кучи — и их рейтинги, вычислить среднее арифметическое у платных, бесплатных и всех остальных фильмов и сравнить. Конечно, такой способ не претендует на точность выводов, но общее впечатление дать способен.

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

Методологические сложности начинаются с того, что сравнивать два топа, в одном из которых (старом) присутствуют все фильмы, а в другом (новом) для них установлен порог вхождения в 70 тыс. голосов, не вполне корректно. То есть сравнивать с целью узнать, насколько в новом топе продвинулись фильмы с платным просмотром, можно, и результат, очевидно, будет — «хорошо продвинулись», в свете вышеупомянутых обстоятельств. Тем не менее здесь человеческому вмешательству еще можно найти какое-то глубокомысленное объяснение (ну, или не найти, а просто констатировать очевидное — «Да, таким образом они проталкивают партнерские фильмы наверх»). Меня же интересует больше техническая сторона, сам рейтинг — что изменится (или уже изменилось, если нынешнее положение дел предполагается закрепить) с его введением.

В результате я сделал так. Я взял топ старой версии и точно так же вырезал из него фильмы с количеством голосов менее 70 тыс. Затем рассчитал новые позиции (100-я стала 82-й, а 144-я — 100-й). И далее работал уже с двумя версиями старого топа (ниже они объединены в одну таблицу).

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

Результаты, надо сказать, уже не заставили себя ждать — в новый топ-100 из второй сотни даже адаптированного старого проникли 4 платных фильма и ни одного бесплатного, а покинули его 4 бесплатных и 1 платный. Но не будем опережать события.

По результатам получилась следующая табличка (полная версия; как я уже сказал, за прошедшее время рейтинги незначительно изменились; кроме «Хористов», про аномалию с которыми читайте выше):

1	1	36	Побег из Шоушенка 	9.202	9.000	б
2	2	37	Зеленая миля 	9.154	9.000
3	3	1	Форрест Гамп 	9.008	9.465
4	4	3	Список Шиндлера 	8.895	9.405
5	5	38	1+1 	8.880	9.000	б
6	6	4	Король Лев 	8.775	9.397
7	7	5	Начало 	8.773	9.358	п
8	8	14	Леон 	8.772	9.272
9	9	6	Бойцовский клуб 	8.710	9.336
10	10	12	Жизнь прекрасна 	8.700	9.294	б
11	11	8	Иван Васильевич меняет профессию 	8.694	9.324	б
12	12	2	Интерстеллар 	8.667	9.409
13	13	11	Достучаться до небес 	8.657	9.295	п
14	14	10	Крестный отец 	8.650	9.299
15	15	22	Престиж 	8.632	9.190	п
...
128	94	103	Любовь и голуби	8.197	8.156	б
130	95	101	Легенда №17	8.194	8.158	б
133	96	79	Город Бога	8.192	8.197	б
141	97	135	Белый плен	8.180	8.128	п
142	98	96	Воин	8.180	8.168	б
143	99	106	Заплати другому	8.179	8.149
144	100	91	Терминал	8.178	8.174
161	109	99	Король говорит!	8.163	8.161	п
164	110	85	Шерлок Холмс	8.161	8.182	п
170	113	73	Исчезнувшая	8.151	8.207
177	117	94	Бешеные псы	8.140	8.171
187	122	97	Вечное сияние чистого разума	8.129	8.167
210	130	100	Загадочная история Бенджамина Баттона	8.097	8.161	п
296	155	92	Безумный Макс: Дорога ярости	8.053	8.171	п
362	164	98	Реквием по мечте	8.025	8.165

Первый столбец — позиция в старом топе, второй — позиция в нем же, если исключить из него фильмы с количеством голосов менее 70 тыс., третий — позиция в новом топе на бета-версии сайта. Сначала идет старый рейтинг, затем новый. Последняя буква или ее отсутствие — доступность платного («п») и бесплатного («б») просмотра у партнеров «Яндекса».

(Так как рейтинги записывались чуть позже позиций, 39-я позиция в новом топе «Бриллиантовой руки» не соответствует ее рейтингу между 47-й и 48-й позициями. И судя по тому, что 39-е место как раз должно иметь рейтинг между 8,299 и 9,000, она пережила как раз ту аномалию, которую я описал выше в случае с «Хористами», которые на моих глазах упали с 43-й позиции на 49-ю. Еще сильнее чувствую себя персонажем сериала «X-Files». Говорят, есть еще фильм «Паранормальное явление» про это — надо посмотреть. Ух ты, можно онлайн за 99 ₽ на новом «Кинопоиске». 7,0 баллов! Подождите, как это выросло на полбалла?)

Простая арифметика

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

Позиции

1

Для начала посмотрим, как изменились позиции между двумя топами как есть, т.е. без согласования критериев (вырезания фильмов с количеством голосов менее 70 тыс. и последующей корректировки позиций).

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

  • Средняя позиция всех 102 фильмов сместилась на 16,12 вверх (из-за того, что низким позициям в неадаптированном старом топе соответствуют высокие в новом, но не наоборот).
  • Каждый из 29 фильмов с платным просмотром сместился в среднем на 24,89 позиции вверх.
  • Каждый из 21 фильма с бесплатным просмотром сместился в среднем на 5,77 позиции вверх.
  • Каждый из 52 недоступных к просмотру фильма сместился в среднем на 15,43 позиции вверх.

И самое главное:

  • Разница между ростом платных фильмов и средним ростом составила 8,77 позиции.
  • Разница между ростом бесплатных фильмов и средним ростом составила −10,35 позиции.

2

Теперь посмотрим, каково в этом участие самого рейтинга, а не рейтинга + критериев для включения в топ. Сравниваем позиции между новым топом и адаптированным для согласования критериев старым.

Расчеты — здесь.

  • Средняя позиция всех 108 фильмов сместились на 0,96 вверх.
  • Каждый из 30 фильмов с платным просмотром сместился в среднем на 5,97 позиции вверх.
  • Каждый из 24 фильмов с бесплатным просмотром сместился в среднем на 5,91 позиции вниз.
  • Каждый из 54 недоступных к просмотру фильма сместился в среднем на 1,24 позиции вверх.

Итого:

  • Разница между ростом платных фильмов и средним ростом составила 5,01 позиции.
  • Разница между ростом бесплатных фильмов и средним ростом составила −6,87 позиции.

Рейтинги

3

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

Расчеты.

  • Средний рейтинг всех 120 фильмов вырос на 0,142 балла.
  • Рейтинг каждого из 29 фильмов с платным просмотром вырос в среднем на 0,232 балла.
  • Рейтинг каждого из 28 фильмов с бесплатным просмотром вырос в среднем на 0,023 балла.
  • Рейтинг каждого из 63 недоступных к просмотру фильмов вырос в среднем на 0,154 балла.

Итого:

  • Разница между ростом платных фильмов и средним ростом составила 0,090* балла.
  • Разница между ростом бесплатных фильмов и средним ростом составила −0,119* балла.


* — Драматическое изменение в рейтинге «Хористов», описанное выше, повысит эти значения на несколько тысячных.

Девять сотых — это не так мало, как может показаться. Если средний рейтинг на старом «Кинопоиске» 7,2, а максимальный — 9,2, и если считать все фильмы от 7 и выше располагающими к просмотру, это ни много ни мало 4% от диапазона «смотрибельной зоны».

4

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

Расчеты.

  • Средний рейтинг всех 108 фильмов вырос на 0,142 балла (как и в прошлом пункте).
  • Рейтинг каждого из 30 фильмов с платным просмотром вырос в среднем на 0,223 балла.
  • Рейтинг каждого из 24 фильмов с бесплатным просмотром вырос в среднем на 0,054 балла.
  • Рейтинг каждого из 54 недоступных к просмотру фильмов вырос в среднем на 0,136 балла.

Итого:

  • Разница между ростом платных фильмов и средним ростом составила 0,081 балла.
  • Разница между ростом бесплатных фильмов и средним ростом составила −0,088 балла.


(«Хористов» в этой выборке нет.)

Все вычисления были перепроверены.

Выводы

Разумное сомнение

В принципе один платный фильм, уехавший на 150 позиций вверх, дал бы тот результат, который приведен во втором сравнении, и это можно было бы считать случайностью. Но таких огромных разниц в позициях между двумя топами нет. Максимальная разница у платных фильмов — 63 позиции, отвоеванные «Безумным Максом: Дорогой ярости», и взлет «Безумного Макса» компенсируется, например, падением «Белого плена» на 38 позиций.

Также, наверное, можно было бы посчитать, насколько такое отклонение вероятно, если бы формула расчета выдавала фильмам случайные позиции в определенных пределах. В силу отсутствия у меня больших познаний в статистике, оставляю это тем, у кого они есть. Но у меня большие сомнения, что такая вероятность сколько-нибудь велика. (Грубым путем убедиться в равномерности отклонения можно, посчитав показатели отдельно для топ-50 и фильмов с 51 по 100 позиции по тем же принципам; что я и проделал — выводы сохраняются (рост 4,44 и 8,19 для платных на второй выборке; второе значение больше, очевидно, оттого, что скачки по топу сильнее).)

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

Что еще? Так как корреляция не означает причинно-следственную связь, в голову приходит гипотеза обратной взаимосвязи.

Пример того, как она работает

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

Не могло ли быть так, что партнерам «Яндекса» был предоставлен новый топ, и они подогнали под него свой ассортимент?

Циничная версия

Новый алгоритм расчета рейтинга «Кинопоиска» отдает предпочтение фильмам с платным просмотром. Мини-расследование - 5
Посетители «Кинопоиска», любители кино, знают, что это за ребята.

Есть и более тривиальное объяснение. Оно звучит так:

Эффективные менеджеры «Яндекса» очень эффективные и очень сильны в метриках, анализе и расчетах, и были настолько искушены в оптимизации всего вокруг, что не только обгрызли функциональность сайта, исключив все, что не приносит прямого дохода, но и даже возможности подтолкнуть на десятую балла вверх рейтинг платных фильмов не упустили. При этом здраво рассудив, что если уж и корректировать рейтинг, то незаметно, чтобы не спровоцировать недовольство, будь это сделано топорно. В самом деле — неужели кто-то будет сидеть с калькулятором и высчитывать разницу в позициях и рейтинге для каждого фильма?? OH SH…

А так 9 позиций в топ-100 или одна десятая балла рейтинга — казалось бы, ерунда — конвертируются во вполне ощутимые тысячи и миллионы деревянных.

Итог

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

Да и я с трудом себе представляю, зачем в принципе может понадобиться «корректировка» рейтинга. Хочется спросить: «Что вы собрались корректировать? Объективное мнение десятков и сотен тысяч?» (А еще — и это уже повторяет «большую» историю с перезапуском «Кинопоиска» — «Почему об этом обязательно не надо давать никаких комментариев?» Но бог с этим уже...) Что было не так со старым-то?

Очистка от накруток? Но в старом топе она уже применялась, да и справиться с накрутками можно более прямым путем — удалением фиктивных оценок вместе с пользователями, их поставившими. Да и сомневаюсь я, что кому-то могло понадобиться накручивать «Побег из Шоушенка».

Тем не менее все это в любом случае будут только подозрения. Поэтому интересно было бы выслушать позицию самого «Яндекса». Не исключаю, что есть какое-то более тривиальное объяснение, которое ускользнуло от моего внимания.

Как бы там ни было — вся эта затея с новым рейтингом не вызывает ничего, кроме недоумения, как у меня, так и у всех остальных, с чьим мнением мне приходилось сталкиваться, — будь то по объективным основаниям или же исходя из чисто субъективных ощущений. Поэтому, а также по результатам всего вышеизложенного призываю «Яндекс» отказаться от нового алгоритма, чтобы не подрывать доверие к уникальному в Рунете рейтингу фильмов, сериалов и т.д. — достойной альтернативе рейтингу IMDb, а также к самим «Кинопоиску» и «Яндексу».

Чтобы не завершать на плохой ноте, скажу, что в процессе работы с топом нового сайта я таки смог оценить, на мой взгляд, незаслуженно осмеянный в посте «Что не так с запуском „Кинопоиска“» функционал кратких тегов, который куда лучше обозначения жанра дает понять, о чем тот или иной фильм, а также заглавные картинки фильмов вместо рекламных постеров.

Довесок

Сохраненные мной в веб-архиве:

  • Классический Топ-250
  • Топ-250 бета-версии нигде не сохраняется из-за мутных редиректов, да и в любом случае там подгрузка по 12 фильмов. Еще раз ссылка на сохраненный мной локально.
  • Топ-500, отсортированный по новому рейтингу: 1, 2
  • Топ-500, отсортированный по классическому рейтингу, за пределами 250 (ради двух фильмов): 3, 4

(Я, по-моему, брал данные из чуть более ранних версий.)

Регулярки для выбора из таблицы по ссылке выше всех фильмов:

  • первой выборки: ^((dd?|100)td|[^t]+t[^t]+t(dd?|100)t).+$
  • второй (она же четвертая) выборки: ^[^t]+t((dd?|100)t|[^t]+t(dd?|100)t).+$
  • третьей выборки: ^((dd?|100)t|[^t]+t[^t]+t(dd?|100)t).+$

Автор: Kanick

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js