Вот уже больше года WB считает рейтинг товара не просто средним арифметическим, а так, чтобы отзывы старше полугода влияли на него меньше.
Есть официальная информация, что для старых отзывов применяется т.н. "коэффициент затухания".
Есть формула этого коэффициента: coef_f = 100 ^ (−(diff − 182) / (730 × 1.5)), где diff - возраст отзыва в днях.
С исключением - для последних 15 отзывов по товару этот коэффициент не применяется.
Пробую повторить расчет. Впадаю в нечто между ступором и раздражением.
Кто-нибудь может подсказать, в какую именно формулу нужно подставлять этот коэффициент?
Результаты, которые получаются у меня при попытке выдумать расчет, не бьются с тем, что показывает по тому же товару WB. Собственно, мои на товарах с парой тысяч отзывов минимально отличаются от банального среднего арифметического, а WB показывает довольно заметную разницу в пару десятых.
knigaman, там в формуле не "+", а "÷" в оригинале.
Я, видимо, скопипастил формулу с Дзенов, где медиа-попки откукарекали, не думая.
Заменил в вопросе на "/" для наглядности.
Я, конечно, понимаю, что ИИ здесь не любят, но вдруг он прав на этот раз) Или может натолкнёт на верную мысль
Чтобы корректно рассчитать рейтинг Wildberries с учетом коэффициента затухания, следуйте алгоритму:
1. **Отсортируйте отзывы по дате** от новых к старым.
2. **Выделите последние 15 отзывов** — их вес всегда равен 1.
3. **Для остальных отзывов**:
- Если возраст отзыва (`diff`) > 182 дней, примените коэффициент:
**`coef_f = 10^(-(diff - 182) / (730 * 1.5))`**
(основание степени — 10, а не 100, чтобы избежать излишнего затухания).
- Если `diff` ≤ 182 дней, вес = 1.
4. **Рассчитайте взвешенную сумму**:
- Сумма оценок = (Сумма оценок последних 15) + (Сумма оценок остальных × их коэффициенты).
- Сумма весов = 15 + (Сумма коэффициентов остальных отзывов).
5. **Рейтинг = Сумма оценок / Сумма весов**.
**Пример**:
- Товар имеет 2000 отзывов: 15 новых по 5 звезд, 1985 старых (diff = 365 дней) по 1 звезде.
- Коэффициент для старых:
`10^(-(365 - 182) / 1095) ≈ 0.681`.
- Сумма оценок: `15*5 + 1985*1*0.681 ≈ 1427.39`.
- Сумма весов: `15 + 1985*0.681 ≈ 1367.39`.
- **Рейтинг ≈ 1427.39 / 1367.39 ≈ 1.044** (при среднем арифметическом 1.03).
**Почему могли возникнуть расхождения**:
- Использование основания 100 вместо 10 в формуле.
- Неверный учет условий применения коэффициента (только к отзывам старше 182 дней, не входящим в последние 15).
- Ошибки в расчете возраста отзывов (`diff`).
Почему-то он упрямо не хочет использовать 100 в основании
Aragorn, я так и считал. Для каждого следующего отзыва, если применяется коэффициент, в числитель добавляем рейтинг, умноженный на коэффициент, в знаменатель - сам коэффициент. Не сходится.
Есть, конечно, шанс, что мы просто считаем по разным данным (у меня - накопленные по API отзывы, у ВБ - с учетом удаленных или с захватом тех, с которыми товар объединяется), но не зная точно их методики расчета - все превращается в гадание на гуще.
Adamos, а в какую сторону у вас результат отклоняется - в большую или меньшую?
P. S. Может дали бы эти ваши данные по API, а то самому лень этим заниматься
Aragorn, у меня отклоняется в сторону среднего арифметического без всяких премудростей.
Собственно, без серьезных отличий оценок именно в последние полгода оно и не должно особенно отклоняться.
Но при среднем арифметическом за 730 дней, например, 4,84 - ВБ у этого товара показывает 4,6.
В общем, я сильно подозреваю, что дело не в математике, просто хотелось быть в этом уверенным.
Adamos, может с этим связано? Хотя тут про 15 апреля говорится
С 15 апреля маркетплейс обновит систему формирования рейтинга товаров. В ней перестанут учитываться нерелевантные отзывы, а также первоначальные версии комментариев о товаре, которые покупатель позже дополнил. Об этом Справочной сообщила пресс-служба Wildberries & Russ.
Как будет работать новая система: в рейтинге не будут учитываться не относящиеся к продукции отзывы. Например, о долгой доставке товара или большой очереди при получении покупки в пункте выдачи. При этом такие отзывы как и раньше будут видны другим пользователям.
Если покупатель сначала поставил оценку, а потом решил её изменить, то будет учитываться только последняя версия. Первоначальный отзыв не попадёт в рейтинг.
Aragorn, мне такие новости говорят об одном - на расчет рейтинга по накопленным данным можно забить вовсе. Изволь загрузить всю историю в ее состоянии на текущий момент, невзирая на лимиты. Гроб, короче.
Главное, я бы и не маялся расчетами, давай ВБ текущий рейтинг нормально через API. Хоть со страниц выковыривай...
Aragorn, страницы WB собираются скриптами из JSON, подтягиваемых с сайта.
Ценник, например, можно получить по конкретной ссылке без всякого парсинга.
Правда, в этой ссылке нужно передать ПВЗ, цена зависит от географии.
Насчет рейтинга - не изучал, не знаю.
Для моей цели - инструмента работы с маркетплейсами, заточенного под продавца, в отличие от универсальных личных кабинетов - такая возня крайне нежелательна.
Adamos, ну у вас в формуле возведение в дробную отрицательную степень и от точности показателя степени сильно зависит результат и он точно дробный, возможно просто потом у результата хвост откидывается.