Jak działa algorytm Tindera? Zobacz, co się dzieje, gdy polubisz czyjś profil

Dwadzieścia miliardów matchy, czyli połączeń między użytkownikami szukającymi drugiej połówki. To chyba najważniejsza informacja dot. Tindera, która powoduje, że nadal budzi ogromne zainteresowanie wśród użytkowników smartfonów. Z aplikacji korzysta 10 milionów użytkowników każdego dnia. Jak wyglądała historia jej rozwoju?

Tekst aktualizowany 12 sierpnia 2021 r.

Tinder zdobył swoją popularność dzięki temu, że potrafił znaleźć każdemu parę, miłość swojego życia. Tak przynajmniej promował się w mediach. I choć nie wszyscy korzystali z aplikacji w tym celu, to każdy mógł doświadczyć działania algorytmu, nad którym developerzy pracowali przez lata.

W 2020 roku z Tindera korzystało ponad 50 mln użytkowników na całym świecie, w tym 730 tys. Polaków. W tym samym czasie szacowało się, że charakterystyczny dla aplikacji swipe wykonywany był 1,6 mld razy dziennie i każdego dnia łączył 26 mln par. Aplikacja dostępna jest w 190 krajach i 40 językach.

Dziś odkrywamy przed Wami ostatnią dużą aktualizację Tindera, której celem było jeszcze bardziej precyzyjne dobieranie w pary. Pokażemy też, jak aplikacja zmieniła się pod wpływem użytkowników i w jaki sposób poradził sobie z wyzwaniami związanymi z geolokalizacją.

Tinder wykorzystał ELO score – algorytm, dzięki któremu stali i doświadczeni użytkownicy, mogli znajdować kolejne osoby warte poznania. To właśnie dzięki niemu apka zdobyła jeszcze więcej zainteresowania i rozwiązała problem wielu użytkowników, którzy bez rezultatu poszukiwali drugiej połówki. Kolejnym wyzwaniem, z którym jeszcze kilka lat temu borykali się developerzy aplikacji były przypuszczenia użytkowników, że jeśli za każdym razem będą oceniali dobrze pokazywane osoby, na pewno szybciej znajdą kogoś, kto będzie chciał się spotkać. Nic bardziej mylnego.

Historia Tindera

Tinder zmienił branżę randkową dwa razy. Pierwszy raz, kiedy wprowadził mechanizm swipe’owania, czyli oceniania przedstawianych profili. Jeśli dany profil nie przypadł nam do gustu – przesuwaliśmy w lewo jego zdjęcie z podstawowymi informacjami, czyli wiekiem i imieniem. Jeśli nam się spodobał – przesuwaliśmy w prawo. Drugą innowacją Tindera było wdrożenie wspomnianego wcześniej ELO score. Dziś z aplikacji korzystają miliony użytkowników każdego dnia a jej premiera udowodniła twórcom, że Tinder szybko zdobędzie ogromne zainteresowanie. Sean Rad i Justin Mateen w pierwszy dzień premiery pozyskali 300 użytkowników – studentów kampusu uniwersyteckiego. Do końca tygodnia było ich o 700 więcej.

Popularność aplikacji dawał mechanizm swipe’owania. Ułatwiał i przyspieszał podjęcie decyzji o polubieniu danego profilu, bądź jego odrzuceniu. O Tinderze szybko usłyszeli randkowicze, którzy za pomocą poczty pantoflowej promowali nową aplikację. Startup powstał w 2012 roku, a dwa lata później zyskał dużą rundę finansowania – na poziomie 50 milionów dolarów.

Nowy ranking

Niektórzy mówią, że przez aktualizację — dobre czasy aplikacji skończyły się. Na początku większość użytkowników starała się ocenić jak najwięcej profili, by szybciej znaleźć match. Nowy algorytm miał jednak sprawić, że bardziej docenieni zostaną właśnie ci użytkownicy, którzy rzadko przesuwają w prawo profil użytkownika. Dzięki niemu i oni mieli znaleźć drugą połówkę, ale nie działało to tak prosto jak mogłoby się wydawać.

Jonathan Badeen, VP produktu, ELO score porównał do gry w Warcrafta. “Dawno temu grałem w tę grę, ale pamiętam, że jeśli przeciwnik miał wyższy level niż ja, to wtedy dostawałem więcej punktów, niż gdybym grał z kimś, kto ma mniej doświadczenia, niż ja” mówił w rozmowie z fastcompany.com. Zdaniem Badeena, ELO score to szybszy sposób na dopasowanie i ocenianie innych. Jeśli ktoś z krótszym stażem dostanie lajka albo super lajka (o nim za chwilę) od kogoś bardzo doświadczonego, ranking młodego poszybuje w górę.

Co to daje? Jeśli rzadko kiedy dostajemy lajka – jesteśmy coraz rzadziej pokazywani innym, ponieważ algorytm ocenia, że mamy mało atrakcyjny profil. Jeśli natomiast (jakimś cudem) zainteresuje się nami osoba wysoko w rankingu – pozycja w rankingu podskoczy i będziemy coraz częściej pokazywani innym użytkownikom. Chris Dumler, developer działu odpowiedzialnego za analitykę danych w Tinderze, wskazuje, że każdy ruch – obojętnie czy w prawo, czy w lewo – daje Tinderowi informacje, które każdego użytkownika przybliżają do głównego celu, czyli znalezienia drugiej połówki.

Elasticsearch w praktyce

Zanim odpowiemy na pytanie, co się dzieje, gdy damy komuś lajka, prześledzimy, w jaki sposób Tinder pokazuje nam profile, którymi możemy się zainteresować. -– Architektura wyszukiwania Tindera wcześniej była dość prosta: mieliśmy jeden klaster Elasticsearch z jednym indeksem i domyślnymi pięcioma shardami. Działaliśmy w ten sposób przez lata, dodając w razie potrzeby więcej replik i mocniejszych węzłów – czytamy na blogu Tindera. W miarę upływu czasu zespół dodawał coraz więcej replik, aby utrzymać niski poziom latencji. – Wiedzieliśmy, że nasz projekt nie będzie już spełniał naszych oczekiwań, co do skalowania, kiedy osiągnęliśmy punkt, w którym używaliśmy dużej liczby potężnych węzłów – dodają developerzy Tindera.

ZOBACZ TEŻ:  Infrastructure as Code. Czym jest biblioteka AWS CDK – wady i zalety

Pierwszym czynnikiem, który Tinder wykorzystuje do zmniejszenia zasobów danych potrzebnych do analizy jest odległość. Dzięki temu użytkownikowi łatwiej jest trafić na interesujące profile. Główna zasada tej aplikacji dotyczy właśnie dystansu pomiędzy potencjalnymi znajomymi i wynosi on 100 mil. Niektórzy mówią, że chodzi o to, by użytkownicy mogli bez problemu podjąć decyzję o spotkaniu się – według Tindera 100 mil to odległość, która nie jest barierą uniemożliwiającą poznanie nowej osoby.

Nie da się też ukryć, że w ten sposób apka ułatwiła sobie nieco zadanie. Zamiast dla każdego użytkownika z osobna przeszukiwać miliony profili z całego świata, zawęziła zakres wyszukiwania. Ale czy na pewno łatwo było developerom określić, gdzie są jego granice?Jak się pewnie domyślacie, powyższy sposób segmentowania lokalizacji użytkowników nie działał prawidłowo. Mieszkańcy nadmorskich miejscowości mieli mniejszą szansę na znalezienie drugiej połówki ze względu na zakres wyszukiwania, który w tym przypadku obejmowałby morza i oceany. Z tego właśnie powodu Tinder szukał innej możliwości.

Google S2 – ratunek dla Tindera

– Stwierdziliśmy, że rozmiar indeksu wpływa na wydajność, a ta rośnie liniowo, gdy zmniejsza się rozmiar indeksu. Pomyśleliśmy, że jeśli uda nam się utworzyć więcej fragmentów ograniczonych przez lokalizację, to subindeks będzie mniejszy, co zwiększy wydajność wyszukiwania – piszą inżynierzy z Tindera. Problem pustych przestrzeni nie był jedynym wyzwaniem, z którym musiał zmierzyć się zespół pracujący nad aplikacją. System wyszukiwania ciekawych profili musiał obejmować takie parametry, jak:

  • przemieszczanie się użytkowników, co powodowało zmianę obszaru wyszukiwań,
  • gęstość zaludnienia. W miastach takich jak Londyn czy Nowy Jork, liczba użytkowników Tindera na metr kwadratowy jest zdecydowanie większa, niż w małych miejscowościach, przez co serwery w tych miastach muszą działać jeszcze wydajniej.

Developerzy Tindera chcieli szybko sprostać tym wymaganiom, dlatego skorzystali z algorytmu Google S2, który oparty jest o krzywą Hilberta (grafika poniżej) – w dużym skrócie, dzięki tej krzywej, Tinder nie dzielił już użytkowników na obszary upchane w kwadracie, ale za pomocą przestrzennej lokalizacji. – Dwa punkty znajdujące się blisko krzywej Hilberta znajdują się blisko przestrzeni fizycznej. Każdy najmniejszy klon krzywej Hilberta jest komórką, a 4 sąsiednie komórki tworzą większą komórkę, więc jest to struktura czworokąta – piszą developerzy.

Grafika pochodzi z blog.christianperone.com

Przeszliśmy zatem do aktualnego sposobu, z którego korzysta Tinder wyszukując użytkowników pasujących do siebie. Od lat korzysta z krzywej Hilberta, a jej działanie tłumaczy tak:

Wyobraź sobie, że w środku Ziemi jest światło. Rzutuje powierzchnię globu do sześcianu, gdzie każda powierzchnia jest wypełniona krzywą hilberta, a każda najmniejsza komórka reprezentuje niewielki obszar Ziemi – w przybliżeniu to, w jaki sposób S2 wykonuje odwzorowanie z komórki S2. Zauważ, że na krawędzi pojawią się zniekształcenia, szczególnie widoczne na rogach – S2 dokonuje nieliniowej transformacji, aby upewnić się, że rzeczywisty rozmiar wyświetlanej komórki na powierzchni Ziemi jest mniej więcej taki sam.

Grafika pochodzi z sidewalklabs.com

Więcej dowiesz się na następnej stronie.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Programowanie w języku Swift - jak zacząć, kursy, tutoriale
Programowanie w języku Swift – jak zacząć, kursy, tutoriale