1. Thinking in systems. Systems thinking has been the backbone of all my research and studies. I do believe that every field of human activity can be described as a dynamic system, composed by a multitude of interacting agents, and at the same time co-existing and co-evolving with many other systems. Given the intrinsic complexity of all these interactions, it is nowadays unthinkable to just extend what we have learned about individual constituent agents to the entirety of the system, or replicate the findings from one system to other systems.
Indeed, the complex and dynamic interactions of many heterogeneous agents give rise to the emergence of unexpected phenomena, which are not predictable from the individual behavior of the entities involved — as we have clearly observed over the years in financial crashes, wars, collective online movements or protests, earthquakes or extreme weather events. On the other hand, a systemic approach is essential for the planning and development of the cutting-edge technologies of the fourth industrial revolution such as smart cities, sustainable transportation, efficient buildings, home automation or the internet of things.
To have a deeper understanding and control of such systems, I believe that knowledge from different fields has to be brought together and combined in a holistic, pragmatical and empirical approach. The systems that I have studied so far are mainly collaborative networks — such as employees in an organization, developer teams, online social networks, economic inter-firm networks of R&D and co-authorship networks in science. My work includes empirical, theoretical, modeling and optimization studies of such networks — carried out during my post-doctoral research project "Performance and resilience of collaboration networks" at ETH Zurich, and in my doctoral thesis, awarded the Zurich Dissertation Prize 2015 for its outstanding results and implications on the topic of risk.
2. Agent-based modeling and computer simulations. Given the complex nature of the systems I have dealt with, I naturally became an expert in agent-based modeling. Indeed, when it comes to the understanding of the emergent properties of a complex system, agent-based models are undoubtedly the most powerful computational tool: they allow to abstract the constituents of the system (and their properties) into self-sufficient entities, to impose rules of interaction among them, and to validate the emergence of — expected or unexpected — systemic properties. Logically, computer simulations are the most appropriate way to implement agent-based models: I have written thousands of lines of code in this respect, in Python, C and Java, obviously also making use of object-oriented programming.
Finally, agent-based models and computer simulations fit perfectly with the data-driven approach that characterizes my work: (a) starting from empirical observations; (b) incorporating the identified building blocks as microscopic rules of an agent-based model; (c) running extensive computer simulations to check the emergence of systemic properties; (d) validating the results against empirical data to close the conceptual cycle; (e) optionally, fine-tuning the microscopic rules or the model parameters to better reproduce reality and/or optimize the system under examination.
3. Dataviz. I am a huge fan of data visualization. Given the extreme complexity and amount of information that I have to deal with, plotting the data is often the only way to make sense of what I do and convey an effective message. Whether this is the result of a complex agent-based simulation with lots of statistical fluctuations or a simple qualitative/exploratory plot, I am always keen on getting my hands dirty with it. The software R is one of my most powerful allies when it comes to effective data visualization.
4. Text mining and machine learning. I have been recently working on pattern recognition in unstructured text, with R. I enjoy playing around with frequency counting, word processing and building word clouds — and I am definitely interested in further investigating this path in the future. On the left-hand side is the word cloud that I extracted from the text of this very same page.
Machine learning with R is another tool that fascinates me: I spend a lot of my free time in getting my hands on real-world datasets and building predictive models on them (just to cite an example: price evolution of cryptocurrencies). It is just fascinating to see how many powerful predictions can be achieved with all these tools and libraries out there.