Russia’s Political Map

Country/area: Russia

Organisation: Novaya Gazeta, Meduza

Organisation size: Small

Publication date: 23/08/2021

Credit: Aleksandr Bogachev, data journalist, idea and design. Sergei Ustinov, main developer. Alena Avdeeva, project management. Mikhail Aksenov, backend, data science, cartography. Vasily Rumyantsev, interactive map. Julia Antonova, front-end


Aleksandr Bogachev, 37 years old, data visualization specialist, data journalist. Author of the book about data visualization “Charts that convince everyone.” Worked as the head of the data journalism department at RBC. Worked with Transparency International, Internews, Article 19, Golos.

Sergei Ustinov, developer, 28 years old, open data ambassador. Created many services based on open data: opengo.ru, dtp-stat.ru.

Project description:

Local elections in Russia are not given much attention. However, it is at the local level that people can change Russia. 100–150 votes are enough to become a deputy in most districts. However, data about local elections are difficult to find and analyze. We mapped all 19k+ districts on one map and created landing page for each.

Now it is easy to find out where the elections are taking place, what is the turnout, who are the deputies there now, who they are, how many votes were enough to win. Anyone can find the candidates for the next elections.

Impact reached:

The project has focused massive attention on local elections in Russia, which has never happened before. He was widely quoted by federal and regional media.

More than 300 thousand visitors, thousands of reposts. More than 80 thousand people watched the video with information about the project (proportion of likes — 10%).

The main article about the project were published in a newspaper with a circulation of 100,000 copies.

Ekaterina Shulman, one of the most famous and prominent independent educators of the country, spoke in detail about the project for an audience of thousands.

Techniques/technologies used:

We gathered all the data from the Central Election Committee website using complicated parsers due to barriers that include obfuscation, captcha, ban based on IP and so on. Data was kinda dirty and we built an automated system to clean and organize it. For that, we used Python scripts. Backend is based on PostgreSQL and Django. We refreshed all data (more than 90k pages) in one week.

Map data we collect from openstreetmap.org and it’s also an automated weekly process.

To build an interactive map with more than 20k polygons and 3 levels of borders we used sophisticated technique based on Leaflet.js and cache from Cloudflare. The solution is extremely cheap and could withstand a heavy load.

What was the hardest part of this project?

1. The hardest part is the elegance of the concept. We cannot parse tens of thousands of websites of local districts to understand who are the deputies there. They have different addresses and a different structure of pages, it is not known whether they are updated or not. But we CALCULATED who is the deputies based on the results of all the elections, which are on the website of the Central Election Committee.
2. No one has ever made a Russia map with detail to rural areas so that it works in a browser and on a mobile phone.
3. These are not just statistics, these are 20,000 unique pages, the text of which is collected into a narrative, where the text is generated automatically depending on the data. And it is all for people to engage them to participate in elections.
4. Data is collected, cleaned, and updated automatically.
5. We share the processed data with everyone
6. More than 1 million candidates’ pages.

What can others learn from this project?

1. The main insight is that anyone needs only 100-150 votes to win in most of the districts. The turnout is low.

2. We share two stories with big media. One story is about serial candidates running in many elections on the same day. Some do it 40 or more elections at a time. Moreover, different regions are divided between different parties. This is necessary for fictitious competition for candidates from the ruling party, who almost always win.

3. We also found and wrote about the dominance of the ruling party’s candidates in local elections, about the fact that Siberia and the Far East are the most oppositional. About the fact that there are almost no women among the deputies in the Caucasus.

4. It’s very easy for journalists to download cleaned and updated data to learn everything about local elections.

5. Patterns could be easily found using the map

Project links: