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

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

По ходу статьи я предполагаю что читатель знаком вот с этой статьей https://habr.com/ru/post/579350/ и немного представляет как устроены данные.

По сути, нам нужно проверить что в любом данном периоде времени порядковые номера людей из списка избирателей распределены равномерно. Благо дело, есть операции с method_id = 1 "Регистрация избирателей". В операции были созданы до начала голосования и представляют собой списки избирателей. Предположим что порядок избирателей в них такой же как в списках. Потом остается только объединить эти данные с method_id=4 "Выдача бюллетеня" у которого есть id избирателя и время.

Этим я и занялся с использованием питона и своей любимой pandas.

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

Число проголосовавших в первый час с данным порядковым номером. По оси Х порядковый номер, по оси Y число проголосовавших.
Число проголосовавших в первый час с данным порядковым номером. По оси Х порядковый номер, по оси Y число проголосовавших.
Число проголосовавших 17 сентября с 18 до 19 с данным порядковым номером. По оси X порядковый номер, по оси Y число проголосовавших
Число проголосовавших 17 сентября с 18 до 19 с данным порядковым номером. По оси X порядковый номер, по оси Y число проголосовавших
Число проголосовавших 19 сентября с 8 до 9 с данным порядковым номером. По оси X порядковый номер, по оси Y число проголосовавших
Число проголосовавших 19 сентября с 8 до 9 с данным порядковым номером. По оси X порядковый номер, по оси Y число проголосовавших

Значит, действительно, кто то вначале затаился а потом стал голосовать. Давайте попробуем количественно оценить размер аномалии. Дыра пропала к вечеру первого дня. Я построил гистограммы за первые 14 часов выборов, те на 22 вечера. На этот момент средний столбик гистограммы имел высоту в 13732 избирателей. А вот столбики с нашей аномалией были заметно ниже.

Первый столбец номера "ведер", второй столбец - число избирателей в ведре.
Первый столбец номера "ведер", второй столбец - число избирателей в ведре.

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

Так, я уже знаю номера проблемных избирателей. Давайте возьмем вот это 92ое "ведро" (избиратели с 1853490 по 1873630) и сравним его поведение с нормальными.

Число проголосовавших в данный час в расчете на одного избирателя для среднего "ведра"(оранжевый) и аномального "ведра"(синий)
Число проголосовавших в данный час в расчете на одного избирателя для среднего "ведра"(оранжевый) и аномального "ведра"(синий)

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

Разница между Нифаньтевым(адм. кандидат) и Петровым(УГ). Данные агрегированы до 5 минут, затем сглажены скользящим средним в 6 периодов.
Разница между Нифаньтевым(адм. кандидат) и Петровым(УГ). Данные агрегированы до 5 минут, затем сглажены скользящим средним в 6 периодов.

Тогда я предположил, что это военная часть или что то в этом духе. Люди зарегистрированные в какой то военной части (по этому они рядом в списках) в силу особенностей своей работы голосовали в определенное время, не так как в генеральной совокупности. Что бы это проверить, я построил распределение людей по избирательным округам. Тут важно понимать особенность данных. Данные об округе у меня есть только для проголосовавших. По этому я делаю чуть странную вещь. Я делю число проголосовавших в данном округе на число зарегистрированных избирателей. То есть графики ниже, в том числе, отражают явку.

По оси Х номера избирательных округов. Оранжевый - распределение всех избирателей. Зеленый - распределение избирателей с номерами с 1050000 по 1150000. Синий - распределение особых избирателей.
По оси Х номера избирательных округов. Оранжевый - распределение всех избирателей. Зеленый - распределение избирателей с номерами с 1050000 по 1150000. Синий - распределение особых избирателей.

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

Если мы уже заговорили про явку, то давайте посмотрим на нее в разрезе номера в списке избирателей

По оси Х номер в списке, по оси Yявка.
По оси Х номер в списке, по оси Yявка.

Тут тоже странные данные. Везде явка колеблется около нуля кроме двух областей. Это наши особые избиратели и самая последняя область. Я перепроверил как вели себя избиратели из той последней области

Число проголосовавших в данный час в расчете на одного избирателя для среднего "ведра"(оранжевый) и последнего ведра(синий)
Число проголосовавших в данный час в расчете на одного избирателя для среднего "ведра"(оранжевый) и последнего ведра(синий)

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

Заключение

Итого получилось найти две аномалии. Одна аномалия проявляется на динамике голосования и итоговой явке, вторая точно проявляется на итоговой явке, и, вероятно, на динамике голосования.

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

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

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

PS

Если уж я упомянул Анастатсию Брюханову, то хочется сказать, что гипотеза о том, что избиратели, которые голосовали в пятницу и воскресение ведут себя одинаково на мой взгляд не имеет под собой основания. Люди, которые с нетерпением ждали возможности проголосовать, такие как я, явно отличаются от тех, кто вспомнил про онлайн голосование только в воскресение вечером.

UPD

  • Приложил обзорные картинки со всеми 60 гистрограммами

  • Обновил диаграмму явки, убрал проблему с переголосованиями

Комментарии (49)


  1. AnalogBytes
    29.09.2021 21:11
    +6

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

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

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

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

    При этом голосуют люди сами, поэтому краткосрочная динамика явки и динамика голосов ничего особенного не демонстрируют.


    1. FanatPHP
      02.10.2021 16:02
      +1

      "Вот на этом невысказанном предположении и держится весь хрупкий механизм нашего молодого народовластия"


  1. musonius
    29.09.2021 21:18
    +18

    какие то формулы, подсчеты, планирование вбросов...

    человек, все намного проще. ознакомься, если не видел. с тех пор ничего не изменилось

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

    а с вводом электронного голо "сования" все стало еще проще - база с нужными результатами уже давно готова. ведь узнать кто за кого проголосовал и подтвердить это данными из базы невозможно - секрет-с.


    1. rumatavz Автор
      29.09.2021 21:24
      +2

      Тут не все так просто. Хотя я против электронных выборов, нужно признать что нарисовать РЕЗУЛЬТАТЫ нельзя. Нужно рисовать голоса. А у этого бывают следы.


      1. musonius
        29.09.2021 21:32
        +17

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

        на выборах как раз именно РЕЗУЛЬТАТЫ и рисуют. никому не интересно сколько там реально голосов, их считают для галочки. схема уже отработана в беларуси.


        1. rumatavz Автор
          29.09.2021 21:39
          -1

          Так транзакции доступны в реалтайме на https://observer.mos.ru/all/


          1. musonius
            29.09.2021 22:26
            +3

            и что, можно вот это

            Хэш: fe06adf5cb24fb4fc2d8bae7bcb1304b33da3fde7cd98b0fae67663ded631438

            Отправитель: 9973552fc261bfd069e9a464fbed14d21c66510186b447cafa247a15e3d4cb05

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


            1. rumatavz Автор
              29.09.2021 22:31

              Если вы из Москвы и если вы записали определенные данные в момент голосования то вы можете проверить что вас голос учтен верно.


              1. david_mz
                29.09.2021 23:08
                +12

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


                1. rumatavz Автор
                  30.09.2021 09:41

                  Я удалил свой комментарий, тк ссылался на то, что не считал сам. Пересчитаю и верну.


              1. ClearAirTurbulence
                30.09.2021 01:07
                +4

                Голос в системе учтен верно, а протокол в экселевском файле нарисовали.

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


                1. Baigildin
                  30.09.2021 17:22
                  +1

                  А такое реально где-то было?


                  1. ClearAirTurbulence
                    01.10.2021 16:09

                    Ну вот один из примеров.

                    Где-то к 8 утра приносят результаты. Кто это сделал, мы не видели. Секретарь начал их печатать. Члены комиссии их подписывают. Ближе к 11 утра были распечатаны все копии. И члены комиссии начали разъезжаться по округам, чтобы там внесли данные в систему ГАС-«Выборы». Я поехал домой, и вдруг в 01:15 мне секретарь пишет: «На два часа назначено новое заседание УИК ДЭГ, будете ли вы присутствовать?» Я развернулся и поехал.

                    Приезжаю — оказывается, что в 201-м округе они в сумме выданных бюллетеней не учли бюллетени какого-то кандидата, и там было 112 тысяч, а должно быть 113 тысяч. 

                    И они собирают комиссию, чтобы это перезаверить.

                    — Стоп. Это как может быть, что они кого-то не внесли? Есть электронное голосование. И один компьютер может другому компьютеру все сам переслать. То есть что, списывают данные электронного голосования с экрана и вписывают от руки в бюллетень?

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


                1. ksr123
                  04.10.2021 17:07

                  Что за чушь? Табло просто показывает, реальный результат судья заносит в протокол. И эти цифры являются официальными. А не цифры на табло.


              1. PoltoS
                30.09.2021 01:09
                +5

                И тем более нельзя проверить, что ещё 100 000 голосов - это реальные люди. Вот эти аномальные - можно ли доказать, что это реальные люди? Нет! Поэтому свой голос мы могли бы проверить, но вбросы невозможно тут отследить.


                1. mSnus
                  30.09.2021 03:03
                  +2

                  Конечно, реальные! Просто не пришедшие на выборы вдруг решили проголосовать электронно. А потом переголосовать)


              1. Kitsok
                30.09.2021 08:20
                +2

                Вот бы мне ещё кто-нибудь рассказал перед голосованием, что и где надо записать.


          1. Sabubu
            30.09.2021 02:52
            +6

            В этих транзакциях нет информации о переголосованиях. То есть невозможно ни подсчитать точное число голосов за кандидатов, ни проверить, что от вашего имени не отправили второй голос.


            Эти данные в приватном блокчейне, который не опубликован.


            1. rumatavz Автор
              30.09.2021 09:46
              +2

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

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


              1. bgBrother
                30.09.2021 11:18
                +3

                Вот их разница и есть переголосования.
                Так это вы транслируете мнение ЦИКа, а не реальную ситуацию. Т.е. вы исходите из предоставленных данных о расшифрованных голосах. Верно?

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

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


              1. rumatavz Автор
                30.09.2021 11:42
                +3

                "я уже говорил выше, статистика показывает, что через переголосования голоса не крали." - я ошибся. Таких данных нет.


                1. Shakh_Viktor
                  01.10.2021 22:34
                  -1

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


              1. Shakh_Viktor
                01.10.2021 10:33
                -1

                Вы пишете бред. Почитайте на Хабре Петра Жижина.
                https://habr.com/ru/post/579350/


                1. rumatavz Автор
                  01.10.2021 10:37

                  Поясните пожалуйста. Про последнюю фразу я уже писал коментом выше.


      1. Zibx
        30.09.2021 05:41
        +4

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

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

        Так вот, если 10к человек будут целыми днями переголосовывать за ЕР, а потом скрытую базу почистят, то ЕР внезапно получит кучу дополнительных голосов. При этом свой голос можно будет проверить и убедиться что он есть в блокчейне, который в этой задаче изначально не то чтоб был нужен.


        1. Shakh_Viktor
          01.10.2021 22:43
          +1

          "Самим фактом существования эта приватная база нарушает тайну голосования"

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


  1. IgorPie
    29.09.2021 21:22
    +1

    Вроде бы, были случаи хака госуслуг. Вероятно, эти "хакеры" и проголосовали электронно за своих жертв. Типа, все легально.


    1. bgBrother
      30.09.2021 11:35

      Меня удивляет, что мало кто обратил внимание на код сайтов, на которых осуществляется голосование. Как можно быть уверенным, что предоставленный ранее открытый код действительно совпадает с тем, который на сервере? Он мог измениться в любой момент времени, а потом обратно. Наличие Subresource Integrity проверяли? Если Subresource Integrity было, то сам код проверяли на возможность runtime-подгрузки дополнительного? Вопросов много.


      1. bars_arseniy
        30.09.2021 19:42

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


  1. Green_hat
    29.09.2021 23:31
    +1

    Все равно непонятно, как проверить совокупность.
    Ну вот проверил ты свой голос - он ушел туда-то.

    Это два совершенно разных и непроверяемых факта.

    1. Ты подал голос его записали - "За Пупкина".

    2. Итоговых "За Пупкина" столько-то.

    И пункт 2 проверить невозможно.

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

    Что делать, я не знаю, но если ЭГ останется в жизни, то выхода нет (


    1. CTDEVIce
      30.09.2021 03:41
      +2

      Вот именно. Свой голос проверил, а голоса других проверить нет возможности. Когда за эту идею топят, то пример приводят с несколькими участниками голосования, которые друг друга знают. А в жизни даже в небольшой деревне все всех не знают лично. Ну проверил свой голос, показало что ты проголосовал за Пупкина, а еще 10млн. чел. проголосовали за Шмуткина. И даже если было на самом деле наоборот, то каждый видит свой голос за Пупкина, а спросить у 10млн. чел. как проголосовали они, технической возможности нет никакой.


      1. Zibx
        30.09.2021 05:44

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


      1. Shakh_Viktor
        01.10.2021 23:02

        Нет никакой возможности узнать, был ли ваш голос заПупкина учтён как финальный. То есть не был ли он переголосован в "приватном" блокчейне, не доступном никому для наблюдения.


  1. black1277
    30.09.2021 00:05
    +4

    Не знаю как там на Московских выборах, а в Подмосковье в избирательных списках были люди умершие более 15 лет назад, а те кто был прописан за этот период отсутствовали в основных списках и были оформлены через дополнительные списки. Как думаете, за кого проголосовали умершие?


    1. JerleShannara
      30.09.2021 03:30
      +1

      А это нормально, уже много лет меня нет в списках, а сосед числится по старому адресу (благо что тот же участок) — бардак в базах.


  1. rumatavz Автор
    30.09.2021 00:26
    -1

    Кстати, Кац тоже нашел аномалию с явкой. https://www.youtube.com/watch?v=Htb4_Vuovi0 Но я считаю что у них ошибка на картинке с явкой. https://gist.github.com/rumatavz/b806781b25db93be2890cf6aa556d8fd?fbclid=IwAR07l0e0LSPe-TKzA-5jdYX4aQA0I-9CmFAaaRIcyuDIR7SJ2b2txoBvrYE вот моим расчеты.


  1. corvair
    30.09.2021 08:40
    +2

    Ещё интересная идея: сравнить данные наших выборов с зарубежными, к которым заведомо нет вопросов.


    1. bars_arseniy
      30.09.2021 19:45
      +2

      Это вы как-то сильно.
      Зарубежные, конечно, организованы лучше. Но вот чтобы прям однозначно говорить, что по ним заведомо нет вопросов я бы не стал. Наверняка там тоже есть вопросы, проблемы. Может и не такие серьёзные. Всё таки массовое участие людей, что-то да должно быть.


      1. keleg
        01.10.2021 06:51

        Ну вот наш человек пишет из Германии, у них там явка 150% получилась.

        Даже больше наших 146
        https://daniel-grishin.livejournal.com/435391.html


  1. uhf
    30.09.2021 08:56

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


    1. rumatavz Автор
      30.09.2021 09:53

      Не вполне понял. Корреляцию между какими случайными величинами?


      1. uhf
        30.09.2021 10:07
        +3

        Мы берем каждых двух соседних (в списке) избирателей из регистраций, и проверяем, кто из них раньше получил бюллетень. Если тот же, который первый регистрировался — значит сохраняем в массив 1. Иначе — 0.
        Затем для этого массива визуализируем распределение. Интуиция говорит мне, что среднее значение должно получиться 0.5. Но это предположение.


  1. KoteMilote
    30.09.2021 09:21
    -10

    Аномалия в данных - это просто аномалия в данных.

    Интерпретация этой аномалии - уже другой вопрос, автор стыдливо пишет, что может быть это вброс, но он может и ошибаться. Сами то определитесь и сделайте вывод - можно доверять вашей интерпретации или нет?


  1. lexa
    30.09.2021 10:30
    +3

    Я правильно понимаю, что у аномальных избирателей
    1) явка ниже, чем в среднем по больнице
    2) голосовали они примерно так же как все остальные?

    Тогда какой же это вброс? Для вброса мы ожидаем совершенно другого
    - максимально высокой явки (иначе зачем регистрировать ботов)
    - сильного отличия их предпочтений от среднего избирателя (иначе какой смысл в этом вбросе)


    1. rumatavz Автор
      30.09.2021 11:45

      Я не знаю как они голосовали из за анонимности(по крайне мере в публичном блокчейне)


      1. lexa
        02.10.2021 09:03

        Ага, да.

        Но хотя бы по времени - такое же распределение "как у всех", уже ж немало?


    1. Shakh_Viktor
      01.10.2021 23:07

      Вы понимаете не правильно. Нет никакой возможности узнать, как они голосовали.
      Неизвестно даже, голосовали ли они по 1 разу, или по 8 раз.
      Читайте пост Жижина. https://habr.com/ru/post/579350/


  1. emil_nikitin
    30.09.2021 11:06
    -1

    Честные выборы возможны, только в одном случае, это когда от результата этих выборов, ничего не зависит :)


    1. keleg
      01.10.2021 06:53
      -1

      Когда от результата этих выборов ничего КРИТИЧЕСКИ не зависит.

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