Не совсем понял, что делается так или не так? Написано так как надо что бы работало. Не удалось найти даже приближенного алгоритма к решению данной проблемы.
1ssol: Я имею в виду, что можно привести абсолютно любую формулу, которая будет выводить значение от 1 до 10 в расчетах которой будут использованы 4 необходимых Вам параметра?
Arti Markelov: Да, можете приводить любые примеры формул. Буду благодарен. Необходимо просто самому понять в какую сторону идти. Только стоит учитывать что например если "Общая сумма покупок" скажем равняется 1000000 и всего 1 пользователь, рейтинг не может быть равен 10. В этом для меня и вся сложность.
1ssol: Это очень просто организовать, я могу даже Вам подсказать, а Вы может быть даже сами догадаетесь.
В формуле нужно задать определенное количество баллов каждому параметру, то есть за каждый параметр можно будет набрать не больше 2.5 балла рейтинга, что в сумме даст 10, либо установить приоритет к какому-либо параметру, например количеству уникальных покупателей, то есть за большое количество покупателей будет даваться уже 4 балла, а не 2.5, соответственно "цену" других параметров нужно будет подкорректировать.
1ssol: Данный пример будет не очень корректен при маленьком количестве покупателей, ибо при большом значении цены он будет выдавать зашкаливающий показатель.
Например:
$count_clients = 1; // Количество покупателей
$price = 25000; // Цена
$sum = $count_clients*$price; // Сумма покупок
$unique_clients = 1; // Количество уникальных покупателей
Мы получим значение 0.99998, что будет соответствовать 9.9998 баллов из 10-ти. Это следует учитывать.