Frankly's matching algorithm creates balanced discussion groups by matching participants with different perspectives based on their responses to a set of binary (e.g. yes/no) questions.

For example, if some participants prefer dogs while others prefer cats, the system will ensure they're mixed together rather than clustered with like-minded peers.

Contents:

General Guidance

How the Matching Algorithm Works

Caution: Nerdy 🤓

The algorithm uses a distance-based approach to form diverse groups. First, it identifies participants with identical answer patterns and places them in the same "bucket." It then calculates how different each bucket is from every other bucket using Hamming distance (counting the number of different answers).

To form groups, it constructs a graph where similar answer patterns are connected, then uses breadth-first search starting from the largest buckets to create clusters of diverse participants. The algorithm prioritizes pairing participants whose answer patterns differ by an ideal threshold, ensuring meaningful diversity while avoiding extreme differences that might hinder productive conversation.