# How are the results calculated in Agreeder?

The result is calculated using a Condorcet method, in particular the Schulze Method.

Nothing is more clear than a concrete example. Let's take the following Agreed, where the tenants of a building want to paint the building again and choose a new color.

80 tenants have voted to re-paint the building, and the majority would like something like yellow or orange but, guess what? In a normal election blue wins.

Isn't it unfair? Many tenants who have voted for orange would have preferred yellow rather than blue. At the same time, many who voted for yellow would rather see their building painted in orange than blue.

Well. This doesn't happen in Agreeder, and the result is clear!

Orange wins! Yellow is second and blue is third.

To obtain the same result, in a normal election, we should have had a second ballot (two-round system).

Thanks to the fact that voters don't simply choose single or multiple options, but instead sort them based on their preference, Agreeder can generate the best possible result with a single agreed.

Agreeder uses the ruby implementation of the Schulze Algorithm that you can find on GitHub. This implementation was initially developed for the application Airesis - The Social Network for eDemocracy, and has been re-used in many other contexts and software.

Did you like our example? You can read about how easy is to sort your priorities in Agreeder.