Имеем ситуацию:
Юзер с силой 6.52 и рейтингом 4.05 голосует за Блог, у блога рейтинг с 0 поднимается до 1.40, как бы нормально, но следующий юзер с силой и рейтингом 0 — даёт голосованием 1.13 рейтинга. Что же получается? Силы 6 и 0 баллов практически сопоставимы в итоговом весе рейтинга у блога.
Как человек с нулевой силой может влиять на рейтинг?
Вот что раньше писал ort.
25 комментариев
А еще он писал, что алгоритм можно посмотреть в модуле Rating, там можно любое соотношение задать. Другое дело, голосуй не голосуй, все равно получишь… непонятно о чем говорящий рейтинг блога.
1. Да, я помню про модуль, но пока не правил — решил отписаться здесь о не здравой, на мой взгляд, ситуации.
2. По поводу Вашего топика, да, я принимал там тоже участие в комментариях, а ответа от разработчика так и не увидели. Ситуация попрежнему не ясна с будующим рейтингом блогов?
касательно п.1:
Никакого нового алгоритма, насколько я помню, так и не было предложено… вот и остался текущий.
Кстати идея перенести коэффиценты подсчета рейтинга в конфиг имеет место быть:)
да тут не угадаешь, коэффициенты для хабра на этом сайте не подойдут, потому что на хабре можно написать 10 топиков и заработать NNN рейтинг и NN силу, а здесь придется создавать в десятки раз больше топиков и комментариев, чтобы заработать эти же цифры. значит для этого сайта должны быть другие коэффициенты…
Меня больше интересует есть ли какой-то функционал для пересчета рейтингов?
вот поменял я коэф, и как посмотреть насколько это повлияло на рейтинг в системе.
это фантастика, коэф-ты надо изначально задавать.
как ты себе представляешь пересчет рейтинга пользователю user1 скажем за топики?
user2 поставил + за топик user1 при силе 1
user2 поставил + за топик user1 при силе 2
user2 поставил + за топик user1 при силе 3
user2 поставил — за топик user1 при силе 4
user2 поставил + за топик user1 при силе 3
user2 поставил — за топик user1 при силе 3
***
user2 поставил + за топик user1 при силе 10
у нас есть тут специалиты по математическому моделированию?
мда, не получится, недостаточно данных для пересчета — нет даты каждого голоса, следовательно, мы не сможем определить силу пользователя в любой момент времени.
можно конечно добавить поле «skill» тогда будет пересчитываться на ура. но опять же, если изменить коэффициенты то изменится динамика skill… замкнутый круг…
но мне кажется что нужно делать такую возможность для откатов, живой пример пост про троля livestreet.ru/blog/410.html
пока идея как это все пересчитать в голове не утряслась. к табличкам с голосами добавлю себе время голоса. потом наверно сливаем все голоса во временную таблицу, указывая тип голоса, сортируем по дате и вперёд
да, именно нужно в таблицы topic_vote, user_vote, blog_vote, commebt_vote добавить поле user_voter_skill и записывать в него силу, с которой проголосовал user_voter, тогда можно будет откатить рейтинг
в любом случае нужен функционал для отката рейтинга в связи с деструктивными действиями пользователей. с какой стороны пересчитывать это уже будет решать тот кто это будет делать.
лазить в бд и исправлять каждый топик, каждого пользователя проблемно.
еще, как мне кажется, новому пользователю необходимо давать определенную силу с которой он может влиять на других. если его сила равна 0, то ни на что он повлиять не может.
«Юзер с силой 6.52 и рейтингом 4.05 голосует за Блог, у блога рейтинг с 0 поднимается до 1.40, как бы нормально, но следующий юзер с силой и рейтингом 0 — даёт голосованием 1.13 рейтинга. Что же получается? Силы 6 и 0 баллов практически сопоставимы в итоговом весе рейтинга у блога.»
так такая ситуация совершенно нормальная с теми настройками, которые присутствуют на этом сайте. Макс видимо предполагал, что нормальная сила должна быть 50-200, а вы говорите про 6. Мы пока что все новички на этом сайте и голоса у нас имеют практически одинаковую силу…
эти параметры задают наклон кривой, как быстро растет iDelta
я даже сделал себе xls файлик, в котором можно все менять и подганять по себя, пользуйтесь.
Поменял все формулы для расчета рейтинга и силы.
Основные особенности:
— изначально всем дана определенная сила (1)
— пользователь с силой 0 не влияет на силу пользователя за которого голосует.
— влияние на рейтинг другого пользователя происходит за счет рейтинга самого пользоватея (по-моему это логично) + небольшое влияние за счет силы (в начале у нас есть только сила)
— голос за топик дает четверть от голоса за пользователя
— голос за коммент дает десятую часть от голоса за топик
кто видит в данном подходе что-то неправильное — пишите, обсудим
добавил дату создания для каждого голоса и скрипт для пересчета всего рейтинга
если кому интересно, могу написать статейку
25 комментариев
2. По поводу Вашего топика, да, я принимал там тоже участие в комментариях, а ответа от разработчика так и не увидели. Ситуация попрежнему не ясна с будующим рейтингом блогов?
А, вы говорите про настройки на этом сайте… ясно, это к Максу :)
Никакого нового алгоритма, насколько я помню, так и не было предложено… вот и остался текущий.
Кстати идея перенести коэффиценты подсчета рейтинга в конфиг имеет место быть:)
вот поменял я коэф, и как посмотреть насколько это повлияло на рейтинг в системе.
как ты себе представляешь пересчет рейтинга пользователю user1 скажем за топики?
user2 поставил + за топик user1 при силе 1
user2 поставил + за топик user1 при силе 2
user2 поставил + за топик user1 при силе 3
user2 поставил — за топик user1 при силе 4
user2 поставил + за топик user1 при силе 3
user2 поставил — за топик user1 при силе 3
***
user2 поставил + за топик user1 при силе 10
у нас есть тут специалиты по математическому моделированию?
пока идея как это все пересчитать в голове не утряслась. к табличкам с голосами добавлю себе время голоса. потом наверно сливаем все голоса во временную таблицу, указывая тип голоса, сортируем по дате и вперёд
лазить в бд и исправлять каждый топик, каждого пользователя проблемно.
так такая ситуация совершенно нормальная с теми настройками, которые присутствуют на этом сайте. Макс видимо предполагал, что нормальная сила должна быть 50-200, а вы говорите про 6. Мы пока что все новички на этом сайте и голоса у нас имеют практически одинаковую силу…
Я это уже вкурил, а кто-нибудь понял что за переменные?
$iMinCount=log(0+1);
$iMaxCount=log(500+1);
я даже сделал себе
вообще текущая формула мне мало нравится, не красивая она :)
Основные особенности:
— изначально всем дана определенная сила (1)
— пользователь с силой 0 не влияет на силу пользователя за которого голосует.
— влияние на рейтинг другого пользователя происходит за счет рейтинга самого пользоватея (по-моему это логично) + небольшое влияние за счет силы (в начале у нас есть только сила)
— голос за топик дает четверть от голоса за пользователя
— голос за коммент дает десятую часть от голоса за топик
кто видит в данном подходе что-то неправильное — пишите, обсудим
добавил дату создания для каждого голоса и скрипт для пересчета всего рейтинга
если кому интересно, могу написать статейку