Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to device a algo for product score. Here are the inputs

  1. User rates a product on 5 different criteria out of 10
  2. Each criteria has a different weightage with all adding up to 100%
  3. There are 3 types of user expert, inter, beginner
  4. Again weightage of users is different

Here is what i have thought

  1. We get the final score for each user out of 10 by

    User score = CriteriaScore 1 * Weight 1 + CriteriaScore 2 * Weight 2 + ... + CriteriaScore 5 * Weight 5

  2. Expert gets a weight of 3, inter get a weight of 2 and beginner gets a weight of 1

    Final score = Avg Final score of expert * WeightExpert + Avg Final score of inter * WeightInter + Avg Final score of beginner * WeightBeginner

But my formula doesn't take into account How many people rated the product. How do i get this data into the picure.

Any other suggestion is also welcome

share|cite|improve this question

You want a weighted average computed as follows:

$$\frac{ w_1 S_1 + w_2S_2 + w_3S_3}{w_1C_1 + w_2C_2 + w_3C_3}$$

Where $S_i$ is the sum of the scores from the people with "level" $i$, and $C_i$ is the number of users of "level" $i$. Thus, if level "1", "2", and "3" are, respectively, "expert," "inter," and "beginner," the formula would be:

$$\frac{3S_1 + 2S_2 + S_3}{3C_1+2C_2 + C_3}$$

Think of it this way: An expert's score is submitted three times, intermediate two times, and beginner one time. So the denominator would be the "count" of the total data, and the numerator is the sum of that data set.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.