Разработка системы рейтинга продавцов маркетплейса
На маркетплейсе с 10 000 продавцов и сотнями отзывов в день простое среднее арифметическое не работает: пара фейковых отзывов искажает реальную картину. Поэтому мы разрабатываем систему рейтинга, которая учитывает не только звёзды, но и объективные метрики исполнения заказов — процент доставок, скорость обработки, отмены и возвраты. Покупатели принимают решение за секунды: товар у продавца с рейтингом 4.8 продаётся значительно лучше, чем тот же товар у продавца с 4.0. Если рейтинг не отражает реальность, доверие падает. Наша цель — дать честный и прозрачный механизм, стимулирующий качественную работу и защищающий платформу от манипуляций. В основе — многофакторная модель с различными весами и скользящее окно в 90 дней.
Составляющие рейтинга
Рейтинг не должен сводиться только к звёздочкам отзывов. Качественная система учитывает несколько параметров:
| Параметр | Вес | Источник данных |
|---|---|---|
| Средняя оценка отзывов | 40% | Таблица reviews |
| Процент успешных доставок | 20% | order_deliveries |
| Скорость обработки заказов | 15% | order_status_history |
| Процент отмен по вине продавца | 15% | order_cancellations |
| Процент возвратов | 10% | returns |
Итоговый рейтинг — взвешенная сумма нормализованных показателей, приведённая к шкале 1–5. Каждый параметр нормализуется по формуле Z-оценки или min-max. Это позволяет учитывать разную природу метрик и избежать доминирования одного фактора. Такой подход более стабилен и меньше подвержен манипуляциям, чем простое среднее.
Сбор отзывов: процесс и правила
Отзыв можно оставить только после подтверждения получения заказа. Это исключает отзывы от несостоявшихся покупателей. Форма отзыва:
- Общая оценка (1–5 звёзд)
- Оценки по параметрам: соответствие описанию, упаковка, скорость отправки
- Текст (опционально, с минимальной длиной)
- Фото к отзыву (загрузка через S3)
Напоминание об отзыве: push/email через 3 дня после доставки, повторное через 7 дней.
Модерация отзывов
Отзывы проходят автоматическую фильтрацию (нецензурная лексика, спам-паттерны) и могут быть оспорены продавцом. Продавец может ответить на любой отзыв — это публично видно покупателям и демонстрирует вовлечённость. Жалоба продавца на отзыв передаётся модератору. Основания для удаления: отзыв о другом товаре, содержит личные данные, явный фейк. Алгоритмы анализируют текст на предмет нецензурной лексики, спам-паттернов (повторяющиеся фразы, ссылки) и аномально низких оценок от новых аккаунтов. Сомнительные отзывы помечаются и отправляются на ручную модерацию. Продавец может оспорить отзыв, предоставив доказательства (скриншоты переписки, фото отправления).
Почему мы используем скользящее окно?
Рейтинг пересчитывается не в реальном времени (дорого), а по расписанию:
- Раз в час для активных продавцов (>10 заказов за 30 дней)
- Раз в сутки для остальных
Пример SQL-запроса для скользящего окна
SELECT seller_id, AVG(rating) as avg_rating, COUNT(*) as reviews_count, AVG(CASE WHEN status='delivered' THEN 1.0 ELSE 0.0 END) as delivery_rate FROM orders WHERE created_at >= now() - interval '90 days' GROUP BY seller_id Рейтинг считается скользящим: учитываются только последние 90 дней. Это защищает от «гниющего» прошлого и стимулирует поддерживать качество.
Какие последствия низкого рейтинга?
- Рейтинг < 4.0 — предупреждение в кабинете, товары ниже в выдаче
- Рейтинг < 3.5 в течение 30 дней — ограничение новых заказов, уведомление команды поддержки
- Рейтинг < 3.0 — автоматическая приостановка аккаунта до разбора ситуации
Это мотивирует продавцов исправляться, а не работать с плохим рейтингом годами.
Процесс разработки системы рейтинга
- Аналитика — сбор требований, анализ текущих метрик и архитектуры.
- Проектирование модели — расчёт весов, нормализация, логика пересчёта.
- Разработка API — создание эндпоинтов для отзывов, оценок и модерации.
- Панель администрирования — интерфейс для модераторов и менеджеров.
- Интеграция с очередями — обработка фоновых задач через Redis/Beanstalkd.
- Тестирование и документация — нагрузочное тестирование, Swagger/OpenAPI.
- Развёртывание — на вашем сервере или облаке.
Мы гарантируем, что система выдержит нагрузку до 100 000 отзывов в день без деградации. Для пиковых нагрузок (после распродаж) используется очередь задач на Redis и горизонтальное масштабирование worker-ов. Опыт команды — более 5 лет, реализовано 12 крупных проектов.
Что входит в работу
Разработка включает: проектирование модели, API для отзывов и модерации, панель администрирования, интеграцию с очередями, нагрузочное тестирование, документацию (Swagger/OpenAPI), обучение вашей команды, развёртывание на вашем сервере или облаке, а также поддержку в течение месяца после запуска.
Сравнение подходов: простая средняя vs взвешенная
| Характеристика | Простая средняя | Взвешенная (наша) |
|---|---|---|
| Чувствительность к спаму | Высокая | Низкая |
| Стабильность рейтинга | Низкая | Высокая |
| Прозрачность для продавцов | Средняя | Высокая |
| Защита от накруток | Слабая | Сильная |
Взвешенный рейтинг лучше отражает реальное качество сервиса и менее подвержен манипуляциям. Стоимость разработки зависит от сложности и масштаба — рассчитывается индивидуально. Многофакторная модель рейтинга признана индустрией как наиболее объективная.
Подробнее о принципах репутационных систем можно прочитать в Wikipedia.
Закажите разработку системы рейтинга для вашего маркетплейса — получите консультацию нашего инженера и примерную оценку сроков. Свяжитесь с нами, чтобы обсудить детали.







