О том, как гипербола помогла придумать новую систему рейтингов (гипербола, рейтинг)
Здравствуй.
Мой дорогой читатель, сегодня я поделюсь с тобой идеей, которую ты сможешь использовать в своих проектах совершенно бесплатно, хотя я буду рад благодарности в любой форме.
Последние несколько постов я рассуждал о системах рейтингов и в первой заметке на эту тему была система +1/-1. Очень простая для понимания, от того любимая многими. Я хочу улучшить ее, а точнее улучшить алгоритм подсчета. Визуально для пользователя ничего не изменится, он по прежнему будет иметь на выбор два варианта «+» либо «-».
Итак начнем. Для начала договоримся об одной условности — нередко встречаются топики у которых количество плюсов или количество минусов несравненно выше средних показателей. Это конечно приятно их авторам но совершено бесполезно для разработчиков и пользователей. Куда проще ввести абсолютный плюс и абсолютный минус, достичь которые крайне сложно, но каждый из топиков стремится к одному из них постоянно.
Итак пусть в нашей системе обсолютный плюс это «+100», а обсолютный минус это «-50».
Теперь договоримся о следующем — каждый плюс или каждый минус несет в общую сумму разные значения, которые вычисляются в зависимости от того какой человек по счету поставил оценку. То есть, чем позже человек голосовал тем меньше его голос учитывается. Это спасет нас от эффекта толпы.
Формула расчета очень проста. За первый плюс оценка «+50», за первый минус «-25», за второй плюс — «+25», за второй минус — «-12,5». И так далее, каждый раз оценка уменьшается в двое.
К чему это приведет — у каждого топика существует свой предел вокруг которого оценка и пляшет. В принципе задать оценку любого топика можно последовательностью из плюсов и минусов. Так например последовательность «++-± — -±+++++» будет равна 51,36 с копейками (тысячные можно и не учитывать), а ее противоположность «- -±+++-± — — — -» равна 46,97.
Почему такая небольшая разница? В первой последовательности количество плюсов в два раза больше количества минусов, а во второй наоборот, а разница не большая, даже не ушла в минус, почему?
Потому что это совершенно другая система. Она немного должна изменить психологию пользователя. Один плюс дороже многих минусов. Хотя один минус уже не даст топику высоко взлететь, сколько бы плюсов за него не поставили.
Примеры (скажу по секрету, в последовательности важно количество плюсов, а не на каком месте они стоят):
«- — — — -» — -48.43, «± — — -» — 1.56, «++- — -» — 31.25, «- -+++» — 50, «-++++» — 71.87, «+++++» — 96.87
Система не идеал, нужно еще работать над вычислением шага который сейчас равен 50/n (возможно стоит вплести сюда логорифм, чтобы падение было планым), но уже сейчас видны приемущества в виде победы над «эффектом толпы».
Буду рад прочитать любые замечания и предложения.
P.S. и кстати, ты знаешь причем тут гипербола? ;)
И еще
Все о кредитах — читай;)
А что имеется в виду под эффектом толпы?
Ravall, эффект толпы это когда пользователь видит что статья имеет большое количество плюсов и автоматически ставит тоже плюс, хотя он может быть и не считает статью достойной плюса.
Взять в пример Хабр (как пожалуй самый известный ресурс с системой +/-) — статья с трудом и скрипом идет на главную, но появившись там и набрав достаточное количество плюсов имеет все шансы (при удачной фазе луны (это почти не шутка)) получить еще очень и очень много «не очень то и заслуженных» плюсов.
То же самое и с минусами.
В эффект толпы я бы еще включил фактор, когда пользователь прочел статью и захотел отметить ее оценкой, но увидев что статья уже набрала немеренное количество оценок — то он просто-напросто не будет ее оценивать, внутренне понимая, что его оценка не изменит погоды.
В вашем подходе вы наоборот — снижаете значимость большого количества комментариев. И опять таки — пользователь увидев большое количество оценок — не захочет оценивать статью — все-таки в вашей гиперболической системе вес каждой оценки существенно низок при большом количестве оценок.
Мне кажется нужно поменять в корне саму систему оценивания. У меня есть мысли на эту тему — но еще не оформленные.