Задать вопрос
@justabit

Рейтинг постов, пользователя и сила голоса при голосовании?

Добрый день!

Перечитали с коллегой кучу документаций и статей, принципов построения рейтинга\скоринга, но никак не можем придумать как организовать именно систему несколько более сложную чем +1 или -1 за пост. Опишу ниже смысл...

Пользователь регистрируется на сайте и изначально получает определённую силу голоса. Давайте это число будет 1. Тоесть, когда он хочет проголосовать за какую-то статью, то в рейтинг статьи пойдёт указанные выше +1 или -1. Но давайте пойдём дальше. Позже сам пользователь пишет статью и другие пользователи голосуют за его статью. В зависимости от этой статьи (ушла она в плюсы или минусы) пересчитывается сила голоса пользоватея и она уже не 1, а скажем 0.85 и в следующий раз когда он будет голосовать за чью-то статью, он может дать +0.85 или же -0.85. Естественно что у пользователя которому он отдал свой голос будет тоже пересчитываться сила голоса...

Чем лучше считать такие рейтинги? Например тот же "доверительный интервал Вильсона" не подходит ибо его значение не уходит выше 1 (или даже 0.99...), но в случае выше, пользователь может заработать силу голоса и выше чем 10 например.

Знаю что похожую схему используют на сайте joyreactor.cc/. Прошу помощи! Всем спасибо!
  • Вопрос задан
  • 34 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@jungle_mole
а что мешает "калибровать" силу голоса.
ну вот вы говорите "не уходит выше 1", так возьмите за 1 -- максимальный имеющийся рейтинг (или несколько "заведомо выше" максимального имеющегося, но это может и не понадобиться) и пересчитывайте остальные пропорционально.
чтобы юзеры не барагозили, когда максимальный имеющийся падает (и всем пересчитывается вниз), можно численное (представленное пользователям) значение его не менять, но подтягивать всех остальных немного вверх, если вы понимаете о чём я. но над этим уже потом думать, когда система немного наполнится и заживёт

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

вообще вопрос довольно интересный, но мне кажется у вас так сказать "ум за разум зашёл" в результате долгого обдумывания, не переусложняйте =)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы