Skip to main content

eHarmony Matching Algorithm

Dating sites like eHarmony aim to match partners based on a variety of factors. By subscribing to the service, users are shown several potential matches each day and are given the choice to communicate with them. Although the actual matching algorithm used by eHarmony is kept secret, we do know what elements are considered in producing a match. Each new user fills out an extensive questionnaire meant to evaluate them in six areas-(1) level of agreeableness, (2) preference for closeness with a partner, (3) degree of sexual and romantic passion, (4) level of extroversion and openness to new experience, (5) how important spirituality is and (6) how optimistic and happy they are. Founders of eHarmony believe that a high similarity in these areas correlates to a better chance of a good match, though this claim has been disputed by psychologists. Users can also specify additional criteria that is important to them, including location, height and religion. Some users are disqualified from the site altogether, for reasons such as homosexuality, suspected depression and age.

Although we do not have access to the algorithm used by eHarmony, we can discuss some of the constraints of the matching algorithm and how variants of the algorithms we have studied might be applicable to the situation. In theory, we are looking for a bipartite matching, where every man is matched to several women and each woman is matched to several men. Because new matches are produced every day, we can say that the algorithm runs daily. The pool of eligible candidates for each member changes as well, as new users are added, previous matches are removed, and location changes are accounted for. This candidate pool can then be ranked according to the factors listed above, so each member’s preferences are represented by an incomplete ranking. The properties of this matching are similar to ones we have seen before. Similar to the Gale-Shapley algorithm, both men and women rank the potential candidates. However, not every candidate is ranked, since some are not suitable matches, and each member can have multiple matches, which makes the Gale-Shapley algorithm inapplicable in this situation. We can also draw parallels to the one-sided binary matching, because we want to match as many users as possible to create a maximum matching. Some additional, more complex considerations for this application include the limit on the number of matches per day being different for each member, and how to maintain a consistent number of high quality matches over a period of time.

Some ways that this algorithm can be simplified is by creating smaller sets of users based on location. With this smaller pool and having all members ranked by every other member, we can use a variant of the Gale-Shapely algorithm. In this case, every member will only have one match. If the match is not rated highly enough by either party, the match is removed. The algorithm can then be run several times, stipulating that the match will not be created if a member already has too many matches or it already matched with the member who asked. These additional runs are not guaranteed to produce a perfect, stable matching, like the Gale-Shapley algorithm. Although this algorithm is flawed and does not take all factors into consideration, it does give us one way of thinking about how these matches might be constructed



Leave a Reply

You must be logged in to post a comment.