
Мой хобби-проект - Fast Food Memes bot
Пришло время рассказать про мой хобби проект. Может быть вы слышали про Fast Food Memes бота😄 , который делает Даня. Бот рекомендует мемы в формате тиктока: вы получаете мем и ставите лайк или дальше. Я присоединился к проекту улучшать систему рекомендаций. Мне хотелось пощупать новую задачу и получить опыт с рекомендациями, отличающимися от моей работы в Авито.
Первые неудачи
На момент старта в боте работало несколько алгоритмов, которые основывались на ранжировании по лайк рейту мемов (средний процент лайков). Первоначальной идеей было обучение коллаборативной фильтрации на лайк рейт. Это когда вам рекомендуют мемы, которые понравились пользователям, похожим на вас. Однако этот и другие подходы по оптимизации лайк рейта не дали результата на тестах😕
Причина
Оказалось, пользователи лайкают по-разному и лайк не значит "нравится". Кроме того, в боте есть супер-юзеры, которые смотрят мемы сотнями в день, когда большинство пользователей набирают всего 20-30 мемов. Относительным успехом было небольшое улучшение холодного старта за счет удаления из датасета супер-юзеров.
Как получилось совершить прорыв
В какой-то момент я придумал алгоритм сглаживания лайк рейта. Это позволило увеличить DAU бота на 12%🔝 .
Сглаженный лайк рейт делает поправки на средний лайк рейт юзера. Если юзер постоянно лайкает, его лайк учитывается с маленьким весом. А если лайкает редко, то наоборот с большим. Выглядит несложно (ссылки на код раз два), но нужно было понять куда ударить молоточком👷 и на это у меня ушло достаточно много времени.
💎 Выводы
ML могуч, но просто так не дает эффекта. Нужно глубоко понимать природу данных, поведение пользователей и конечно много смотреть выдачи. Теперь уже можно добавлять в рекомендации коллаборативный движок
Бонус для аналитиков. Я считал статзначимость теста бустрепом. Делюсь ноутбуком, где вы можете посмотреть пример, как это делается. Если будут вопросы, спрашивайте!
#tech
Пришло время рассказать про мой хобби проект. Может быть вы слышали про Fast Food Memes бота
Первые неудачи
На момент старта в боте работало несколько алгоритмов, которые основывались на ранжировании по лайк рейту мемов (средний процент лайков). Первоначальной идеей было обучение коллаборативной фильтрации на лайк рейт. Это когда вам рекомендуют мемы, которые понравились пользователям, похожим на вас. Однако этот и другие подходы по оптимизации лайк рейта не дали результата на тестах
Причина
Оказалось, пользователи лайкают по-разному и лайк не значит "нравится". Кроме того, в боте есть супер-юзеры, которые смотрят мемы сотнями в день, когда большинство пользователей набирают всего 20-30 мемов. Относительным успехом было небольшое улучшение холодного старта за счет удаления из датасета супер-юзеров.
Как получилось совершить прорыв
В какой-то момент я придумал алгоритм сглаживания лайк рейта. Это позволило увеличить DAU бота на 12%
Сглаженный лайк рейт делает поправки на средний лайк рейт юзера. Если юзер постоянно лайкает, его лайк учитывается с маленьким весом. А если лайкает редко, то наоборот с большим. Выглядит несложно (ссылки на код раз два), но нужно было понять куда ударить молоточком👷 и на это у меня ушло достаточно много времени.
ML могуч, но просто так не дает эффекта. Нужно глубоко понимать природу данных, поведение пользователей и конечно много смотреть выдачи. Теперь уже можно добавлять в рекомендации коллаборативный движок
Бонус для аналитиков. Я считал статзначимость теста бустрепом. Делюсь ноутбуком, где вы можете посмотреть пример, как это делается. Если будут вопросы, спрашивайте!
#tech