Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Система рейтинга для сайта


Автор: Vasay 19.6.2010, 01:14
Доброго времени!

Вообщем есть задача - придумать продвинутый алгоритм рейтинга юзеров сайта.

Ситуация такая - есть сайт, где юзеры могут писать статьи и комментарии к ним.

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

А текущий рейтинг пользователя вычислялся бы по рейтингу статей и комментариев юзера на сайте.


Посоветуйте алгоритм.  Изобретать велосипед не хочется.   

Автор: APXEOLOG 23.6.2010, 18:33
Оценка по 5тибальной шкале? Или просто некие абстрактные баллы? Я о таких не слышал так что придется изобретать smile

Автор: Vasay 23.6.2010, 21:48
Цитата

Оценка по 5тибальной шкале? Или просто некие абстрактные баллы? Я о таких не слышал так что придется изобретать


Даже не знаю как лучше.


интересно, как на Хабре сделано?

Автор: APXEOLOG 24.6.2010, 09:19
На хабре ни разу не был =) 
В принципе все что нужно - это составить формулу вида n * m для оценки, m - оценка (допустим по 100бальной шкале) где n - рейтинг вашего пользователя (в процентах) т.е. если рейтинг = 100 то полный вес оценки, если меньше/больше то соответственно штраф/бонус.
Текущий рейтинг соответственно преобразовывать в n  -  тут нужно уже смотреть по ситуации, смотря с какими числами вы хотите работать.
Естественно не обязательно выводить пользователю информацию о процентах, те же 100% можно представить на вывод как баллов и т.д. 
Имхо процентно-балловая система легче всего (в ней сложнее запутаться при создании), а уж каким образом представить эти данные пользователю это зависит от конкретной ситуации.

Автор: azesmcar 24.6.2010, 09:38
текущий рейтинг пользователя = avg(рейтих всех статей пользователя)
оценка пользователя = (сама оценка (допустим по 5-и бальной шкале) / 5) * текущий рейтинг пользователя

пример
статьи пользователья 1
статья 1 - рейтинг 4
статья 2 - рейтинг 5
статья 3 - рейтинг 3

текущий рейтинг пользователя = 4
допустим он оценил какую-то статью
на 5-ку
оценка пользователя = (5 / 5) * 4 = 4
на 4-ку
оценка пользователя = (4 / 5) * 4 = 3.2
на 3-ку
оценка пользователя = (3 / 5) * 4 = 2.4

и так далее
так пойдет?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)