Let us suppose, I have few scenarios for products with good and bad reviews.

P1: 1000 Good, 1 bad
P2: 100 good,  10 bad
P3: 20 Good,  0 bad
P4: 10000 good, 500 bad

Based on this data, how can I say, statistically / mathematically that choosing p_i out of these is the best? Is is Naive Bayes or something else?

Also, there are inconsistent no of samples so how can one decide which one to choose?


2 Answers 2


For example using the frequency of good reviews over total reviews as score, one can do:

P1: $\frac{1000}{1000+1} = 0.999$

P2: $\frac{100}{100+10} = 0.909$

P3: $\frac{20}{20+0} = 1$

P4: $\frac{10000}{10000+500} = 0.952$

So P3 seems better followed by P1.

Using the relative frequency of good over bad, one has:

P1: $\frac{1000}{1} = 1000$

P2: $\frac{100}{10} = 10$

P3: $\frac{20}{0} = \infty$

P4: $\frac{10000}{500} = 20$

So again P3 seems better followed by P1.

P3 is indeed better even though it has less total reviews, since it has no negative review and this is very important, as the above scores indicate.

Note: In case a product has no reviews then we have an indeterminate score (like $\frac{0}{0}$) which can be assigned any base value seems most appropriate for the application (eg one can assume by default the product is good, thus 1, or assume the product is average then 0.5 and so on..)

PS: one can do many variations combining good, bad and total reviews (eg like precision and recall scores are computed using different formulas combining positive/negative/total labels).

  • $\begingroup$ Just researched through internet and found that there is something called 'Bayes Averaging`. How could one use that here? Any idea? $\endgroup$
    – Deshwal
    Jun 21, 2021 at 12:59
  • $\begingroup$ I am not sure how Bayesian averaging can be employed in such scenario. In fact I dont see the point of using Bayesian methods at all. But again, this is my point of view. I think the problem is straight-forward as it is. $\endgroup$
    – Nikos M.
    Jun 21, 2021 at 13:06
  • $\begingroup$ Here is what they have applied something like this but I did not get the idea actually TBH $\endgroup$
    – Deshwal
    Jun 21, 2021 at 13:13
  • $\begingroup$ In the case you mention they have a rating system, eg 1-5, but I guess one can adapt it to your case. Although for binary ratings (ie good / bad) what I have proposed is fair enough $\endgroup$
    – Nikos M.
    Jun 21, 2021 at 16:17
  • $\begingroup$ For example to adapt it to your case one can say that bad review has 1 point and good review has 5 points (there are no intermediate reviews). Then proceed as in the link. It is sound approach $\endgroup$
    – Nikos M.
    Jun 21, 2021 at 16:20

You should create a confidence interval around your mean of each of your products and then use the lower bound of the interval to decide worst case outcomes. The product with the highest lower bound is your best bet.

Make sure you add 1 extra positive and negative review for each of your products so P3 would be 21 good and 1 bad. That is akin to adding a uniform uninformative prior to product reviews.

  • $\begingroup$ But mean might not be a good option? I mean 1 negative out of 10, 10 out of 100 and 100 out of 1 Million. Can that make any sense? I got the idea of Smoothing by having a prior. So the total would be +2 right? $\endgroup$
    – Deshwal
    Jun 21, 2021 at 13:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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