How to be a Good Matchmaker

The job of The Karma Bazaar is to match donors to recipients, but what makes for a good match? If two members ask for the same item, and only one is in stock, who gets it? Read on to learn how The Karma Bazaar decides who gets what and why.

Match Criteria at The Book Bazaar

Anjali donates a bundle of 10 English books for age 10 to The Book Bazaar. Anjali lives in postcode area 1096. When Anjali made the donation, she tagged her bundle with “Harry Potter”.

  • Fiona makes a request for English books for age 10. She lives in postcode area 1096.
  • Loek also makes a request for English books for age 10. He lives in postcode area 1097, but he has more karma banked with the bazaar than Fiona does.
  • Emi also requests English books for age 10. She specifically asks for Harry Potter books. She lives in postcode area 1083 and has less karma than Fiona.

Should Fiona get the bundle because she lives the closest? Should Loek, as a reward for donating the most and having the highest karma balance? Should Emi, because her request is rather specific, and if she doesn’t get this bundle, she might be waiting for a while?

At the book bazaar the three criteria that can be used to adjudicate between possible matches are K (karma), T (number of matching tags like author/title/genre) and D (distance). Depending on which of these three we prioritize, we will get a different set of matches.

If we choose the order of criteria to be KTD (i.e. first priority to highest karma, second priority to number of tags matching and last priority to distance), Loek gets the bundle.

If we choose TDK (or TKD), Emi gets the bundle, and if we choose DTK or DKT, the bundle goes to Fiona.

The order in which we apply the match criteria not only determines the priority of the deciding factors, it also determines how ties are adjudicated. For example, if we chose KTD, and two possible matches have the same karma, then the match with the highest number of matching tags will ‘win’. If both matches have the same number of matching tags, then the match that is most local will win.

What is most important when making a match?

The short (and perhaps dissatifying answer) is, as for many, many things in life: it depends. Just as in matchmaking for a relationship, different people prioritize different criteria.

What is best depends on perspective. From Emi’s perspective TDK rocks, but Fiona is unlikely to agree. It depends on goals. Is the bazaar’s goal to ensure that all exchanges are always as local as possible? Is the goal to reward the people with the highest karma irrespective of how far they have to trek to collect their bundles?

Prioritizing a particular metric will probably influence behaviour over time. For example, let us say that our ultimate goal is to make all matches as local as possible, thus making all exchanges as environmentally friendly as possible. The answer may not be as simple as to use DTK or DKT in our algorithm. It could be that if we prioritize karma above all, that results in more people being motivated to donate, which in turn makes more bundles available to the bazaar, which makes more matches occur locally over the long term.

One could argue that what is best for the community as a whole is to do what results in the most matches. However, there is no way of knowing in advance what will work best for our community. We need to learn what works best over time.

Matchmaker, matchmaker, make me a match

So, what does the Book Bazaar actually do? It uses priority order DKT by default, but also calculates all possible matches for other priorities (KDT, KTD, TKD,…….) and stores statistics about how many matches would have been generated if we had used different criteria. Over time, this will enable us to learn what works best for our community of users, and we can use this information to get better at matchmaking over time.

What would you prioritize? Leave a comment below telling me how you would make the sausage differently if you were in the cook in charge.

Leave a Comment

Your email address will not be published. Required fields are marked *