Я пытаюсь получить достойный алгоритм сортировки для моей базы данных товаров.Пользователи могут голосовать за свои продукты, используя оценки от 0 до 5 (.5 баллов также возможно, как 2.5).Моя структура таблицы в настоящее время выглядит следующим образом:
[ProductID] [Title] ... [NumberOfVotes] [TotalPoints] [FinalScore]
Всякий раз, когда пользователь голосует, я вычисляю финальный балл, используя очень простую формулу, например (TotalPoints / NumberOfVotes) = FinalScore.
Затем я сортирую таблицу в FinalScore и NumberOfVotes.
Хотя это работает, это не совсем справедливо, поскольку продукт, который имеет только 1 голос из 5 звезд, может легко попасть в топ-рейтинг.
Я не очень хорош в статистике или алгоритмах, чтобы получить справедливый рейтинг продукта.Я ищу относительно простую для реализации формулу, которая более справедлива, чем метод, который я использую сейчас.
Как это можно сделать?