Giorgio Comai

Researcher, data analyst



I am a researcher and data analyst at OBCT/CCI. Here is some information about my (not necessarily contiguous) professional interests.

For a long time, I have been conducting research on post-Soviet affairs, focusing in particular on de facto states. I have been visiting Russia and other post-Soviet countries since 2000, and I speak fluently Russian and Romanian.

In recent years, I have increasingly been working on structured approaches for analysing online sources in conflict studies and international relations, data collections methods, and related ethical issues.

I have also been working as a data analyst and consultant, crunching data at the European Data Journalism Network ( EDJNet), writing code and developing packages in the R programming language, and working on data visualisation and geographic data analysis.

I occasionally post on my data visualisation blog: the codebase.


  • data crunching, data visualisation and geocomputation
  • data collection methods and ethics in research
  • structured analysis of web contents
  • Post-Soviet affairs and de facto states
  • R programming
  • digital humanities


  • PhD, Law and Government, 2018

    Dublin City University

  • MA, area studies, 2006

    MIREES - Interdisciplinary Research and Studies on Eastern Europe

  • BA, political science, 2004

    University of Bologna

Articles, features, and analyses

EU takes its best action against foreign interference when tackling the big issues

A swirl of new acts and strategies has been announced in the last couple of weeks by the European Commission, including the European Democracy Action Plan, the Digital Markets Act, and the EU’s Cybersecurity Strategy. If we ask the right questions about foreign interference, these are all part of the answer

“Russia” as a source of concern: are we really talking about Russia?

What do we even mean when expressing concern about “Russia”? As it turns out, Russia can be both a symbol and an external actor able to influence domestic processes. It is important to resist the temptation to conflate different preoccupations

Nagorno Karabakh: the reasons for a war

The long-term reasons for the conflict in Nagorno Karabakh are well known. But what caused such an extensive military intervention as the one we are seeing these days, over 25 years after the ceasefire? And what can and should be done now? An analysis

“Abchazja” and other untranslated bits of Wojciech Górecki's Caucasus trilogy

Górecki spent a lavish amount of time in the Caucasus, meeting people across the region and hearing their stories. His Caucasus trilogy makes for excellent reading. Yet, not all of it is accessible to the international readership it deserves

Recent academic publications

Responding to Alleged Russian Interference by Focusing on the Vulnerabilities That Make It Possible

Based on a media analysis of mainstream Western media, this chapter defines ‘Russian meddling’ as a distinct phenomenon that emerged at …

Russian Meddling in Democratic Processes in Europe and the US

In recent years, the issue of Russian meddling and Russian interference have prominently entered the public and political debate in …

Il sostegno esterno ufficiale agli stati de facto nel Caucaso del sud

De facto states in the South Caucasus are supported by a patron: Russia in the case of Abkhazia and South Ossetia, Armenia in the case …

Developing a New Research Agenda on Post-Soviet De Facto States

The scholarship on post-Soviet de facto states has structurally focused on issues related to their contested status, and has long …

Conceptualising Post-Soviet de facto States as Small Dependent Jurisdictions

De facto states, according to the most established elaborations of the concept, by definition strive towards full-fledged, …

Data notes

An online interface for associating latitude/longitude coordinates with administrative units

This post presents a data exploration tool developed by EDJNet. If you have a spreadsheet with longitude and latitude columns and would like to have a look at those data on a map or associate them with administrative units across Europe, you may well find this tool useful. You can try this online, or check out this screencast for an overview of its main features. The interface is available also through the R package latlon2map.

How do data grids look on a map? [3D video]

In this video, I point at some of the issues that characterise data grids and that may generate misunderstandings. In the video, I mention how gridded data can be generated via satellite imagery and machine learning techniques. Of course, such data can be generated also via other means. References This video is based on the data used for this article: Climate warming in Europe, municipality by municipality Municipality-level data for Italy can be accessed through this interactive interface: In marcia con il clima

R packages and data projects

castarter - content analysis starter toolkit for R

castarter is designed to make it easy also for relatively inexperienced users to create a textual dataset from a website, or a section of a website, keep it up-to-date, and explore it through word frequency graphs or a web interface that makes it possibe to tag items. Documentation is available on castarter’s website.

EDJNet’s Quote Finder

EDJNet’s Quote Finder facilitates finding different takes on European affairs. It provides an interactive interface to explore and filter tweets by all members of the European Parliament who are on Twitter, and to visualise word frequencies as wordclouds. It is possible to filter contents based on keywords, hashtags, political affiliation and language of the tweet. A different interface allows for interactively exploring textual contents published by EU-institutions such as press-releases. In this case, available visualisations include time series in order to highlight changes in the relative prominence of certain issues within the official EU discourse.

ganttrify - Create beautiful gantt charts with ggplot2

ganttrify facilitates the creation of nice-looking Gantt charts, commonly used in project proposals and project management. Documentation is available on GitHub.

genderedstreetnames - Find and plot on a map gendered street names

genderedstreetnames automatically finds the gender of street names, facilitates manually fixing what the automatic part got wrong, and plots the results. It gets information from OpenStreetMap and Wikidata. There is currently a vignette showing examples of what can be done with this package on the package’s website. Documentation is available on GitHub.


networkedwebsitesdetector offers a structured approach for finding websites which have clear signs of common ownership or are otherwise related. There is currently a vignette showing examples of what can be done with this package on the package’s website. Documentation is available on GitHub.

zoteror - Access the Zotero API in R

zoteror introduces basic functionalities to access the Zotero API. It allows to create new Zotero items, and to take a csv file (or data frame) and import it into Zotero, as long as data are properly mapped. zoteror has function that facilitate giving to tabular data a structure that can properly be read into Zotero. It facilitates resizing the storage space used, by ordering items by attachment size, and by allowing to add items to a collection if certain criteria are met.

Recent & Upcoming Talks

Nagorno Karabakh: sarà (nuovamente) guerra?

An online event on the Nagorno Karabakh conflict organised by ISPI [in Italian]

Russia hacked: problematic sources for insights on conflicts in Ukraine and the South Caucasus

In recent years, high-level leaks and hacks have featured prominently in media reporting. Russia has been repeatedly blamed for carrying out cyber-attacks against a variety of actors in Western countries, including the US Democratic party and then-presidential candidate Emmanuel Macron in France. However, Russian government actors have themselves been repeatedly hacked in recent years, including by alleged Ukrainian hacker groups and others (e.g. #SurkovLeaks). People associated with the de facto authorities in the Donbas region have also been hacked.

Responding to alleged Russian interference by focusing on the vulnerabilities that make it possible

In recent years, the legitimacy of electoral processes in Western democracies has been repeatedly put into question due to alleged …

Victims of double standards: double victimhood and changing narratives in Azerbaijan’s public rhetoric

Here is a brief summary of key points in the form of a Twitter thread: On my way back from ASIAC's latest conference in Gorizia, where I presented a joint work co-authored with @sofiebedford: "Victims of double standards: double victimhood and changing narratives in Azerbaijan’s public rhetoric" pic.twitter.com/9amsIIdMfp — Giorgio Comai (@giocomai) December 7, 2018

Should the EU talk more or less about conflict?

Where does the Money Come From? Financing the Budget and the pension System in post-Soviet De Facto States

Residents of post-Soviet de facto states have access to public goods and services to a large extent thanks to financial resources …


Digital archives and local history

Digitising local history

R packages

R packages for research and data journalism


“Exploring systemic vulnerabilities for external influence in Italy”

De facto states

Non-recognition is the symptom, not the cause

Journey to Armenia – A film documentary project

“Journey to Armenia” is a film documentary project I’ve been working on together with Andrea Rossini and other colleagues at OBCT between 2009 and 2013. It develops around the journey of Osip and Nadezhda Mandelstam in the Caucasus in 1930 (at the basis of Osip’s “Journey to Armenia”) and more in general around the life of the Mandelstams. At the same time, it is also a journey from Abkhazia to Nagorno Karabakh across today’s Caucasus.

Youth, patriotism and politics in the Northern Caucasus

Youth in the Northern Caucasus: associationism, identity, and patriotism in a complex, multi-ethnic context.


To get in touch, email is best: g@giorgiocomai.eu. To send an encrypted message use my public PGP key or ProtonMail (g@giorgiocomai.eu is a ProtonMail address).