Backend

Jak działa Tinder? Co się dzieje, gdy polubisz czyjś profil

Tinder

Dwadzieścia miliardów matchy, czyli połączeń między użytkownikami szukającymi drugiej połówki. To chyba najważniejsza informacja, która powoduje, że Tinder 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?

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.

Tinder – historia

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.

Tinder – 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.

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.

Tinder

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.

Tinder

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.

Tinder

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ć go 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 aplikacja 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. Oznacza to, że gdybyśmy nie dali jej lajka, nie miałaby szans sama znaleźć naszego profilu. Tinder zezwala jednak na przyznanie dowolnemu 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 połączyć ze sobą jak najwięcej osób, 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 nie wyświetlał już odrzuconej osobie 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. Twórcy postanowili, że 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ą lajkował osobę z nisko ocenionym profilem.

Ciekawostka: kupując płatną subskrypcję, 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 Tinderze?

Na to, czy ktoś pozytywnie oceni nasz profil, ogromny 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. Program zwraca także uwagę na ilość dodanych zdjęć oraz częstotliwość używania aplikacji.

Im częściej używamy 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 aplikacja 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.

Tinder – 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ć wszystkich profili, a w celu zahamowania tego haniebnego procederu, twórcy ustalili 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 również nasze inne teksty z serii Jak to działa, z których dowiecie się, jak działają: Netflix, Spotify, Instagram i Dropbox.

Artykuł został zaktualizowany 23.08.2022. Pierwotna data publikacji artykułu to 20.06.2018

Redaktor naczelny w Just Geek IT

Od pięciu lat rozwija jeden z największych polskich portali contentowych dot. branży IT. Jest autorem formatu devdebat, w którym zderza opinie kilku ekspertów na temat wybranego zagadnienia. Od 10 lat pracuje zdalnie.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://justjoin.it/blog/dziala-algorytm-tindera-zobacz-sie-dzieje-polubisz-kogos-profil" order_type="social" width="100%" count_of_comments="8" ]