ProMCDA: The Tool That Turns Uncertain Situations into Informed Decisions
We are proud to introduce ProMCDA!
ProMCDA, which stands for “Probabilistic Multi Criteria Decision Analysis”, is a versatile open-source package that allows its users to make informed decisions across a wide range of fields. Based on a Multi Criteria Decision Analysis (MCDA) approach, the tool provides a scored ranking of the options available to the user, according to the criteria that that user indicates as being important to them. As ProMCDA takes a probabilistic approach, it also allows for uncertainty analysis within the scenarios presented. This allowed the user to broaden their decision-making horizon and take into account the uncertainties involved in their particular use case.
For a deeper dive into the software, its background, and methodology, we talked to the creators of ProMCDA: Dr. Flaminia Catalli and Dr. Matteo Spada.
Please introduce yourself!
[Flaminia] I’m Flaminia Catalli, you can learn quite a lot about me in this older interview. I’m a geophysicist originally, but have been working in various fields surrounding data science for the last seven years. This allows me to have a bit of a hybrid role at wetransform, where I can switch between teams and projects according to what is most useful to the company.
Lately, I have been delving into more science and research again through our FutureForest project, which also gave me the opportunity to work on ProMCDA with Matteo.
[Matteo] I am Matteo Spada. I’m Italian, but have been living in Switzerland for almost seventeen years now, where I teach and research at the University of Applied Sciences in Zurich. I have a doctorate in geophysics, but in the last twelve years I moved from physics to engineering. I mainly focus on risk and resilience analysis of complex engineering systems, such as telecommunication networks, electrical distribution networks, and so on and so forth.
This means I also work in decision support for different stakeholders, which is how I entered the world of multi criteria decision analysis. In these complex fields, decision-makers may need to consider multifaceted factors that range from political mandates to the protection of a certain structure or critical infrastructure. Through MCDA, we are able to use all these different indicators and help stakeholders to make their decisions.
Which is how I wound up involved in the development of ProMCDA. I talked to Flaminia about her need for an algorithm to aid in forest management and proposed looking into a Multi Criteria Decision Analysis, as my experience taught me that a tool of this type could be really helpful to make informed decisions.
So, what is ProMCDA?
[Flaminia] As Matteo said, ProMCDA is an algorithm based on Multi Criteria Decision Analysis. What this means is solving complex problems that involve many different criteria. Accounting for many factors is mathematically not easy in an optimization problem, but using an MCDA-approach allows you to find a solution in an easier way than trying to optimize a multi-dimensional function, which mathematically describes the problem.
It is a very reliable and efficient tool through which a user can obtain a ranking of their options. It allows to assign a different level of importance to each criteria, a process known as weighting.
[Matteo] Multi Criteria Analysis is a broad way to define all methodologies that can consider different criteria and indicators at the same time.
This is different from what is done in a pure optimization problem. There, you are always looking to consider a limited number of criteria, taking the remaining ones as constrained variables, because otherwise it gets quite complicated to optimise a function, which describes the problem in its multidimensionality, as well as computationally intractable.
Multi Criteria Analysis is different, because it allows you to consider all criteria fully at the same time, without having to limit them to a smaller number. It allows you to find both the best and worst options among all of your possibilities. This scale of operation is what makes it so powerful.
By changing the weights on your criteria, you can identify the best opportunities out of a very large range of possibilities. Some may be ranked higher or lower depending on your input, but you will consistently see that some options are very good or very bad. From there, you can take the set of three or four best alternatives and start the real decision-making process.
[Flaminia] As a very simple example, you could be trying to find the best place to buy ice cream in a particular city.
If for me the best ice cream place is the one that offers the most flavours, but for you the best place to buy ice cream is where it’s the cheapest, my best set of options and your best set of options will be different.
ProMCDA has the ability to identify the best set options for each of us out of the possibly hundreds of ice cream places in the city.
We could then look at our top results and decide where to go from that selection, but initially every single place that sells ice cream in the entire city has been considered.
Assuming it wasn’t ice cream, why did you need this tool?
[Flaminia] I was brought into the FutureForest project, which aims to create technological advances for use in forestry, to help build a Decision Support System to aid in the selection of which type of trees it would be best to plant.
Initially, we weren’t certain what type of tool would be best for this. We considered a lot of different options, including Artificial Intelligence, but ultimately wanted something that would be interpretable and very transparent, which is not always easy to achieve with Machine Learning, particularly with more complex AI algorithms such as would be required for FutureForest.
Then, on a train trip from Berlin to Rome, I made a stop in Zurich to have dinner with Matteo and his family. We have known each other for a long time and as I explained my present challenges, he very casually and with a big smile on his face told me: “I think I have the tool for you.”.
[Matteo] Yes. I may be used to working on decision support in different topics from forestry, but I knew we had developed some web tools for which an extension had been written by an old master’s student. We never published or did anything else with that extension, but it sounded very much like what Flaminia needed.
I was still very interested in moving forward with this myself, so when Flaminia asked for my support, I said: “Okay. Let’s try to create something interesting.”.
In which types of situations could these methodologies and ProMCDA be used?
[Matteo] These methodologies are already used on many different levels. For example, the European Union uses MCDA for environmental matters, to know which measures to prioritise to avoid certain risks. Currently that’s mostly related to the climate and biospheres that are being considered.
In engineering, we also use it quite a lot to decide which components of certain systems need to be prioritized and have resources dedicated to them, because they are affected by different risks, ranging from technical failures to natural disasters. This way, you can prioritize which part of the system you need to look at first.
This methodology also comes in play when benchmarking certain things. For example, there is an index of universities and every year a list will come out rating which are the best 100 in the world. Those ratings are based on MCDA. They have a list of criteria, assign a score, and then the overall score will give you the ranked list of universities.
You can even benchmark countries. A case I worked on was an energy supply resilience index for countries worldwide. We selected meaningful criteria describing the energy supply resilience, and used those to benchmark which countries were in the best and worst situation. You can then use that ranking to really focus on the criteria underneath these scores and say where a country should focus their resources in order to improve its general resilience.
At the end of the day, this kind of methodology is unconsciously used by everyone. Regardless of topic, so long as you have multiple different options to compare, you will have different criteria describing those options. If you are picking a restaurant or purchasing a car, you will also first narrow down your options, and finally base your decision on which criteria are most important to you.
[Flaminia] This tool is useful for anyone who needs to make a decision between many options with a lot of different criteria.
I even sent ProMCDA to some of my former colleagues in risk management for e-commerce. I remembered that we had a machine learning model to predict online fraud but struggled to translate this into the different business values at stake. We would need to decide which model to apply to, for example, increase revenue but also decrease fraud. Often decision-making amounted to educated guesswork. With ProMCDA, the choice can be made in a much more precise and mathematical fashion.
It's a super easy tool to use on large volumes of data, which will give you a clearer first understanding to build upon and make well-informed decisions and classifications.
Where does ProMCDA fit within the current software landscape?
[Matteo] There are older tools out there that combine different methodologies of MCDA. They tend to be limited to relatively few simple score-ranking functions and not really expandible, or are built to support very specific use cases with built-in constraints. While many are free to download, unlike ProMCDA not all of them are open-source.
In our case, there is a practical step forward because ProMCDA can collect information from the output of other tools. This includes things such as different normalization and aggregation methods, added stochasticity on the weights, but also that some of those criteria are not just a number, but are defined by a distribution, so they are uncertain. If you are curious about this, you can find more in-depth information in this article on ProMCDA.
[Flaminia] Forestry is a good example of a field that includes such uncertainties.
This was very important when developing this tool for FutureForest, because all the possible scenarios are based on simulations and simulations come always with an intrinsic uncertainty. The simulated values represent an average over a distribution of different simulations, plus or minus a standard deviation. We knew it would be vital to be able to consider such uncertainties and now we use that feature of ProMCDA also to simplify complex scenarios.
For example, we do not repeat the calculation of scores for every individual climate scenario every time, but simply include the climate scenarios as uncertainties into the model directly. If we were working with something deterministic, we would have to consider a great deal of scenarios individually, but because we have a probabilistic approach, we can indicate all of these as uncertainties coming from climate scenarios. It’s a great simplification for a final human understanding.
Are there plans to develop ProMCDA further?
[Matteo] The current latest version is the 1.08 release.
We cannot touch it for the time being, because we have the paper and code that are under review now, but the idea after that is to develop it further to make it a spatial tool.
[Flaminia] I hope we can develop it further, but a lot of the challenges come from our desire to keep ProMCDA as a generic tool.
For example, our initial ideas included equipping ProMCDA for use as a spatial tool. The problem with that was that, when trying to equip the tool for spatial data analysis in the FutureForest project, we discovered that the problem in forestry is different from many other spatial scenarios that you might want to apply MCDA to. The space is only one of the many possible parameters constraining an alternative. It would be very difficult to find a solution to both account for the level of complexity in forest management and still leave the tool general enough for use in other fields, but we are still experimenting around it.
What I'm really hoping for with this release is not only for people to open pull requests to improve it, or wanting to add something new to the tool, but also ask for new applications. I would be very happy to learn about different problems that people would want to apply MCDA to. I hope not only to have more people looking at the code, but also to potentially find people who want to use the tool and grow with it. Especially for environmental related problems.
ProMCDA is completely free and open-source. Download ProMCDA here!