Поищем ещё раз «своё» кино на Кинопоиске / Geektimes


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

Мне было почти очевидно, что при регистрации Кинопоиск даёт пользователям ID по порядку. Свежие пользователи имеют номер немного меньше 15 000 000. Столько страничек пользователей сайт мне скачать не разрешит. Ну тогда можно попробовать подёргать странички в случайном порядке и посмотреть на случайных пользователей.
Довольно интересный параметр, это дата регистрации.

Немного китайского кода скажут нам число дней с 1 января 0000 года до регистрации

function [ DateNumber ] = find_datenumber( date_reg )
        
    m(1).m = strfind(date_reg,'января');
    m(2).m = strfind(date_reg,'февраля'); 
    m(3).m = strfind(date_reg,'марта'); 
    m(4).m = strfind(date_reg,'апреля'); 
    m(5).m = strfind(date_reg,'мая'); 
    m(6).m = strfind(date_reg,'июня'); 
    m(7).m = strfind(date_reg,'июля'); 
    m(8).m = strfind(date_reg,'августа');
    m(9).m = strfind(date_reg,'сентября'); 
    m(10).m = strfind(date_reg,'октября'); 
    m(11).m = strfind(date_reg,'ноября'); 
    m(12).m = strfind(date_reg,'декабря');
    
    for jj = 1:12
        if ~isempty(m(jj).m) 
            month = jj;
        end
		m(jj).m=[];
    end
    
    year = str2num(date_reg(end-3:end));
    day = str2num(date_reg(1:2));
    DateNumber = datenum(year,month,day);
end

И вот мы можем видеть, с какой скоростью росло число пользователей КП:

Тут уже различимы несколько изломов скорости роста числа пользователей и кавардак с двумя сайтами и общим их объединением в рамках проекта Кинопоиск 2.0.
И конечно же какая-то непонятка осенью 2017, на которую можно посмотреть поближе:

Так получилось, что за 3 недели начиная с 24 августа зарегистрировалось примерно на 160000 пользователей больше, сверх ожидаемого…
Получается сотрудники Кинопоиска признали взлом 50000 аккаунтов и скромно промолчали про 160000 ботов.
Давайте соберём чуть больше случайных страничек из этого диапазона дат. У меня получилось быстренько скачать 1534 странички. Исследуя страничку пользователя на предмет строк

'premier_rus/vt/all/#list'

узнаём, кто сколько фильмов ждёт.
Мне интересно посмотреть на тех кто ждёт ровно один фильм, а таких оказалось 120 (7,82%).
Попробуем скачать их странички ожиданий и выясним, какие новинки они ожидают увидеть.
Получилось, что аж 112 из них (93,33%) ждут
фильм номер 1007496 у которого на момент написания статьи положительных 99% ожиданий из 11926 голосов.
Но давайте вернёмся к числу 160000, посмотрим, сколько будет 160000*0,9333*0,0782 = 11681.
Как думаете, нужно ли считать доверительный интервал к этой оценке или и так похоже на правду?
p.s. если кому-то интересен дамп, могу скинуть в личку)

Источник