3
$\begingroup$

I've got a website with voting system where people can vote a review either up or down. For example: “Did you find this review helpful? [Yes] or [No]?”

In order to order the reviews by how much they were appreciated I'd like a single number to order them by. Just using the percentage of up votes doesn't cut it because it doesn't take the total number of votes into account. A review with 2 up votes and 0 down votes (100%) should not be shown before a review with 95 up votes and 5 down votes (95%).

Any ideas on which formula to use? Thanks.

$\endgroup$
2
  • $\begingroup$ Since the percentage of upvotes obviously takes the total number of votes on a question into consideration, maybe you mean that you do not want questions with low total votes to match percentages with high total vote questions. How about you first order all questions by raw vote total, then sort those by percentages? $\endgroup$
    – rschwieb
    Nov 8, 2012 at 16:27
  • $\begingroup$ See also this similar problem (different context). NOT intended to imply post-duplication. $\endgroup$
    – amWhy
    Nov 8, 2012 at 16:37

2 Answers 2

3
$\begingroup$

You need only assign the value of $ 0$ to a downvote, and $1$ to an upvote, or, $(-1)\to \;$downvote, $1 \to\;$upvote. Then any review's score could be the sum of those upvote/downvote assignments.

You can play around with such assigned "weightings", to end up with a single numeric score to represent the quality of the review.

E.g. questions and answers here at math.se computes the "score" of both answers and questions using the assignment: $(-1)\to \;$[downvote], $1 \to\;$[upvote].


EDIT: As @gt6989b, the above scheme, does not take into account the distribution of scores, etc.

NOTE:
It all depends on what criteria you consider to be most relevant to the determination of the value of the rank of a given review.

$\endgroup$
4
  • $\begingroup$ would be much more preferable to use not just the expected value of the random variable in question, but also the standard deviation. $\endgroup$
    – gt6989b
    Nov 8, 2012 at 15:50
  • $\begingroup$ @amWhy Good suggestion, but doing it that way still doesn't take the total vote count into account, does it? For example: 6 up, 4 down = +2; while 90 up, 89 down = +1. Yet, I'd like the latter one to be ordered first because the total vote count is much higher. $\endgroup$
    – Geert
    Nov 8, 2012 at 15:58
  • $\begingroup$ @gt6989b I agree; I was simply thinking of, e.g., both the "scores" of questions/answers used on math.se., as well as the weighted assignment of 5 to a user's rep for upvoted question, and -1 to user's rep for downvoted question...etc. $\endgroup$
    – amWhy
    Nov 8, 2012 at 15:58
  • 1
    $\begingroup$ @Geert, that's why I suggested the assignment of $0$ to a downvote, and $1$ to an upvote, or perhaps upvote $\to +2$, downvote $\to -1$. It all depends on what criteria you consider to be most relevant to the determination of a given ranking. $\endgroup$
    – amWhy
    Nov 8, 2012 at 16:00
2
$\begingroup$

Some examples have already been given, but a quite simple yet general way to do this would be to say +x for an upvote and -y for a downvote. On SO the weights are +10 and -2 for questions and +2 -1 for comments (if im not mistaken).

This is based on how people behave and what they would like to reward.

So, now you can just play around a bit with x and y untill you see the result that you like.

Edit: another commonly used system is to use the percentage, but exclude the ones with fewer than z votes.

$\endgroup$
1
  • $\begingroup$ And for questions on the SE network, including math.se, weights of +5 for an upvote on a question, -1 for a downvoted question. $\endgroup$
    – amWhy
    Nov 8, 2012 at 16:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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