What is an algorithm?
Any method/function we write as software engineers can be considered an algorithm by definition. In our daily lives, algorithms can be seen through targeted banner ads, Amazon’s “you might also like…”, Spotify song recommendations, and even who appears in our dating apps. These algorithms can be thought of as a combination of machine learning, data mining, and pattern recognition.
Algorithms in Dating Apps
As mentioned previously, algorithms are a combination of machine learning, data mining, and pattern recognition. Dating App algorithms are no different, they “…learn from users’ preferences. They gather data on users and how they interact, and calculate which profiles will appear in feeds or as matches.” For example, if a user continually “swipes left” on people with facial piercings, the app may stop showing that person people with these characteristics. To see this at work, Hidden Switch created a game called Monster Match.
For my monster account, I created a robotic dinosaur with a mohawk and creatively named him Dino Hawk. After I created my profile, I was given a list of monsters to either like or reject.
With just my first three likes and rejects, the algorithm had already enough data to recommend new monsters to me.
After swiping on another 10 profiles, I began noticing that the types of profiles I was seeing all started to look similar. This is not atypical to dating apps as these apps use a form of algorithm called Collaborative Filtering.
Collaborative Filtering in Dating Apps
“…collaborative filtering is a method of making automatic predictions (filtering) about the interests of a user by collecting preferences or taste information from many users (collaborating). The underlying assumption of the collaborative filtering approach is that if a person A has the same opinion as a person B on an issue, A is more likely to have B’s opinion on a different issue than that of a randomly chosen person.” -Wikipedia
Collaborative filtering relies on earlier users preferences to determine what later users see. Moreover, the more data we provide to the app the more easily the algorithm can make assumptions and target users that it believes we will “swipe right” on. The disadvantage to this is that collaborative filtering may become too specific over-time and limit the number of new profiles you see and even recycle matches. In researching this article, sources indicated that having a data reset button would be a logical fix.
How Dating apps differ
*Elo Rating System — likes/ “right swipes” are weighted
**Gale-Shapley Algorithm- Only introduce matches for people who meet your preferences and whose preferences you meet.
Algorithms are increasingly becoming a part of our daily lives. They are one the most powerful things a computer can do and I believe are critical for Software Engineers to understand.