Какова будет логика отображения элемента с самым высоким рейтингом?

#rating-system

#рейтинговая система

Вопрос:

Я хочу показывать товары на моем веб-сайте, отсортированные по их рейтингу. Я не хочу показывать элементы с самым высоким рейтингом по среднему значению рейтинга. Кто-нибудь может предложить какую-нибудь формулу для определения элемента с самым высоким рейтингом.

Комментарии:

1. Необходима дополнительная информация..

2. На каком языке, есть ли у вас база данных, какого типа и т.д. Пожалуйста, предоставьте дополнительную информацию

Ответ №1:

Вы могли бы взвесить средний рейтинг каждого товара по количеству людей, которые вошли в рейтинг. Это гарантировало бы, что элементы как с большим количеством рейтингов, так и с высоким средним рейтингом будут всплывать на вершину, а не просто элементы с единственным рейтингом.

 projectedRating = item.AverageRating * item.Ratings.Count
  

Кроме того, вы могли бы рассмотреть возможность нормализации этого, чтобы разница была только между, скажем, 1 и 100 применяемыми рейтингами.

 projectedRating = item.AverageRating * Max(item.Ratings.Count, 100)
  

Таким образом, подсчитанные голоса за элемент, даже с низким средним рейтингом, не будут постоянно попадать в топ.

Помимо этого, я думаю, вам нужно будет предоставить больше информации, на каком основании вы хотели бы указать, что элемент является элементом с самым высоким рейтингом. Также может быть вариантом общее количество просмотров по нему, отмечающее его как наиболее популярный.

Ответ №2:

Ваше определение оценки для элемента, вероятно, зависит от:

  • Средний рейтинг
  • Самый высокий рейтинг, самый низкий рейтинг
  • Количество оценок
  • Взвешивание по времени