Какие данные нужны для подбора поставщиков и что меняет масштаб
Есть исторические сделки, логи платформы, больше миллиона поставщиков и около 100 компаний-заказчиков. Какие данные использовать и как масштаб влияет на архитектуру?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Нужны поля заявки, профиль заказчика, профиль поставщика, исторические приглашения, ручные правки, bid/no-bid/ignore, победители и история сделок; миллион поставщиков требует retrieval stage перед ranker.
Полный разбор
Данные стоит разделить на сущности. Заявка: title, description, quantity, unit, category tree, close date, address, business unit. Заказчик: company, user, предпочитаемые поставщики, история, внутренние категории, география и ограничения. Поставщик: profile, categories, served regions, прошлые заявки, response behavior, win/bid history.
Логи процесса особенно важны: кого система показала, кого заказчик удалил, кого добавил, кому отправили приглашение, кто ответил bid/no-bid/ignore, кто стал победителем. Это дает не один label, а несколько сигналов релевантности и friction.
Масштаб больше миллиона поставщиков означает, что нельзя гонять дорогой ranker по всем. Нужен candidate generation: business filters, geo/category constraints, lexical search, vector search или precomputed candidate pools. Ranker работает только по top-N candidates и использует более богатые признаки заказчика, заявки и поставщика.
Теория
Большие retrieval/ranking системы почти всегда двухэтапные: дешевый recall-oriented retrieval, затем дорогой precision-oriented ranker. Логи exposure обязательны, иначе будет невозможно корректно обучать и оценивать model bias.
Типичные ошибки
- Забыть логировать показанных, удаленных и добавленных поставщиков.
- Предложить ранжировать миллион поставщиков одной тяжелой моделью online.
- Считать компании-заказчики однородными и не учитывать их локальные таксономии.
Как отвечать на собеседовании
- Сначала перечисли events, потом features.
- При словах "миллион поставщиков" сразу переходи к retrieval + ranking.