As you all know, the first and crucial step of our large #twenty campaign is to submit a bill through a vote on ROI (the Russian Public Initiative platform). We already have experience collecting 100,000 votes, and to rule out any statistical anomalies or vote manipulation, we have been closely monitoring the voting process from the very beginning. Nothing seemed out of the ordinary, but as soon as we approached the 85,000 mark, strange things started happening.

On November 24, we noticed that the voting logs began showing cases where the number of votes decreased, while the rate of voting for the initiative dropped by about half. We started monitoring the situation more closely and discovered an unexplained anomaly.

From the very start of the campaign, we have been conducting an independent audit of the vote count. Many thanks to volunteer Andrei, who created convenient charts for us:

At the same time, ACF’s internal monitoring team was collecting logs from the initiative page every five minutes and recording the data from the lower progress bar:

At around 4:00 p.m. on November 24, we received an email from a supporter who pointed out that the vote count on a blog banner pulling data from ROI had suddenly dropped by 2. In the logs, we found confirmation that the number of votes was periodically decreasing. The first time this happened was on 24.11.2014 at 13:35:04.

We reduced the data collection interval to one minute, which revealed even more such cases — a chart with one-minute sampling.

We drew up a list of possible causes:

We added several popular initiatives to our monitoring. For example, the recently launched initiative to cap the salaries of state corporation executives. It shows normal, organic voting.

But then there was the initiative calling for an online vote on the кандидатуру of the head coach of the Russian national football team, which ROI chief Ilya Massukh suddenly wrote about on his blog the very day it was published — massuh.livejournal.com/8571.html. This initiative was gaining votes very quickly, which we initially explained by the organizational strength of football fans.

Analyzing the voting: We found no similar “vote withdrawals” there, but we did find “astonishing unanimity among voters.” Exactly once every 6 minutes, 6 to 8 votes are added.

We ran an experiment on the football initiative to rule out the possibility that these six-minute spikes were caused by caching.

Hypothesis: votes are not added at the moment they are cast, but are instead added in batches every six minutes because the server caches the block displaying the counter. That is why we see spikes rather than a smooth voting pattern. Individual votes appearing between the spikes occur for unknown reasons.

Experiment result: the test votes and their withdrawal are immediately visible in the counter and appear in our log. Both the vote and the withdrawal fall within the supposed caching interval, which means there is no caching in this case.

To be sure, we checked twice from different IP addresses.

While monitoring, we found another smoker’s initiative — roi.ru/15227/.

And who is promoting this initiative? Oh, the railway workers’ union — here and here.

Now let’s go back to the hourly chart. We noticed a significant difference between the vote growth dynamics shown by the different counters — the total counter and the hourly one.

We began monitoring the hourly and total counters for several initiatives:

Remember our hypothesis about the “helpful supporter” who keeps adding and withdrawing votes so the initiative stays near the top? That would make sense if the hourly vote counter on the right did not account for withdrawn votes. In that case, by withdrawing a vote and then voting again, we would see an increase of 2 votes rather than 1. We decided to test this and ran an experiment.

YouTube video

The video shows that votes are counted immediately, and withdrawals are too.

But for our initiative (and only ours), the increase in votes shown by the main counter and the hourly counter in the right-hand column differs sharply at any given moment. That is when we began to seriously suspect artificial manipulation.

To verify this, we asked Andrei to create his own independent chart using minute-by-minute logs for our initiative — http://www.roi100k.ru/track.php. It also shows vote decreases.

We decided to make our own data even more detailed, started saving counter values every 15 seconds, and added another dozen initiatives to the monitoring: 9376, 14141, 15227, 13688, 15731, 15689, 10563, 11532, 13341, 15990, 16001, 12821, 15231. And here is the result:

The chart shows normal voting in ones and twos at random moments, as well as suspicious “batches” of 6 to 8 votes arriving every 6 minutes at specific minutes of the hour: 3, 9, 15, 21, 27, 33, 39, 45, 51, and 57.

And here is our chart, also showing artificial manipulation every 6 minutes, but in the opposite direction:

Here is what you should pay attention to in this screenshot:

I understand that many of you are now slapping the table and angrily shouting: WE TOLD YOU ROI WAS A FRAUD AND THAT WE SHOULDN’T BE PLAYING THEIR GAMES.

Yes, I remember. You did.

And note that I also said they would almost certainly steal votes from us. I also said that everyone else has to collect 100,000, while we need 200,000 to get the same result.

It is much the same with elections: to have 20% written into the official tally, you need to win 30%. That is how everything works in our country.

The authorities resist our initiatives and ideas in every way they can. Falsification is their main method — simple and well-practiced.

We must respond with even harder work. Let’s vote more actively. There are only a few days left, so let’s push and collect more votes, so that this “quiet theft of votes” does not work.

And let’s do it immediately, without delay, before they teach their robot more sophisticated methods of falsification.

Of course, today we will take all the formal steps: we are sending an official letter to the ROI leadership asking them to comment on this data. ACF director Roman Rubanov will try to meet with ROI chief Ilya Massukh and get answers from him. And so on.

We need just one thing from you — vote. Don’t put it off; vote right now. Bring new people in to vote.

From a political point of view, these falsifications are actually a good sign — it means we are hitting the right target.

You do understand that neither Putin nor the government is thrilled by the idea of having our initiative and 100,000 signatures waved in their faces, right? You understand that they do not want us to collect 100,000? If you do, then vote.

For the real data nerds and those who like digging into numbers, we have put together an entire folder of links, charts, and documents. We would be glad if you joined in analyzing the remarkable anomalies described above.

Original