Рекомендательная система за 5 недель: как Туту обошлась без Feature Store с Kafka и MongoDB
В идеальном ML-мире рекомендательную систему проектируют полгода: строят Feature Store, настраивают пайплайны данных, гоняют тяжёлые расчёты. В реальном бизнесе — 5 недель до высокого сезона, два инженера и задача: показать пользователю, купившему билет Москва–Сочи, отели именно в Сочи на те же даты. Команда Туту пошла на компромиссы и собрала RecSys v1 на стеке, который уже был в проде: Kafka, MongoDB, ClickHouse.
Главный вызов — контекст поездки. Коллаборативная фильтрация не знает ни города, ни дат, ни того, что заказ только что оплачен и ещё не попал в DWH. Поэтому контекст (куда, когда, с кем) задаётся явно до ранжирования. «Правильный» путь с Feature Store занял бы 4–6 месяцев, но бизнесу нужно было проверить гипотезу на живом трафике немедленно.
В результате получилась работающая v1 без иллюзий об идеальной архитектуре. Инженеры сознательно отказались от перфекционизма ради скорости — и успели к сезону. Кейс полезен всем, кто строит ML в условиях жёстких дедлайнов и ограниченных ресурсов.