Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Умный расчёт "рейтинга" на основе оценок пользователя реализуемый на МсСКЛ агрегатными ф.  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Попытаюсь привести пример абстрактный.

Предположим у нас есть помещения которые сдают пользователи (ну как в гостинциах частных и т. п.).
Или кто-то оказывает какие-то услвги, продаёт товары

Пользователи просто выставляют оценку одну 0-5 и коммент пишут.

В случае если это "аренда", а не просто товар, то один пользователь мог что-то сдавать 1 месяц за 10ть долларов, а второй пользователь 2 месяца за 20 долларов.

Если первый поставил 4ра, а второй 5ть, то средняя оценка если "в лоб" будет 4.5.

Я пытаюсь что-то более адекватное и при этом всё же простое найти.

1) находим произведение максимальное "время" (пусть в днях) на цену
2) используем его как знаменатель
3) для остальных оценок пользователя высчитываем "коэффициент влияния на средний бал" относительно этого знаменателя. Т. е. максимальная будет 1 (100%, но точность моно повысить).
та что была 1 месяц и 10 баксов - будет соответственно иметь коэффициент 0.25 и если раньше при оценке 5 на 2*20 и 4 на 1*10 средний бал получался бы 4,5, то сейчас

(1* 5 + 0,25 * 4) / (1 + 0,25) = 6/1,25 = 4,8

а если бы были бы обе 5ки, то
(1*5 + 0,25*5) / (1 + 0,25) = 6,25/0,25 = 5 - средняя осталась бы 5ть!

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

Далее,
средний бал ещё не всё. Хотя уже во многих случаях достаточно и более объективно

У одного средний бал на основе 2 отзвывов и в общей сложности на сумму 100 долларов, а у другого на 1000 долларов и 20 отзывов. Да, число относительное и по второму просто статистика больше чем по первому, но всё же у второго критерий больше и не факт что тот у которого оценка 4.8 с 1000 баксов хуже того у кого 5.0 со 100 баксами. Но как балы начислять "за опыт" отдельный вопрос. Можно там в принципе ввести какой-то абсолютный рейтинг, а потом его масштабировать с учётом средней оценки пользователя.

Ну, как первый пришедвший в голову пример, умножаем количество "заработанных денег" на коэффициент ("личный средний бал" / 5 ).
Т. е. тот у кого бал 4 средний будет иметь 0,8 и если у него 1000 баксов, то то получит 800 "условных баксов",
но тут и с двойкой когда много денег можно быть выше в поиске (с другой стороны может так и должно быть и надо иметь два варианта упорядочивания, не просто так же "больше денег" кто-то заработал)

Ну что-то более интересное и ПРОСТОЕ, что бы пользователи как бы "очки" зарабатывали. Тут, если честно, у геймеров проще узнать, но пока на форуме по МсСКЛю и желательно без каки-то стронних штуковин, ОЛАПов и т. п.

Рейтинг, естественно, будет предподсчитан и сохранён в столбце, будет проиндексирован и т. п.
25 мар 16, 17:03    [18979006]     Ответить | Цитировать Сообщить модератору
 Re: Умный расчёт "рейтинга" на основе оценок пользователя реализуемый на МсСКЛ агрегатными ф.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Вы забыли задать вопрос.
25 мар 16, 17:45    [18979224]     Ответить | Цитировать Сообщить модератору
 Re: Умный расчёт "рейтинга" на основе оценок пользователя реализуемый на МсСКЛ агрегатными ф.  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Ну если вопрос в символе вопросительного знака "???" - вот он.

Основной вопрос как не открывать колесо и что-то более менее здравое для расчёта средних рейтингов что бы была более адекватная сортировка и т. п.

Считается пока банально триггером в моём случае как только поставят рейтинг.
25 мар 16, 18:33    [18979399]     Ответить | Цитировать Сообщить модератору
 Re: Умный расчёт "рейтинга" на основе оценок пользователя реализуемый на МсСКЛ агрегатными ф.  [new]
Glory
Member

Откуда:
Сообщений: 104751
NIIIK
Основной вопрос как не открывать колесо и что-то более менее здравое для расчёта средних рейтингов что бы была более адекватная сортировка и т. п.

Эээ, поискать в гугле алгоритмы рассчета ?
25 мар 16, 18:36    [18979409]     Ответить | Цитировать Сообщить модератору
 Re: Умный расчёт "рейтинга" на основе оценок пользователя реализуемый на МсСКЛ агрегатными ф.  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Glory,

Ну вот в гугле видно забанили, хорошие ответы не попадаются, руки из опы растут, не могу гуглу запрос написать.
25 мар 16, 19:35    [18979604]     Ответить | Цитировать Сообщить модератору
 Re: Умный расчёт "рейтинга" на основе оценок пользователя реализуемый на МсСКЛ агрегатными ф.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
NIIIK
Glory,

Ну вот в гугле видно забанили, хорошие ответы не попадаются, руки из опы растут, не могу гуглу запрос написать.
Ну, как разбанят, так и приходите.
26 мар 16, 00:17    [18980363]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить