#rating-system
#рейтинговая система
Вопрос:
Я хочу показывать товары на моем веб-сайте, отсортированные по их рейтингу. Я не хочу показывать элементы с самым высоким рейтингом по среднему значению рейтинга. Кто-нибудь может предложить какую-нибудь формулу для определения элемента с самым высоким рейтингом.
Комментарии:
1. Необходима дополнительная информация..
2. На каком языке, есть ли у вас база данных, какого типа и т.д. Пожалуйста, предоставьте дополнительную информацию
Ответ №1:
Вы могли бы взвесить средний рейтинг каждого товара по количеству людей, которые вошли в рейтинг. Это гарантировало бы, что элементы как с большим количеством рейтингов, так и с высоким средним рейтингом будут всплывать на вершину, а не просто элементы с единственным рейтингом.
projectedRating = item.AverageRating * item.Ratings.Count
Кроме того, вы могли бы рассмотреть возможность нормализации этого, чтобы разница была только между, скажем, 1 и 100 применяемыми рейтингами.
projectedRating = item.AverageRating * Max(item.Ratings.Count, 100)
Таким образом, подсчитанные голоса за элемент, даже с низким средним рейтингом, не будут постоянно попадать в топ.
Помимо этого, я думаю, вам нужно будет предоставить больше информации, на каком основании вы хотели бы указать, что элемент является элементом с самым высоким рейтингом. Также может быть вариантом общее количество просмотров по нему, отмечающее его как наиболее популярный.
Ответ №2:
Ваше определение оценки для элемента, вероятно, зависит от:
- Средний рейтинг
- Самый высокий рейтинг, самый низкий рейтинг
- Количество оценок
- Взвешивание по времени