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.

  • 0
    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?2012-11-08
  • 0
    See also [this similar problem](http://math.stackexchange.com/questions/41947/single-number-to-represent-a-ratio?rq=1) (different context). NOT intended to imply post-duplication.2012-11-08

2 Answers 2

3

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.

  • 0
    would be much more preferable to use not just the expected value of the random variable in question, but also the standard deviation.2012-11-08
  • 0
    @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.2012-11-08
  • 0
    @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.2012-11-08
  • 1
    @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.2012-11-08
2

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.

  • 0
    And for questions on the SE network, including math.se, weights of +5 for an upvote on a question, -1 for a downvoted question.2012-11-08