История создания и устройство рейтинга пользователей на портале Деловик.ру

Рейтинг — это не только про то, кто сильнее, умнее или богаче. Это еще хороший способ стимулировать конкуренцию, повысить мотивацию и быстро оценить соответствие ожиданиям. Удобный инструмент, осталось только понять, что будем измерять.

Рейтинг в Деловике показывает уровень экспертизы пользователя. Статус эксперта присваивается после прохождения определенного порога (65 баллов), и максимальный уровень — 100.

Как же сравнить бухгалтера, юриста и, скажем, специалиста по СЕО? Для этого надо понять, кто такой идеальный эксперт на нашем портале и взять его за эталон. Что же у всех экспертов общего? Объединяет их принадлежность к порталу, умение в явном виде приносить пользу другим, востребованность результата их помощи и ее количество. Наш идеальный пользователь постоянно пишет качественные посты, отвечает на просьбы помочь по кнопке SOS, участвует в обсуждениях и комментирует. Просто образец для восхищения и подражания!

Процесс работы, начало

На момент начала работ Деловик не был еще даже в стадии беты, но основная система уже работала и было понятно, что пользователи могут, будут и должны делать. Узнаю подробности у технического директора Лизы, смотрю имеющиеся наработки и ухожу думать.

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

Второй шаг. Надо создать из хаотичного списка структуру. Я разделил все показатели по типу, получилось три основные группы — активность пользователя, качество работы и штрафы, куда без них.

Компоненты

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

Качество и полезность оценивают пользователи. Лайки, комментарии, перепосты. Чем их больше, тем значимее вклад участника. Можно написать много-много постов, но если они будут бесполезные, то вместо лайков появятся дислайки, вошедшие в категорию штрафов.

Штрафы нужны для защиты от накрутки некачественным контентом и от бронзовения на вершине рейтинга. Если наш идеальный активный и полезный пользователь доберется до максимальных 100 баллов и перестанет участвовать в жизни сообщества, его не смогут обогнать. Это несправедливо по отношению к остальным участникам.

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

Веса и лишние параметры

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

На этом этапе к работе подключилась замечательная Ира Зайцева, директор по маркетингу, и выступила в роли владельца продукта (product owner) и грамотного оппонента в научном смысле. Мы выбросили все лишние действия пользователя, откорректировали веса.

Трудности перевода

В первой редакции формулы предполагалось, что будет четыре скрытые категории (пользователь низкого уровня, пользователь высокого уровня, эксперт низкого уровня и эксперт высокого уровня) с динамически рассчитываемыми границами в зависимости от количества и уровней пользователей. Значения рассчитывались относительные, не было привязки к 100-бальной системе и все вместе получилось громоздко и непредсказуемо. Надо что-то делать.

Польза игр

Для решения проблемы нужно было изменить внутреннюю метафору. Давайте представим, что мы играем в ролевую игру. В игровой индустрии опыт давно наработан и каждому игроку понятно, что уровень 10 круче, чем уровень 1. Если игра известна давно, то игроки знают, что мощное заклинание появится, скажем, на 42 уровне, а самые крутые способности откроются на 80-м. Для быстрой оценки персонажа достаточно знать его уровень. А уровень в играх обычно растет за счет набора опыта, для этого надо выполнять задания (квесты) и убивать монстров.

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

Уровень в таких случаях рассчитывается по таблице опыта. Набрал 1000 очков опыта — получил уровень два. Набрал 1200 — уровень три. Каждый раз надо набрать немного больше.

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

Игровой подход решил имевшиеся проблемы — и пересчет в 100 баллов, и плавающие границы, и сложность формулы. Осталось только подобрать скорость роста и сбалансировать веса.

Получившаяся формула считает набранный опыт за действия пользователя (лайк поста для удобства тоже считается действием, хотя это на самом деле социальная реакция), коэффициентами корректирует значение в зависимости от уровня пользователя и переводит в отображаемый на Деловике рейтинг.

Настройка и реальный опыт

Все должно быть готово до запуска портала, но у нас не было пользователей. К этому моменту я уже собрал тестовый «стенд» в экселе, рассчитывающий прибавки и убавки на лету в зависимости от текущего уровня пользователя и показывающий график роста уровня. Получилось очень удобно для коррекции весов и коэффициентов.

Потом в стенд внесли основные модели поведения пользователей. Эксперт с высокой активностью, тролль, забежавший задать вопрос предприниматель и другие, всего семь штук. Прогнали через систему и убедились, что тролль не сможет обогнать эксперта, откорректировали. К запуску готовы!

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

Сфера применения рейтинга

Описанный метод подходит для конкурентной среды, где возможна или желательна ротация большого количества объектов оценки. Его хорошо применить на площадке с большим количеством конкурентов: фриланс, яндекс-маркет. Хорошо подойдет для проектов с геймификацией для мотивации продвинуться выше среди коллег. Например, в таком формате можно назначить некоторые КПИ.

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

Как сделать свой рейтинг, краткая инструкция

  1. Опишите, каким будет идеал, к которому надо стремиться. Каким ему надо быть, чтобы занимать первую строчку рейтинга
  2. Выпишите все действия или события, которые влияют на уровень соответствия эталону
  3. Назначьте им веса, если эти действия или их количество неравноценны
  4. Опишите способ их обсчета. Самый простой вариант — просто сложить
  5. Задайте скорость роста формулой пересчета, где входящим значением будет число из предыдущего пункта
  6. Отранжируйте пользователей (или рейтинг чего вы составляли) в зависимости от полученных баллов. Это и будет ваш рейтинг с местами и баллами.