Условие
Маркетплейс товаров с 10М листингов, но 70% — нерелевантные (старые цены, нет фото, плохие описания). Что важнее: ещё больше листингов или почистить существующие?
Решение
Quantity ловушка
Больше листингов = больше плохих листингов = хуже поиск = ниже conversion. После определённого порога добавление supply ухудшает продукт.
Quality scoring
Для каждого листинга — composite score:
quality_score = w1 × has_photo
+ w2 × description_length
+ w3 × completeness_of_attributes
+ w4 × seller_rating
+ w5 × historical_conversion
+ w6 × price_within_market_range
- w7 × days_since_last_update
Веса обучаются на target = «купят ли при показе».
Тиры
- A: full info, high conversion → буст в поиске.
- B: средний → normal.
- C: incomplete → демпинг в выдаче, push селлеру «улучшите».
- D: junk → деактивировать.
Auto-cleanup
-- Auto-deactivate
UPDATE listings
SET status = 'archived'
WHERE last_updated < now() - interval '180 days'
AND total_views_l30 = 0
AND quality_score < 0.3;Что делать с C-tier
- Пушить селлера улучшить (notification, in-app prompts).
- Готовые шаблоны (auto-completed описание, AI-генерация).
- Stub фото из catalog категории.
- Лимиты для новых селлеров (не больше N листингов в день).
Метрики после чистки
- Search-to-purchase conversion должен вырасти.
- Average position of clicked items — улучшилась ли релевантность.
- Seller revenue distribution — не убили ли мелких селлеров.
- Time to first sale для нового листинга — стал ли быстрее.
Trade-off
Чистка убивает листинги → возможные конверсии. Но bad listings теребят поиск → теряем больше конверсий, чем спасаем. На зрелом маркетплейсе чистка обычно даёт +5-15% conv.
Подводные камни
- Long tail: junk листинг продаётся раз в год, но именно когда нужно — продажа high-value. Не выбрасывайте слишком агрессивно.
- Survivorship bias: топ-листинги имеют historical conversion высокий, потому что они продавались. Новые без истории получат низкий quality score и не получат показов.
- Сезонные товары: новогодние товары летом — низкая активность, не junk.
- После cleanup селлеры жалуются — нужна прозрачность критериев и appeal.
- ML-quality модель должна переобучаться раз в неделю — рынок меняется.
Эталонный ответ
Quality > quantity после критической массы листингов. Composite quality_score → тиры (boost A, push B, demote C, archive D). Cleanup даёт +5-15% conv на зрелом маркетплейсе, но осторожно с long tail и cold-start.