
Накрутки
С рейтингом все упирается в накрутки. Причем, не важно сознательные или бессознательные. Хорошая в этом плане система на хабре, но здесь ее не смогли сделать простой и изящной, в итоге есть два визуально не связанных рейтинга. На самом деле, система не плохая, но недостаточно гибкая. Кроме того, она хорошо работает на больших сообществах. На малых с ней будут проблемы. На хабре голоса даются ежедневно. Что мешает зарегистрировать десяток аккаунтов и влиять на рейтинг, если голоса выдаются каждый день? Мешает система инвайтов. А если сайт с открытой регистрацией?
Виртуалы. LiveStreet
Для сравнения — LiveStreet начисляет настоящий рейтинг только за посты. То есть чисто блоговое решение. Очевидное, если на сайте планируется блог. А если нет? Хотелось рейтинг свести к одному показателю. Без системы раздельного голосования за пользователя и за его сообщения. То, с чем разработчик системы столкнулся лично на своих проектах: «Пользователь регистрирует десяток виртуалов и начинает их „прокачивать“, голосуя друг за друга. В закрытом автивном сообществе это не работает, но таких мало.» Такая система рейтинга которую предлагает лайвтстрит работает только в одном конкретном случае — в случае блогосайта. Во всех прочих случаях она получается очень уязвима. Не технически, а социально-уязвима. Вот способ прокачать лайвстритовского персонажа: создаем топик, публикуем его, голосуем за него полсотней виртуалов, после чего убираем топик в черновики или удаляем. Рейтинг при этом никуда не девается. Следующая дырка: представим себе что на сайте достатоно давно живет тусовка. Они привыкли друг к другу и относятся к знакомым предвзято. Они, как правило, голосуют друг за друга и, так как они давно на сайте, рейтинг их растет просто с фантастической скоростью… То есть это фактически те же 10 виртуалов о которых написано выше, только за ними стоят живые люди. Более того, всех десятерых это положение дел устраивает: формально они правил не нарушают, делают приятно знакомому, и сами не остаются в накладе. Или представьте себе фотосайт, где человек может выложить пачку в пару сотен фотографий, под каждой оставить по комментарию, а затем пройтись виртуалами по всей этой куче и плюсануть.
(200 + 200) * 10 витруалов = 4000 голосов за день
Честный получится рейтинг? Нет.
Ну и что же получается? Идеального решения нету?
На самом деле есть. Просто надо учитывать взаимное влияние голосов.
Предположим, есть два пользователя с рейтингом 1. Допустим, при голосовании рейтинг передается полностью. То есть первый проголосовал за второго — у того стал рейтинг 2, второй проголосовал за первого — у первого стал рейтинг 3 и так до бесконечности. А надо сделать так, чтобы передавалась только та часть, которая была получена без «голосуемого». Рейтинг должен передаться без взаимной накрутки. Только то, что было у пользователя отдастся другому даже после того, как другой за него проголосовал. Тут возникает новый способ накрутки: первый пользователь голосует за второго, второй за третьего, треитй — за первого (между третьим и первым можно вставить еще несколько). Кстати, создать трех пользователей (или договориться с двумя людьми) — совсем не проблема.
Как же быть?
Копировать чужое решение рейтинговой системы, которое узнаваемо и не скопировано только ленивым — не хочется. Делать свое плохое — тоже. Как сделать хорошее — пока не знаем.
Важна не конкретная техническая реализация, а предложения по системе рейтинга в целом.
А можно ли каким-то образом усложнить схему с пользователями и взаимной накруткой? Можно. Так как рейтинг переходит достаточно мелкими порциями, то можно проверять голоса какого пользователя составляют самую большую долю в рейтинге… Или?…
Давайте порассуждаем, уважаемые Хабралюди.