Как 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-канале.
Интересно было бы увидеть статистику без учета ботов ;)
Мы не используем ботов, если вы про это. У нас есть отдельная команда которая борется с любыми аккаунтами так или иначе нарушающими правила, эти аккаунты в статистике мы не учитываем
"У нас нету ботов" "Мы не парсим фотки".
Я вам поверил, особенно когда наткнулся на семейные фотографии мёртвой пары:)
Не говоря о фотографиях девушек/парнях, которые про баду/тиндеры вообще не слышали.
Да с появлением stylegan в этом смысла нет. Сейчас спокойно можно нагенерить каких угодно фоток.
Использование чужих фото как раз нарушает правила нашего сайта. Для борьбы в том числе с такими профилями мы используем фото верификацию. Мы рассказывали про нее например тут 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 реальных анкет и потом понеслись фейки:))
Да ладно недавно видел фотки подруги времен института, а сейчас серьезная дама с двумя детями. Говорит что не размещала и вообще нахер надо ...
может вы это делали, но если пользователя не лайкнули, можно использовать другую фотографию этого пользователя и показать его повторно через какое то время. Таким образом увеличивая вероятность матча между пользователями .
Офтоп:
Объясните мне смысл приема повторять цитату отдельно крупно. Почему нельзя выделить ее прямо в тексте? Хорошо ещё не как у некоторых: повторяют ее вообще отдельно от контекста.
Другими словами, алгоритм должен найти золотую середину между тем, чтобы подсунуть идеального партнера, и тем, чтобы оставить его в одиночестве. В обоих случаях люди уходят из продукта, поэтому им нужно давать ложную надежду :)
Реальную женщину можно в Badoo найти?
Вадим, все женщины на Баду реальные
Спасибо!
можно, давно не заходил в приложение, зашел и удивился, как все удобно стало и люди живые, реально подтянули, по сравнению с Т, намного больше живых людей, еще и дали премиум в подарок)
Одаа, создал аккаунт что бы спросить это. Верю-верю.
P. S. Такой же реальный, как и ваши женщины в баду 🤣
Легко, я там много раз знакомился, не всегда все выходило как хотелось, но это уже совсем другая история))
Чем чаще показываешь карточку юзера, тем выше вероятность лайка, далее того кто лайкнул добавляешь в колоду к новичку. Тот кто не новичок тусит в конце колоды и не ловит матчи пока не заплатит.
У нас все сложнее. Мы не наказываем людей за то что они не платят, в статье как раз про это, если новичок не получает матчи он от нас уйдет
А если не уйдет, мужиков больше чем женщин, глупо отрицать, что все просмотры достаются новичкам и старый юзер получает значительно меньше просмотров
С другой стороны новых юзеров значительно меньше. Моя команда как раз занимается тем чтобы в системе был баланс. Старые юзеры, если они все еще активные получают не меньше просмотров чем новые
Подтяните безопасность лучше.
https://rt-solar.ru/events/news/1699/
"Например, будучи уверенными, что эксперимент в Аргентине и в Швейцарии будет работать примерно одинаково"- не совсем понятно почему так?!
Комментарий удален модератором
Вы бы лучше объяснили почему приложения для девушек и парней (функционал) разный, что за дискриминация?
Комментарий удален модератором
СЗ-зло.