- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте! Я не знал куда написать... подумал, сюда лучше напишу... Вообщем на сайте делаю систему оценки текстов, т.е. у каждого текста на сайте есть своя оценка.
Подсчитать среднюю ценку легко, берем все оценки, делим на количество и готово. Но тогда нужно в базу данных забивать все оценки проголосовавших, чтобы при следующей оценки определять среднюю оценку... В итоге, получается при большом количестве оценок сильно забивается база данных.
Можно ли определить среднюю оценку зная только оценку которая сейчас, и кол-во проголосовавших. Т.е. допустим сейчас средняя оценка 3 (оценки: 1, 2, 3, 4, 5 - эти данные мы не знаем, знает только среднюю оценку), проголосовало 5 человек, посетитель ставит новую оценку - 5.0, и средняя оценка становиться 3.33...
Вообщем, я думаю вы меня поняли...
Спасибо за помощь!
Формула: ((кол-во человек * среднюю оценку) + новая оценка) / кол-во человек + 1
Пример: ((5 * 3)+ 5)/ 5 + 1 = 3.33
Вроде так будет правильно.
Формула: ((кол-во человек * среднюю оценку) + новая оценка) / кол-во человек + 1
Пример: ((5 * 3)+ 5)/ 5 + 1 = 3.33
Вроде так будет правильно.
А я уже чуть было не предложил использовать экспоненциальный закон.
капец, как же я не мог додуматься....:) Спасибо большое!!! А то голову сижу ломаю тут))))
Формула: ((кол-во человек * среднюю оценку) + новая оценка) / кол-во человек + 1
Скобки забыл..
А вообще, при таких делениях-округлениях потери будут.. поэтому корректнее хранить сумму всех оценок и количество голосов.
Скобки забыл..
А вообще, при таких делениях-округлениях потери будут.. поэтому корректнее хранить сумму всех оценок и количество голосов.
Спасибо за совет!
Такой способ подсчета "в лоб" не совсем корректен.
Если проголосовало 5000 тел и оценка 4,5
и проголосовало всего 3 тела и оценка 5
Второй вариант будет "лучше", что не всегда верно.
В случае с оценками, я думаю лучше оставить так. Это если делать рейтинг какая статья лучше, то там, да, лучше оценивать по нескольким факторам...
Второй вариант будет "лучше", что не всегда верно.
Именно. Поэтому - ТС, приглядитесь к этой статье: http://habrahabr.ru/company/darudar/blog/143188/. Посмотрите, как exler считает. И как на IMDB.
Это если делать рейтинг какая статья лучше, то там, да, лучше оценивать по нескольким факторам...
тут речь не про несколько факторов, а про начальные значения.
Т.е. свеженаписанная статья имеет, к примеру, уже 10 проголосовавших и сумму голосов, например, 35. В остальном - вся логика расчётов сохраняется. А для отображения рейтинга посетителям можно ввести минимальное необходимое количество голосов... До этого "пустые" звёзды отборажать.. Или полные...
я за доп.таблицу:
fieldlist: пост, оценка, юзер_голосовавший(если голосуют тока авторизованные)
пост - номер поста.
оценка - от 1 до 5(10)
юзер_голосовавший - на случай, если в будущем выводить список проголосовавших, кто какую оценку поставил и т.д.
Имея эти 3 поля мы можем выводить рейтинг так:
средний бал ||| кол-во голосовавших ||| суммарный бал
Благодаря этой таблице сможем найти самые оцениваемые посты и т.д.
Все сказаное - ИМХО, а не догма;)