Quickly rank anything, one comparison at a time

Have you ever had decision paralysis? Been in a situation where you needed to choose one or two things out of many more than that? What to eat for dinner, which movie to watch, which job to take?

I certainly have, and I sometimes find it helpful to start by comparing just two options at a time. I built Pearwise upon that principle. Give it a list of all of your options, and it will ask you to pick your favorite of two options at a time. Which each pick, Pearwise learns from your decision and updates a ranking of ALL of the options in your dataset.

Pearwise embodies the idea of software as a tool for helping humans. It asks nothing more or less of you than it requires to provide something of value and has no ulterior motives besides doing so. Your data is stored on device, and using the ranking confidence level, you can spend only as much time making comparisons as is needed to meet a confidence level that satisfies you. It feels good to build something like this, and it feels even better to find myself using it to make smarter decisions.

How does it work?

Pearwise uses an algorithm called the ELO rating system. It’s the same formula used to rank sports teams & players, and often used in dating apps such as Tinder. The requirements for a scenario that the Pearwise implementation of ELO will work for are:

  1. Any two unique elements, picked from the entire set of elements, can be compared directly, resulting in one winner and one loser. In other words, it is a zero sum scenario.
  2. There is a consistent prompt/question asked of the user that will force them to pick the winner of any two competing elements. In other words, the factor(s) taken into account when picking a winner remains consistent throughout all matchups.

Once you’ve entered in all elements to be ranked (you can always add/remove later on), each will be assigned the same default ELO rating of 1000. There is no ranking yet, because every element is seen as having equal value (1000).

But, when the app presents you with a matchup (A vs B) and you pick your favorite, the following happens:

  • The app calculates the probability you will pick option A and the probability you will pick option B. The option with the higher probability is the one that app expects you to pick.
  • By picking A or B, you either confirm or reject the expected pick with your actual pick.
    • If the actual is the same as the expected pick, the expected/actual pick gets a slight boost to its ELO rating, and the losing pick sees a slight decrease in its rating.
    • However, if the actual is different from the expected pick, the actual pick sees a larger boost in its ELO rating and the expected pick sees a larger decrease in its rating.
    • Note: In both scenarios the boost/ decrease are dependent on the Elo Ratings of the two competitors. An element with a rating of 500 beating an element with a rating of 1500 will have a great ratings impact than a 1000 beating a 1050.

In even simpler terms, when the algorithm can predict correctly, it confirms the data it has it good, and there’s little need to change it, but when it gets a prediction wrong, there is greater need to update the data and learn from its mistake.

But you don’t need to worry about the math to use the app. When you try to rank anything in your head on a pairwise basis, you don’t worry about probabilities, you just kind of try and keep track of which elements win the most matchups, right? So I’ve designed the interface face of Pairwise to make it as simple as possible to collect that matchup data and do all of the mental juggling behind the scenes.

Two at a time.

Picking favorites is the heart of the application. The interface is simple to keep your focus on the prompt at hand, but I’ve added some animation to build excitement before you go back to see the updated rankings.

Beautiful Rankings.

After you’ve gone through enough matchups, the app will have enough knowledge to form a ranking. Beyond the ranking #, I’ve used color contrast to convey how similar ratings are between elements. Similar shades of blue have nearly identical scores, but the darker/lighter an element is, the further up/down it’s separated from the rest of the pack.

Use Cases

Of course, there are so many other uses for Pearwise than what I’ve already suggested. Here are some ideas, both utilitarian and completely whimsical:

  • Create a complete ranking of episodes of The Office from your most to least favorite
  • Prioritize what you will pack for your next vacation, camping trip, or backpacking adventure
  • Figure out which of the 30 apartments you’ve found on Craigslist you should follow up about
  • Rank all of the items on your wish list (or have your kid rank their wish list for Santa)
  • Rank all of the t shirts (jeans, hoodies, etc) you own and minimize your wardrobe by donating some of your least favorites
  • You’ve gone through every listicle of places to go on your next travel destination, but there’re about 400 spots you want to visit in the span of 3 days. Prioritize the places you’re most excited to visit, so you can more easily plan out your itinerary.
  • Rank your favorite movies
  • Rank your favorite fruits/meals/restaurants
  • Create a complete ranking of episodes of The Office from your most to least favorite
  • Prioritize what you will pack for your next vacation, camping trip, or backpacking adventure
  • Figure out which of the 30 apartments you’ve found on Craigslist you should follow up about
  • Rank all of the items on your wish list (or have your kid rank their wish list for Santa)
  • Rank all of the t shirts (jeans, hoodies, etc) you own and minimize your wardrobe by donating some of your least favorites
  • You’ve gone through every listicle of places to go on your next travel destination, but there’re about 400 spots you want to visit in the span of 3 days. Prioritize the places you’re most excited to visit, so you can more easily plan out your itinerary.
  • Rank your favorite movies
  • Rank your favorite fruits/meals/restaurants