Формула для сортировки / ранжирования товаров по их рейтингам пользователей - PullRequest
2 голосов
/ 21 декабря 2010

Я пытаюсь получить достойный алгоритм сортировки для моей базы данных товаров.Пользователи могут голосовать за свои продукты, используя оценки от 0 до 5 (.5 баллов также возможно, как 2.5).Моя структура таблицы в настоящее время выглядит следующим образом:

[ProductID] [Title] ... [NumberOfVotes] [TotalPoints] [FinalScore]

Всякий раз, когда пользователь голосует, я вычисляю финальный балл, используя очень простую формулу, например (TotalPoints / NumberOfVotes) = FinalScore.

Затем я сортирую таблицу в FinalScore и NumberOfVotes.

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

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

Как это можно сделать?

Ответы [ 2 ]

3 голосов
/ 21 декабря 2010

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

"Оценка = нижняя граница доверительного интервала оценки Вильсона для параметра Бернулли"

кажется пугающей, но пост содержит псевдокод и четкое объяснение.

1 голос
/ 21 декабря 2010

Вы можете использовать медиана , что часто является лучшим показателем, чем среднее значение. Кроме того, вы можете отказаться от оценки любого предмета, имеющего, скажем, менее пяти голосов.

...