Рейтинг и сила — как это должно работать

Выношу сюда стихийно возникшее обсуждение

И вот еще статьи по теме:
Механизм подсчета рейтинга и силы
Сила и рейтинг
Рейтинг юзеров и блогов

Опишу реализацию, к которой я склоняюсь:
1) Модуль рейтингования выделяется в отдельный плагин. Алгоритм подсчета — это отдельный разговор, он может быть какой угодно. Можно в стандартном комплекте движка два плагина поставлять — хабраподобный (потому что он уже есть), и простой (реализуется быстро и просто).
2) В конфиге плагина задавать: за что юзеры могут «лайкать», могут ли они «дизлайкать». Плюс могут задаваться какие-то доп.параметры (напр., «весовые коэффициенты и проч.)
3) Сами кнопки голосования за сущности — топики, юзеров, комменты и проч. — сделать в виде виджета. И вставлять этот виджет в шаблоне, где это нужно. Тогда внешний вид „голосовалки“ может легко изменяться в зависимости от конфигурации плагина, и сторонние плагины его тоже могут изменять. А если плагин рейтингования отключен, то эти кнопки вообще не будут выводиться.

Похожие статьи

  • Параметры расчета рейтинга топика при голосовании за него
    Параметры расчета рейтинга топика при голосовании за него — не работает , ставлю галачку сохраняю и после сохранения галачка пропадает !
  • Alto 1.1: Изменения в рейтинговой системе
    Спасибо большое всем кто принимал и принимает участие в обсуждении существующей в Альто рейтинговой системы. В ней, действительно уже назревали изменения и, было решено их воплотить в жизнь. Сразу скажу, что все...
  • Механизм подсчета рейтинга и силы
    Здравствуйте. Сегодня набрел на топик, решил отписать Автору, но объем не влез в комментарий. По ходу в excel-е наваялся калькулятор, который очень наглядно демонстрирует весь механизм и может помочь в подборе...
  • Сила и рейтинг
    Наверное ни об одной функции в движке нет столько тем, сколько есть о силе и рейтинге. Причина этому, как мне кажется очень спорная система начисления рейтинга и наличие непонятной для «не хабропользователей»...

33 комментария

+1
Для over 90% проектов достаточного простого рейтинга. Не гикам весьма сложно объяснить зачем нужна сила и формулу вычисления существующих на сегодня силы и рейтинга. Может быть стоит сделать простую систему рейтинга, а силу и все связанные с ней параметры в отдельный плагин, только для тех кому он нужен.

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

рейтинг < 100
1 голос + (статьи, в профиле) добавляет еденицу к рейтингу, минус отнимает еденицу.
1 голос + (комментарии, записи на стене) 0,5 к рейтингу, минус соотв. -0,5

Далее если в конфиге например указано (задает админ) у пользователя рейтинг 100 и более
1 голос + (статьи, в профиле) добавляет 2 еденицы к рейтингу, минус отнимает 2 еденицы.
1 голос + (комментарии, записи на стене) 1 к рейтингу, минус соотв. -1

Т.о рейтинг 100 говорит о том, что пользователь может использовать 2 голоса.

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

Опять же использование сотых в существующей системе рейтинга действует пугающе на обычных пользователей )

В конечном итоге владелец сайта сам определит, что использовать в качестве единицы измерения — рейтинг, лайки, сердечки, классы etc. Простая и в тоже время гибкая система покроет запросы большей части аудитории )
0
Поддерживаю, система похожая на лепру/д3. Силу к черту. А сила голоса зависит от рейтинга и соответствует некоему конфигу, рейтинг больше 100 сила равна 2, больше 1000 равна 5. Люди любят простые числа, без всяких непонятных сотых.

Так и проще и понятнее.
0
Мое мнение что по дефолту нужна система автоматического расчета рейтинга с весовыми коэффициентами (по такому же принципу как в формуле персчета рейтинга блогов). При этом можно учитывать

Для блога
— число подписчиков блога
— число комментариев топиков
— число просмотров топиков
— число добавлений в избранное
— время жизни блога
— …
Для юзера
— число созданных блогов
— топиков
— комментариев
— френдов
— …

весовые коэффициенты нужно иметь возможность настраивать в админке.

Насчет того чтобы упростить систему рейтинга до банального счетчика лайков… честно говоря уже не уверен. Раньше я был всеми руками и ногами за, а сейчас мне начинает казаться что в этом есть смысл. Ну любят люди замороченные системы рейтинга, особенно сделанные так что в них хрен разберешься =) Реально. Им важно чувствовать зачастую, что система умнее их, или что ее делали умные люди умнее их. В каком-то смысле… Плоская примитивная система применяется в частности в instantcms и некоторых форумах и выглядит это очень убого.

Другое дело что было бы неплохо придумать как трансформировать бездушные цифры во что-то прикольное. В статусы, в уровни, в касты, хз))) В подарки. Так чтобы плагином это можно было бы легко корректировать и делать РАЗНЫЕ системы. Вы кстати прикольную идею предлагали как-то в свое время с шкалой. У меня тогда тоже была похожая, но руки не дошли…

Кстати в новой версии ЛС читал что они упростили как раз и народ там весьма опечален сим фактом…
Отредактирован:
0
Насколько я помню на ls, только vOFFka возражал против простой системы рейтинга =) А вообще ее потому и упростили, что большинство юзеров долгие годы активно просили. Ну не объясните вы молодым мамочкам почему у одной 0,42, а у другой 0,56, а у автомобилиста любителя Сережи силы ноль ) Да и не нужно им заморачиваться — поставил плюс один и читает дальше )

А для ~ 10% гиков вполне подойдет плагин с силой и всеми прибамбасами )
0
Так они и не заморачиваются на самом деле.)) Просто знают что система как-то там считает и это зависит от голосов. Нет, простая система тоже конечно не плохо просто в моем понимании она вообще не нужна тогда. Пусть тогда просто автоматически рейтинг расчитывается и юзеры уж совсем не заморачиваются, за них все придумали, как на многих сайтах сделано.
+1
Вопрос в том, что юзеры привыкли к лайкам, сердечкам, классам… И отучать пользователей от общепринятого стандарта системы рейтинга — youtube, facebook, tvitter, vk, od и многих других, опасно для любого проекта. Человек не разобравшись, просто больше не прийдет.

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

Кстати с хабром это было интересно, потому что он был первым в своем роде сообществом гиков.
0
Со вторым утверждением полностью согласен. С первым полностью не согласен =) В этом и смысл — новые проекты должны предлагать что-то новое, необычное, иначе какой смысл пользователю уходить с тех же соцсетей, где все то же самое, только лучше, быстрее, и больше фич.

А насчет того что система рейтинга местами слишком перекручена или непродумана — я согласен. Но счетчик лайков все же убог еще больше.
+1
новые проекты должны предлагать что-то новое

В том то и дело, что система рейтинга с хабра, новой была только на хабре. На данный момент она просто неудачный клон с этого ресурса.

Но счетчик лайков все же убог еще больше


Веб 2.0 диктует свои условия — проще, легче, быстрее. А если я на своем проекте буду заставлять людей испытывать трудности с использованием сайта, они уйдут туда, где проще, легче, быстрее ))
0
В том то и дело, что система рейтинга с хабра, новой была только на хабре. На данный момент она просто неудачный клон с этого ресурса.

Насчет Хабра. Люди стали гнаться за формой — пытаться клонировать Хабр реализуя те же самые блоги, рейтинги и т.д. везде где только можно. Люди путают по сути задачу и инструмент который эту задачу решает.
Но как я уже говорил мне то кажется, что Хабр выстрелил совсем не поэтому что он мультиблоговая платформа, а потому что такая ниша для ИТшников существовала, а сделать можно было и на простом форумном движке. Пример — 4pda и другие успешные проекты.
Удачных проектов на ЛС-подобном функционале очень мало, но если брать еще глобальней, то вообще удачных проектов на чем угодно не много =)

Теперь насчет рейтинга, если абстрагироваться от Хабра то в этом рейтинге есть некий шарм, но он конечно должен быть уместен. Я очень хочу сделать один проект, но там этот рейтинг будет просто лишним. Этот и любой другой. Поэтому я и написал что нужно предлагать что-то новое. Но при этом считаю все же этот рейтинг интересней, чем счетчик лайков.

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

Принципиальной разницы если речь идет об учете нажатых плюсиков я не вижу, кроме того что понятные системы, типа счетчика лайков и спасибок людям быстро надоедают. Как и соцсети)) Если и там и там речь идет о нажатии плюсика или лайка, то в чем собственно трудности?
0
Принципиальной разницы если речь идет об учете нажатых плюсиков я не вижу, кроме того что понятные системы, типа счетчика лайков и спасибок людям быстро надоедают. Как и соцсети))

Ну пока судя по посещаемости yotube, facebook, vk — популярность соцсетей на текущий момент только растет )

Я и сама не очень люблю лайки, для меня идеальная и сбалансированная система — рейтинги youtube +1 -1. Здесь altocms.ru/965.html#comment17857 механизм, который я вижу, абсолютно всем он конечно не подойдет, но 90% проектов покроет запросто )

Сейчас у кого есть материальные возможности или знания выпиливают существующую систему и дорабатывают, а у кого нет — либо мирятся с таким положением дел или же ищут альтернативы.
0
Ну пока судя по посещаемости yotube, facebook, vk — популярность соцсетей на текущий момент только растет )

Это не совсем так =)
www.vedomosti.ru/tech/news/38531801/aktivnaya-auditoriya-facebook-snizilas-na-9-v-2014-g

Старички типа vk и fb превращаются просто в мессенджеры и хранилище контента… Сейчас на коне watsapp и telegram. youtube все-таки не соцсеть, хоть сейчас и прянято все соцсетями называть…
0
Просто watsapp (кстати принадлежит facebook) взял на себя часть функций того же facebook, а телеграмм соотв. вк. Но перешли на них только те, кто другими функциями и не пользовался — те же 10% пользователей. Таким образом «уплотнилась» целевая аудитория — люди, которым мало одной переписки остались, более того их количество увеличилось. Просто это стало незаметно из за аудитории ушедшей в мессенджеры.
0
А мне кажется люди наигрались в соц сети. Ну вернее как наигрались, с самого начала их роль была слегка преувеличена, просто на фоне взрывного роста посещаемости люди не заметили главного. Мое мнение что соц сеть вообще противоречит самой концепции Сети. В частности глупые попытки файсбука и вк ограничить анонимность и заставить пользоваться реальными именами. Мессенджер это и есть то чем они по сути являлись и являются.
Да про watsapp я в курсе =)
Отредактирован:
0
Свои 5 коп.
Не нада из крайности в крайность :) я ls=>alto нарыл как раз только из-за системы рейтингов… Вообще странно, что при всем буйстве технологий и социалок, до сих пор алгоритмы реагирования системы на поведение пользователей(лайки, оценки, голосования и тд) довольно таки примитивные и плоские… и вообще никак это поведение не влияет на (системный)статус самого пользователя…

Итого: систему рейтингов нада как развивать, так и упрощать, но в виде отдельных модулей.
И плоские лайки, и навороченные «ролевухи» :) — все по отдельным модулям — кому чего нада! Ляпота :)

Что по идеям, то у меня все вертится что-то типа старого доброго гуглевского PageRank. То есть какая то циферка, всегда конечная(0..10 например), но при расчете вместо ссылок(у PR) будут учитываться лайки, друзья и тд и тп… при этом, конечно, как и в случае с PR, учитывается «циферка» «ссылающегося» (друга, лайкующего и тд)… таким образом, система итеративная и постоянно будет обновляться… Идея сделать систему, где был бы какой то полностью автоматический статус/авторитет/рейтинг юзера — вообще по сайту или в группе… Но это отдельно нада наверное обсуждать… тут много неупорядоченных мыслей :)
0
и эта, на счет гиков: мечта конечно, чтобы для пользователя это было вообще прозрачно, и отражалось бы как 1 или несколько(в зависимости от сложности модуля) циферок… он просто сёрфит, голосует, лайкает, дружит и тд… а циферки считаются
Отредактирован:
0
Когда то мы уже обсуждали эту тему на livestreet, один человек даже реализовал.
mmozg.net сила здесь заменена энергией, но по сути выполняет совсем другие функции. За действия на сайте (комментирование, голосования, активность) человек получает энергию, которую потом можно тратить на дополнительные возможности не доступные простому пользователю. Похожая система была на news2. Это мотивирует пользователя к активности.

Знаете, в эпоху wap интернета у нас (моих старших друзей) был свой чат с викториной и «Умником». Пользователь, даже если никого не было в чате играл с Умником, а потом шел тратить заработанные баллы в рулетке или др. игре, т.о человек мог найти себе занятие и повысить свои показатели на сайте вне зависимости от того, есть ли другие пользователи онлайн, ну и конечно конкуренция — 10000 ответов в викторине это было круто ))). Очень быстро у нас было около 100 человек онлайн почти круглосуточно. Это был если не ошибаюсь 2002-3 год и один из первых wap чатов с викториной и играми )

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

P.S. aVadim , нельзя ли эту ветку обсуждения перенести в отдельный топик? )
0
Про мотивацию полностью поддерживаю. В этом смысле дополнительной мотивацией для кого то может стать просто расширение системы рейтингов, то есть кроме силы еще что-то, как в играх RPG. Сама туса может быть как игра RPG в том смысле, что участники обладают несколькими параметрами, и как то «прокачиваются» :) где то может какие то параметры даже монетизироваться могут…

У меня в фантазиях основное — система, чтоли, авторитета… не просто сила, которую можно потратить, а циферка, которая описывает значимость, важность, авторитетность этого юзера в системе(группе). Типа даже изначально отталкиваться что есть юзеры-боты или спамеры. Для таких тоже предусмотреть какую то позицию в системе. Ну и дальше какой то механизм «очеловечивания» — автоматика основанная на дейстивях пользователя и и действиях других связанных с этим пользователем… о как :) Если это не утопия, то в итоге можно такой параметр много где применять… вплоть до выборов президента :)
0
Вообще для серьезных проектов, где важна степень доверия к человеку, есть система репутации — рейтинговая величина, которая позволяет оценить авторитетность конкретного юзера. Это есть в ipb и в частности отлично реализовано на maultalk — здесь уровень репутации подтверждается комментарием и датой, за что и когда был поставлен плюс или минус. В вопросе доверия конкретному человеку, такой подход гораздо эффективнее анонимности.
0
Это в форумных движках серьезная рейтинговая система?? Да ну что вы такое говорите)) Любой форум с включенной репой быстро превращается в «хосис и днище» где все действия юзеров становятся направлены на повышение этого ЧСВметра, выпрашивание плюсов, обиды когда их не ставят, коллективное бессознательное минусование и прочие «социальные» игры. При том она никак не позволяет ранжировать качество содержимого и стимулировать именно качество контента. Политика приносит больше очков чем усердный труд.
(На самом деле любая рейтинговая система имеет такую отрицательную сторону, но это прямо наихудшая из возможных реализация помноженная на форумную стилистику)
Отредактирован:
0
На maultalk получилось сделать такое. Я говорю о том, что высокая степень репутации на этом форуме дает высокую долю вероятности, что этому человеку можно доверять и вас не обманут. В данном случае, это сравнимо с высоким BL и персональным аттестатом в webmoney. 100% гарантии разумеется никто не даст.

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

Как итог — на этом примере можно самостоятельно убедиться, что система работает, нужно только уметь правильно ей пользоваться.
0
Опять же система репутации — это только инструмент, а то как она будет работать и чем являться для пользователей, зависит от администратора и его талантов.
0
Да согласен.
+3
Ух, какая дискуссия :) И она только еще раз подтверждает мою мысль: рейтинг — это механизм, который должен легко настраиваться, заменяться на другой или вовсе отключаться. Alyona ратует за простой и понятный всем рейтинг, inliquid — за рейтинг с множеством весовых коэффициентов, но, как я понял, без силы, aleksanderd — за относительный рейтинг с учетом социального графа. И нет смысла пытаться все это совместить в одном программном модуле. Гораздо лучше сделать его заменяемым, т.е. — плагином.

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

В общем, тема это большая. И явно назревшая :)
+1
Немного уточню… Мне кажется было бы здорово иметь принципиальную возможность формирования рейтинга автоматически, на основе анализа различных показателей. При этом важно чтобы была возможность тонкого тюнинга этой системы. Итоговое значение рейтинга могло бы визуализироваться различным образом — как просто некое число, как число в диапазоне от 0 до 10 как предложил aleksanderd, или вообще в каком-то графическом представлении — на основании шаблонов, плагинов и т.д… Это не приципиально. В настоящее время рейтинг привязан по сути к одной величине — числу лайков (голосов), хоть и по замысловатой формуле. Т.е. на вскидку можно было бы считать некое значение рейтинга, например на основе весовых коэффициентов различных показателей — это как вариант, первое что приходит в голову. В итоге можно вообще пользователей не мучить никакими числами, но при этом ранжировать блоги, пользователей, топики, по этому внутреннему рейтингу, известному системе. И у владельца сайта будет множество возможностей по созданию своей собственной системы оценки и рейтинга.
Отредактирован:
0
В итоге можно вообще пользователей не мучить никакими числами, но при этом ранжировать...
Мне кажется, что в какие-то числа это все равно надо рядить (или в «звездочки», или в какие-то «попугайчики». Ибо юзеру не будет понятно, почему сегодня один блог выше в списке, а завтра — другой. Но это уже детали реализации. Главное, чтоб была сама возможность.
0
Если будет целочисленная система рейтинга, пользователь сам сможет кастомизировать в звездочки, сердечки и т.д. у себя на сайте.

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

Т.е. можно будет вывести этот виджет например на стену и можно будет оценивать записи на стене(избранное, в личных сообщениях, голосование за фото)? В этом случае возможности такой системы просто безграничны и новый simple рейтинг от ls уйдет в небытие ) Только один вопрос, будет ли возможность влияния этих виджетов на общий рейтинг пользователя?
+1
Возможны два варианта реализации:

1) В нужном месте шаблона вставляется код типа:
{widget id="vote" target="photo" target_id="123"}
И там выводится панелька с кнопками голосования непосредственно при рендеринге страницы на сервере.

2) Панелька может втыкаться яваскриптом в заданных местах.

Минус первого варианта в том, что чтобы добавить голосовалку к новой сущности (напр., к стене), нужно явно править шаблон в нужном месте. Но зато код отрабатывает на сервере и весь HTML-код генерится там.

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

Только один вопрос, будет ли возможность влияния этих виджетов на общий рейтинг пользователя?
В обоих вариантах при клике на кнопку +\- идет запрос на сервер и передается информация, кто проголосовал, за что. А там уж от алгоритма обработки запроса зависит, на что этот голос будет влиять, и от настроек плагина. Если нужно — будет влиять, не нужно — не будет.
0
Поддерживаю!

Вообще, можно саму задачу логически разделить на две основных — сбор статсов и их обработка, анализ, расчет конечных параметров. Ну и треться задача — вывод этого всего(виджеты, сниппеты и тд).

Так вот, развивая мысль inliquid про различные показатели, в модуль статсов(он как раз может быть inbox) по сути должен быть хуком(хуками) на все возможные действия в системе — не только очевидные лайки и тд. Пишется все что можно. Такое, кстати, могет пригодиться не только для рейтингов.

Ну а дальше эти статсы можно использовать в отдельном модуле рейтингов или чего угодно. Например, можно делать какие то выводы о пользователе или его постах, даже из паузы между ними…

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

Понятно что писать все в бд — затратно. Но это можно заоптимизировать(писать в времянку, а в бд скидывать периодически). Ну и все это настраивается и если не нада, то ради производительности отключается полностью или частично.
0
>> за относительный рейтинг с учетом социального графа
теперь я знаю как это называется :) спс :)
0
Перенес сюда ветку комментариев с обсуждением рейтинга и силы
0
1. Реализовать плагином, кому надо ставит, кому не надо не ставит.
2. Уровень сложности настраиваемый, или в одном плагине переключением, или отдельными плагинами, кому какой нужен, такой и ставит.
+1
Будет ли возможность, поставить рейтинг в стиле социальных сетей? То есть только "+1", «лайк», «мне нравится» и тп? Где рейтинг пользователя это просто количество "+1" к его постам. Очень хочется простую систему рейтинга. Или хотя бы как на youtube.
P.S. Сила не нужна.
+4
В общем, это бурное обсуждение стало причиной того, что в версии 1.1 рейтинг будет вынесен в плагин. Точнее, даже в два плагина: один со стандартным «хабраподобным» алгоритмом (т.е. это нынешний алгоритм, но в виде плагина с настройками в конфиге), и один с простым — без силы и с простым подсчетом плюсов/минусов. Или просто плюсов — это все в настройках задается.

Черновые версии плагинов уже на гитхабе (в ветке 1.1), более подробно будет рассказано в отдельной статье.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.