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 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 jego rozwoju?

Tinder zdobył swoją popularność dzięki temu, że potrafił znaleźć każdemu parę, miłość swojego życia. Tak przynajmniej promował się w reklamach i 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. Dziś odkrywamy przed Wami ostatnią dużą aktualizację Tindera, której celem było jeszcze bardziej precyzyjne dobieranie w pary. Pokażemy też, jak Tinder zmienił się pod wpływem użytkowników i w jaki sposób poradził sobie z wyzwaniami związanymi z geolokalizacją.

ELO score — taką nazwę Tinder dał nowemu algorytmowi, dzięki któremu stali i doświadczeni użytkownicy, mogli znajdować kolejne osoby warte poznania. To właśnie dzięki niemu Tinder zdobył jeszcze więcej zainteresowania i rozwiązał problem wielu użytkowników, którzy z aplikacji wychodzili z kwitkiem. Kolejnym wyzwaniem, z którym jeszcze kilka lat temu borykali się developerzy Tindera 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 jego zdjęcie z podstawowymi informacjami tj. wiekiem i imieniem w lewo. Jeśli nam się spodobał — przesuwaliśmy w prawo. Drugi raz, gdy wprowadził wspomniany 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ł wcześniej niespotykany mechanizm swipe’owania, co zdecydowanie ułatwiało i przyspieszało 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 się skończyły. Na początku większość użytkowników starała się ocenić jak najwięcej profili, by szybciej znaleźć match. Nowy algorytm Tindera 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, Tinder’s 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 z wysokim rankingiem — 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, opowiemy, 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.

Pierwszym czynnikiem, który Tinder wykorzystuje do zmniejszenia zasobów danych potrzebnych do analizy, by znaleźć jednemu użytkownikowi interesujące profile jest odległość. Główna zasada tej aplikacji do randkowania 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ą hamującą przed poznaniem nowej osoby. Nie da się też ukryć, że w ten sposób Tinder ułatwił sobie nieco zadanie. Zamiast dla każdego użytkownika z osobna przeszukiwać miliony użytkowników z całego świata, zawęził 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ół Tindera. System wyszukiwania ciekawych profili musiał obejmować takie sytuacje 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 (obrazek 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

Teraz przechodzimy 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. Projektuje powierzchnię globu do sześcianu mandarynki, gdzie każda powierzchnia sześcianu 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

Tinder jest bardzo zadowolony z tego systemu wyszukiwania użytkowników i na blogu wymienił przewagi Google S2 nad innymi systemami. Oto one:

  • Komórki na tej samej mapie poziomu w przybliżeniu mają ten sam rozmiar obszaru na powierzchni Ziemi. Porównywalnie, Geohash jest bardzo wypaczony, gdy znajdzie się w pobliżu biegunów Ziemi.
  • Jest to dojrzała i stabilna biblioteka z obsługą głównych języków używanych przez wewnętrzne serwery Tindera (Java i NodeJS).
  • Krzywa Hilberta 2D to quad tree, co sprawia, że agregacja jest dość łatwa. Jest to bardzo wygodne przy obliczaniu wyniku obciążenia, ponieważ można utrzymać wynik obciążenia na niższych poziomach i w razie potrzeby agregować go do wyższego poziomu.
  • Biblioteka ma wbudowaną funkcjonalność do mapowania lokalizacji, lub pokrywa obszar geograficzny, taki jak wielokąt lub okrąg z komórkami S2.
  • S2 obsługuje komórki o różnych rozmiarach, od centymetrów kwadratowych po mile.

Zdaniem developerów Tindera, wykorzystaniej krzywej Hilberta do znalezienia drugiej połówki danemu użytkownikowi jest o 20 razy bardziej efektywne, niż gdyby korzystano ze standardowego wyszukiwania, które sprawdza się przy niedużej bazie danych.

Skoro wiemy, jak Tinder dzieli zarejestrowanych użytkowników (wyżej pokazaliśmy tylko jeden czynnik, czyli lokalizację, choć Tinder stara się też dobierać osoby po innych czynnikach), przejdźmy do tego, co się dzieje, gdy damy lajka innemu użytkownikowi.

Co się dzieje, gdy damy lajka?

Gdy spodoba nam się profil użytkownika, którego zdjęcie i podstawowe dane właśnie ujrzeliśmy — warto dać lajka. Wtedy nasz profil zostanie przedstawiony tej osobie, mimo że może mieć o wiele wyższą ocenę w rankingu, co oznacza, że jeśli byśmy nie dali jej lajka, nie miałaby szans sama znaleźć naszego profilu. Tinder zezwala jednak na przyznanie dowolnego profilowi tzw. super lajka, dzięki któremu hot użytkownik natychmiastowo zobaczy nasz profil i będzie mógł szybciej ocenić, czy chciałby się z nami spotkać.

Co się dzieje, gdy ktoś się nam nie spodobał?

Tinder od lat dążył do tego, by zmniejszyć liczbę otrzymywanych dislike’ów przez użytkowników. Każda słaba ocena pogarszała ranking użytkownika, przez co trudniej mu było znaleźć drugą połówkę. Tinder musiał jednak zrobić coś, by jak najwięcej osób połączyć ze sobą, co poświadczy o przydatności aplikacji. Dlatego zaktualizował usługę i gdy daliśmy komuś dislike’a — czyli przesunęliśmy palcem w lewo, na znak, że dana osoba naszym zdaniem nie pasuje do nas — Tinder ocenionej już osobie nie wyświetlał profilu tej, która oceniła go źle. Dzięki temu ten pierwszy użytkownik też nie dostawał dislike’a, bo dowolna ocena drugiego — i tak nie spowodowałaby połączenia profili.

Druga sprawa to wspomniany wcześniej ELO score, czyli system oceniania użytkowników, który jeszcze bardziej zmniejsza prawdopodobieństwo uzyskania przez kogokolwiek dislike’a. Tinder postanowił, że jego algorytm — oprócz tego, że będzie starał się połączyć w pary osoby o podobnych zainteresowaniach, czy z podobnym miejscem zamieszkania — będzie pokazywał profile osób o podobnej pozycji w rankingach. Dzięki temu użytkownik z 9 pkt., nie zobaczy (jako pierwszy) profilu drugiej osoby z ogólną oceną 4 (chyba, że ta z niższą oceną da mu wcześniej lajka albo super lajka). Mało prawdopodobne, by ten z wyższą oceną dał lajka osobie z nisko ocenionym profilem.

Ciekawostka: kupując płatną subskrypcję Tindera, możemy zobaczyć, kto dokładnie lajkował nasz profil — zanim podejmiemy decyzję o tym, czy profil danego użytkownika podoba nam się, czy też nie. Tinder Plus daje nie tylko możliwość podejrzenia, kto ocenił nasz profil dobrze, ale też możliwość cofnięcia “dislike’a”, który uniemożliwia połączenie w parę z drugim użytkownikiem.

Jak ważne są zdjęcia?

Na ocenę tego, czy ktoś pozytywnie oceni nasz profil na pewno wpływ ma zamieszczone przez nas zdjęcie. Dobrze dobrana fotografia nie tylko sprawi, że dana osoba da nam lajka. Każda pozytywna ocena podniesie nas w rankingu, dzięki czemu nowe zdjęcie zobaczy jeszcze więcej osób. Znaczyć to może tyle, że warto co jakiś czas zmieniać swoje zdjęcie, gdyż jak wspomnieliśmy wcześniej — algorytm Tindera promuje nowe osoby, ale też te, które dodały nową informację do profilu. Tinder zwraca także uwagę na ilość dodanych zdjęć, ale też częstotliwość używania aplikacji.

Im częściej używam aplikacji, tym więcej zobaczymy profili, które będziemy mogli poddać ocenie. Tak samo jest z lajkami: im częściej je dajemy, tym częściej nasz profil będzie pokazywany innym (tutaj ważne zastrzeżenie: najlepiej pozytywnie oceniać od 30% do 70% pokazywanych profili). Na atrakcyjność naszego profilu (czyt. podwyższenie oceny w ELO score) wpływa także to, czy wysyłamy wiadomości do innych użytkowników. Tinder zachęca do tego.

Kogo widzimy najpierw?

Na początku tego artykułu wspomnieliśmy o tym, że Tinder pokazuje profile innych opierając się na naszych ocenach. Kogo jednak pokazuje najpierw, gdy dopiero co się zarejestrowaliśmy i uzupełniliśmy profil? Przecież nie wie jaki typ profilu może nam się spodobać. Nie wie też, czy jesteśmy wybredni, czy też nie. Rozwiązanie jest proste: Tinder na początku pokazuje wysoko ocenione profile, oczywiście użytkowników z naszej okolicy. Robi to tylko po to, by pokazać nowemu użytkownikowi, że pobranie aplikacji to był dobry wybór. Dopiero na podstawie pierwszych ocen — i otrzymanych pierwszych ocen od innych — pokazuje kolejne profile.

Podsumowanie

Tinder to idealna aplikacja, która pokazuje, że dane dotyczące użytkowników warto wykorzystywać. Szczególnie, gdy chodzi o tak ważne sprawy, jak znalezienie osoby, z którą chcemy spędzić trochę czasu. Nowy algorytm sprawił, że nie opłaca się już lajkować wszystkie profile, a w celu zahamowania tego haniebnego procederu Tinder ustalił dzienny limit polubionych profili (wynosi on 2 tys.). Zdaniem jego twórców: rzadsze lajkowanie przyniesie lepsze profile.

Mamy nadzieję, że zainteresował Was artykuł o tym, jak działa algorytm Tindera. Polecamy nasze inne teksty z serii Jak to działa, z których dowiecie się, jak działają: Netflix, Spotify, Instagram i Dropbox.

Patronujemy

 
 
Polecamy
Doświadczenie wyniesione z migracji systemów informatycznych