все форумы все темы добавить тему
Обсуждение рейтинга
Пришло время немного поговорить о том, что позволяет двум благородным донам измерить, кто же из них благороднее. Речь, конечно же, о рейтинге.
Прежде всего, следует заметить, что не существует универсальной, а тем более - идеальной, системы рейтинга. Для каждого проекта и аудитории нужен свой рейтинг. Более того, даже для одного проекта в разные периоды его существования рейтинг нужен разный.
 
Тем не менее, необходимо некоторое решение, которое бы позволило корректно работать в большом количестве, а лучше - в подавляющем большинстве случаев.
 
Сегодня многие (если не все) пытаются копировать систему рейтинга действующую на Хабрахабре. Система состоит из двух показателей. Один показывает (точнее, должен показывать) отношение к пользователю сообщества, другой - оценку сообществом контента, произведенного пользователем. Система замечательная, но мне она не нравится. И в первую очередь не нравится наличием двух несвязных показателей. Я понимаю для чего они введены, понимаю какие они дают рычаги для управления и, тем не менее, считаю систему неочевидной и неудобной. Больше всего мне не нравится необходимость голосования за пользователя. В результате чего должно происходить это голосование? В результате вдумчивого анализа поведения пользователя на сайте? Или просто можно проголосовать за пользователя с симпатичной аватаркой? Я все же придерживаюсь мнения, что рейтинг пользователя должен состоять из того, что пользователь сделал. То есть рейтинг пользователя должен состоять из суммы рейтинга произведенного им контента.
 
Вторым важным моментом я бы назвал защиту рейтинга. Причем, не только от злоупотреблений (хотя, они наиболее ярко отражают проблему), но и просто от перекосов связанных с особенностями сообщества. Например, рейтинг должен быть устроен таким образом, чтобы его невозможно было бесконечно поднимать внутри закрытой группы.
 
На основании вышеизложенного, я сформулировал несколько требований:
1. Рейтинг должен состоять из суммы рейтингов контента, произведенного пользователем. Понятно, что комментарий нельзя приравнивать к статье или посту в форуме. Каждый тип контента должен иметь свои коэффициенты.
2. Больший рейтинг должен давать больший вес голоса его обладателю.
3. Вес голоса не должен расти линейно. Пользователь с рейтингом 1000 не должен иметь возможности одним ударом увести рейтинг новичка в бездонный минус. Зависимость должна быть логарифмическая или приближенная к ней.
4. Для исключения роста рейтинга в замкнутой группе должно быть введено ограничение на количество передаваемого рейтинга, либо на количество голосов.
То есть один пользователь не может проголосовать за другого больше N раз или передать другому больше K рейтинга (еще не знаю какой из вариантов лучше). Точнее, проголосовать-то он может, но после достижения указанных порогов, его голос не должен прибавлять рейтинг.
5. Развитие мысли высказанной в п.4: вероятно, ограничение на передаваемый рейтинг должно быть таково, чтобы один пользователь не мог дать другому достаточное количество рейтинга для участия в голосовании. То есть чтобы нельзя было в одиночку создавать и "прокачивать" армии витруалов.
 
При этом остаются вопросы:
1. не слишком ли при такой системе получается высокий порог входа в сообщество на сайте?
2. не возникнет ли трудностей с набором рейтинга для сообществ малого размера?
3. надо ли ограничивать возможность пользователя голосовать (например, не больше M голосований за X часов)?
 
Собственно, на этом количество сформулированных мыслей заканчивается. Есть еще немного несформулированных, но ухватить их пока никак не получается
Может быть вы мне поможете в их поимке