Как Badoo связал миллионы людей, изменив алгоритм рекомендаций

Тимур Гарифзянов, Product Lead Magic Lab (Badoo, Bumble and others), рассказал, как менялся алгоритм рекомендательной системы Badoo и как это помогло сгенерить миллионы матчей.

Почему решили изменить привычный алгоритм

Как любая крупная компания, мы хотим стать ещё больше. Как одно из направлений решили изучить a-ha-моменты пользователей. Оказалось, ретеншн значительно выше, когда пользователь получает первый матч — находит взаимную симпатию.

Если пользователь в первый день не получал матч, он с меньшей вероятностью возвращался обратно в продукт. Мы решили копнуть глубже эту метрику: как драйвить её, увеличивая количество людей с одним матчем и с помощью этого сделать так, чтобы меньше людей уходило из продукта.

Если пользователь в первый день не получал матч, он с меньшей вероятностью возвращался обратно в продукт.

Очевидным способом казалась оптимизация алгоритма. Однако тут возникли проблемы. Алгоритм годами накапливал изменения, подстраиваясь под динамично развивающийся продукт. К сожалению, часть знаний, почему те или иные решения приняты, были утеряны.

Вдобавок к этому рекомендательная система играет основополагающую роль в экосистеме Badoo, на ней завязано многое. Предсказать, как изменения отразятся на всей экосистеме, не имея полных знаний, — сложно. Так оказалось, что единственным правильным решением будет переписать весь алгоритм с нуля.

Как тестировали изменения

Достаточно быстро мы поняли, что A/B-тесты нам не помогут, так как не получалось выделить контрольную группу или изолировать часть людей. К тому же всё это не дало бы ответов, как это повлияет на экосистему в целом.

Вместо этого мы нашли отличную систему Casual Impact, которая показывает, как метрика будет себя вести, если изменений не будет, используя соседние страны и исторические данные.

Так как все страны сильно отличаются, у нас возник вопрос, как построить процесс так, чтобы не получилось, что что-то сработало в одной стране, а при запуске в других странах там это не работает.

После нескольких итераций выбрали такой подход: взяли несколько метрик, которые непосредственно влияют на наш алгоритм — как много мужчин и женщин, процент использования приложения, процент payer-ов и средний возраст. Разделили страны на три сегмента, например, условно в Аргентине у нас довольно много людей и они достаточно хорошо платят, а в Белоруссии не очень много людей, но зато есть хорошее соотношение.

Далее разделили страны на три группы и смотрели, в каких странах эксперимент работает одинаково. Например, будучи уверенными, что эксперимент в Аргентине и в Швейцарии будет работать примерно одинаково, не факт, что он сработает в России.

Будучи уверенными, что эксперимент в Аргентине и в Швейцарии будет работать примерно одинаково, не факт, что он сработает в России.

Тестили каждую группу: если в одной группе эксперимент был успешным, переходили на другую. И только после того как эксперимент давал отличные результаты во всех группах — раскатывали его глобально.

Результат

Благодаря тому, что мы переписали алгоритм, мы получили гибкую, контролируемую систему: каждый эксперимент задокументирован, изменения предсказуемы. В итоге мы можем быстро запускать и анализировать изменения.

Через несколько итераций мы оптимизировали нашу основную метрику — на 50% больше людей у нас получают матч в первый же день пользования продуктом.

За 2018 год это позволило нам сгенерить — 2,7 млрд матчей.

А совсем скоро, 14 октября, на конференции про рост продуктов Epic Growth Conference Тимур расскажет, как команда строит и развивает систему матчинга, какие есть подводные камни и про особенности тестирования таких систем.

Больше докладов по продуктовому маркетингу — в Telegram-канале.

0
24 комментария
Написать комментарий...
Виталий Воробьев

Интересно было бы увидеть статистику без учета ботов ;)

Ответить
Развернуть ветку
Timur Garifzyanov

Мы не используем ботов, если вы про это. У нас есть отдельная команда которая борется с любыми аккаунтами так или иначе нарушающими правила, эти аккаунты в статистике мы не учитываем

Ответить
Развернуть ветку
бонч

"У нас нету ботов" "Мы не парсим фотки".

Я вам поверил, особенно когда наткнулся на семейные фотографии мёртвой пары:) 

Не говоря о фотографиях девушек/парнях, которые про баду/тиндеры вообще не слышали.

Ответить
Развернуть ветку
Ринат Г.

Да с появлением stylegan в этом смысла нет. Сейчас спокойно можно нагенерить каких угодно фоток. 

Ответить
Развернуть ветку
Timur Garifzyanov

Использование чужих фото как раз нарушает правила нашего сайта. Для борьбы в том числе с такими профилями мы используем фото верификацию. Мы рассказывали про нее например тут https://techcrunch.com/2016/03/25/badoo-launches-photo-verification-for-safer-more-efficient-online-dating/?guccounter=1&guce_referrer_us=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_cs=nFzLwujj6PIB9fOS1vDXcQ. Но иногда такие профили проскакивают через фильтр, вы можете на них пожаловаться и наша служба поддержки отреагирует

Ответить
Развернуть ветку
бонч

Особенно остро данная корреляция видна в местах где баду мало кто пользуется, например в отдаленных регионах и городах на 100к населения, просвайпал 10-20 реальных анкет и потом понеслись фейки:))  

Ответить
Развернуть ветку
Vitold S.

Да ладно недавно видел фотки подруги времен института, а сейчас серьезная дама с двумя детями. Говорит что не размещала и вообще нахер надо ...

Ответить
Развернуть ветку
iu ui

может вы это делали, но если пользователя не лайкнули, можно использовать другую фотографию этого пользователя и показать его повторно через какое то время. Таким образом увеличивая вероятность матча между пользователями .

Ответить
Развернуть ветку
Artemiy Shlesberg

Офтоп:
Объясните мне смысл приема повторять цитату отдельно крупно. Почему нельзя выделить ее прямо в тексте? Хорошо ещё не как у некоторых: повторяют ее вообще отдельно от контекста.

Ответить
Развернуть ветку
Павел

Другими словами, алгоритм должен найти золотую середину между тем, чтобы подсунуть идеального партнера, и тем, чтобы оставить его в одиночестве. В обоих случаях люди уходят из продукта, поэтому им нужно давать ложную надежду :)  

Ответить
Развернуть ветку
Вадим Колосов

Реальную женщину можно в Badoo найти? 

Ответить
Развернуть ветку
Timur Garifzyanov

Вадим, все женщины на Баду реальные 

Ответить
Развернуть ветку
Вадим Колосов

Спасибо! 

Ответить
Развернуть ветку
Tural M

можно, давно не заходил в приложение, зашел и удивился, как все удобно стало и люди живые, реально подтянули, по сравнению с Т, намного больше живых людей, еще и дали премиум в подарок)

Ответить
Развернуть ветку
Young Aggressor

Одаа, создал аккаунт что бы спросить это. Верю-верю. 

P. S. Такой же реальный, как и ваши женщины в баду 🤣

Ответить
Развернуть ветку
Анатолий Бочаров

Легко, я там много раз знакомился, не всегда все выходило как хотелось, но это уже совсем другая история))

Ответить
Развернуть ветку
Artyom Konakov

Чем чаще показываешь карточку юзера, тем выше вероятность лайка, далее того кто лайкнул добавляешь в колоду к новичку. Тот кто не новичок тусит в конце колоды и не ловит матчи пока не заплатит.

Ответить
Развернуть ветку
Timur Garifzyanov

У нас все сложнее. Мы не наказываем людей за то что они не платят, в статье как раз про это, если новичок не получает матчи он от нас уйдет

Ответить
Развернуть ветку
Artyom Konakov

А если не уйдет, мужиков больше чем женщин, глупо отрицать, что все просмотры достаются новичкам и старый юзер получает значительно меньше просмотров

Ответить
Развернуть ветку
Timur Garifzyanov

С другой стороны новых юзеров значительно меньше. Моя команда как раз занимается тем чтобы в системе был баланс. Старые юзеры, если они все еще активные получают не меньше просмотров чем новые

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Bust Rust

"Например, будучи уверенными, что эксперимент в Аргентине и в Швейцарии будет работать примерно одинаково"- не совсем понятно почему так?!

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Gosha Kornishin

Вы бы лучше объяснили почему приложения для девушек и парней (функционал) разный, что за дискриминация?

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Руслан Герасимов

СЗ-зло.

Ответить
Развернуть ветку
21 комментарий
Раскрывать всегда