пятница, 28 ноября 2014 г.

Паранормальное на РОИ или кажется что-то пошло не так

Вы все знаете, что первый и важный шаг нашей большой кампании #двадцать — внесение законопроекта, через голосование на РОИ. У нас уже есть опыт сбора 100 тысяч голосов, и, чтобы исключить любые статистические аномалии и «скрутки», мы внимательно отслеживаем ход голосования с самого начала. Ничто не предвещало проблем, но как только мы подобрались к отметке в 85 тысяч, началось странное.


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



картинка по запросу «паронормальное явление, РОИ»



Глава 1. Странности счетчика и уменьшение голосов


С самого начала кампании мы ведем независимый аудит набора голосов. Огромное спасибо волонтеру Андрею, который сделал нам удобные графики:



  • http://www.roi100k.ru/9376/ — на этом графике видна общая динамика

  • http://www.roi100k.ru/9376.php — а этот «секретный» (публикуется впервые!) график мы попросили сделать более подробным и используем его для внутреннего анализа, здесь каждый час видно точное обновление по цифрам


Одновременно внутренней службой мониторинга ФБК мы собирали логи со страницы инициативы раз в 5 минут и записывали данные из нижнего прогресс-бара:



Прогресс-бар голосования за инициативу 9376. Ниже мы покажем, что данные этого счетчика обновляются значительно чаще, чем раз в 5 минут.


24 ноября примерно в 16.00 нам пришло письмо от сторонника, который обращал внимание на то, что число голосов на баннере в блоге, который берет данные с РОИ, вдруг уменьшилось на 2. В логах мы нашли подтверждение того, что периодически количество голосов уменьшается. Первый раз это произошло 24.11.2014 в 13:35:04.



График прироста с дискретизацией 5 минут , на котором показан момент появления аномалии.


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


Составили список возможных причин:



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

  • странные алгоритмы кэширования и обработки голосов на сайте РОИ (маловероятно, т.к. на других инициативах такого эффекта нет)

  • ошибка на сайте РОИ (нет способа подтвердить или опровергнуть)

  • «скрутка» голосов (маловероятно, т.к. это какой-то уж очень явный и грубый способ)


Глава 2. Голосование нормального человека vs голосование курильщика


Добавили несколько популярных инициатив в мониторинг.

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



График голосования нормального человека.


А вот инициатива за проведение интернет-голосования за кандидатуру главного тренера сборной России по футболу, о которой в день публикации внезапно написал в своем блоге сам руководитель РОИ Илья Массух — massuh.livejournal.com/8571.html. Эта инициатива очень хорошо набирала, что изначально мы себе объясняли организованностью футбольных болельщиков.



Илья Массух - главный по РОИ


Анализируем голосование:

У них подобных «отзывов голосов» не нашли, зато нашли «потрясающее единодушие голосующих». Ровно раз в 6 минут прибавляется 6-8 голосов.




Динамика голосований за нашу инициативу (черный) и футбольную (синий)


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


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


Результат опыта: тестовые голоса и их отзыв сразу же видны в счетчике и попадают в наш лог. И голос, и отзыв попадают в интервал предполагаемого кэширования, значит кэширования в данном случае нет.


Для верности проверяем два раза с разных IP-адресов.



Голоса и отзывы голосов сразу же попадают в лог и видны на графике


Пока мониторили, нашли еще одно голосование курильщика — roi.ru/15227/.



График голосования еще одного курильщика.


Кто же продвигает эту инициативу? О, профсоюз железнодорожников — вот и вот.



старик Якунин доволен


Глава 3. Почасовой счетчик или гипотеза про «доброго сторонника»


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



Стали мониторить почасовые и общие счетчики нескольких инициатив:



Помните нашу гипотезу про «доброго сторонника», который сидит и то прибавляет то отзывает голоса, чтобы инициатива держалась в топе? Это бы имело смысл в том случае, если бы почасовой счетчик голосов справа не учитывал отзывы голосов. Тогда, отозвав голос и снова проголосовав, мы бы увидели прибавку в 2 голоса, а не в один. Мы решили это проверить и провели эксперимент.



На видео видно, что голоса учитываются сразу же, и отзыв тоже.


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



График инициативы за 20-ю статью, динамика счетчиков сильно различается.



График «железнодорожной» инициативы, динамика счетчиков почти одинаковая.



График «футбольной» инициативы, динамика счетчиков почти одинаковая.


Глава 4. Искусственная манипуляция


Для проверки мы попросили Андрея сделать свой независимый график с поминутными логами по нашей инициативе — http://www.roi100k.ru/track.php. На нем тоже видны уменьшения голосов.


Мы решили еще более детализировать собственные данные, стали сохранять значения счетчиков каждые 15 секунд и подключили к мониторингу еще десяток инициатив: 9376, 14141, 15227, 13688, 15731, 15689, 10563, 11532, 13341, 15990, 16001, 12821, 15231.



И вот результат:


На графике видно обычное голосование по 1-2 голоса в случайные моменты времени и подозрительные «пачки» из 6-8 голосов, приходящие каждые 6 минут по определенным минутам часа: 3, 9, 15, 21, 27, 33, 39, 45, 51, 57.



«Железнодорожная» инициатива



«Футбольная» инициатива


А вот наш график, тоже с искусственной манипуляцией раз в 6 минут, но в другую сторону:



График, который говорит сам за себя


На этом скриншоте нужно обратить внимание вот на что:



  • голоса «за» распределяются во времени случайным образом

  • голоса «за» редко совпадают во времени (на графике мы видим столбики по 1-2 голоса)

  • скрутки голосов часто идут пачками по 2-6 голосов по тем же минутам часа, что и накрутки (3, 9, 15...)

  • почти все скрутки идут через равные интервалы в 6 минут


ЧТО ДЕЛАТЬ


Понимаю, что сейчас многие хлопают ладонью о стол и гневно кричат: МЫ ЖЕ ГОВОРИЛИ, ЧТО РОИ — ЭТО МОШЕННИЧЕСТВО И НЕ НАДО С НИМИ ИГРАТЬ В ИГРЫ .


Помню, говорили.


Я, обратите внимание, тоже говорил, что у нас наверняка будут воровать голоса. И о том, что всем приходится собирать по 100 тысяч, а нам для такого же результата 200 тысяч.


Так и с выборами похожая ситуация, чтобы записать в протоколе 20% надо набрать 30%. И во всём так у нас в стране.


Власть сопротивляется нашим инициативам и идеям как может. Фальсифицировать — их главный метод, простой и отработанный.


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


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


Мы, конечно, сделаем сегодня все формальные шаги: отправляем официальное письмо руководству РОИ с просьбой прокомментировать эти данные. Директор ФБК попробует встретиться с руководителем РОИ Ильей Массухом и добиться от него ответов. И всякое такое.


От вас требуется одно — голосуйте. Не тяните, голосуйте прямо сейчас. Приводите новых людей на голосование.


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



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


PS


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


https://navalny.com/p/3976/

Комментариев нет:

Отправить комментарий