Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Good rating/reputation systems? [closed]

I am working on a website which is quite similar to Yahoo! Answers: an user can post the question, wait for answers from other people and pick the better one. In order to identify the best users, there is a reputation system, which has these features:

  • One can upvote or downvote an user;
  • One can upvote or downvote an answer;
  • There is an "experience" score for each topic, which increases for every question answered.

Now, if possible, I'd like to find an algorithm to combine all these factors and give a "trustability" score for each answer.

So far, I tried doing it by myself using things like products of Coefficient * (UpVotes / TotalVotes), but it was too linear. I also tried other ways, but they didn't work (Bayesian algorithm). At the moment, in the Alpha version, I'm using Trustability = sqrt(GoodAnswers).

Notes: the algorithm must be individual (no need to scan the entire database to get data like averages, sums, etc) and fast, if possible. I'm going to implement this in PHP-MySQL.

like image 447
Giulio Muscarello Avatar asked Sep 07 '12 15:09

Giulio Muscarello


People also ask

What percentage of customers leave good reviews?

67% of consumers will consider leaving a review for a positive experience, while 40% will consider leaving a review for a negative experience. A crossover of 33% will consider both. 7% of consumers only leave reviews for negative experiences, while 34% of consumers only leave reviews for positive experiences.

What is a closed review?

What is a closed review system? A closed review system is actually a very simple concept. It means that only verified customers can leave reviews for a company. On the other hand, an open review system allows absolutely anyone to leave a review.

How many 5 star reviews do I need to negate a 1 star review?

Your star review rating reflects an overall average of positive and negative reviews. So if your goal is to maintain an overall rating of four stars, you'll need four, five-star reviews to make up for every one-star review.

Can companies block negative reviews?

If you had a bad experience with a business and posted a negative review online, you may have exposed yourself to a lawsuit or financial penalty and not have known it, even if what you wrote was true.


2 Answers

There are huge number of approaches to ranking system. With using time dimension, up/down votes number, rating of upvoters and downvoters, hits and almost anything that you can imagine.

There is a good article about ranking system in Reddit.

The most straightforward solution that came up in my mind is to calculate some weight of upvote for individual user. That means that more trusted user is more influential than another one. E.g. user with rating 100 upvote is definitely better than downvote from two users with rating -100. But we can't say that this is better than 100 downvotes from -100 users. try to experiment wit that.

like image 74
mishadoff Avatar answered Oct 13 '22 20:10

mishadoff


You can use the same idea of google page rank : When a user upvote you or add your question\answer as favorite, the increase of your trustability depends on this user trustability.

http://en.wikipedia.org/wiki/PageRank

like image 30
UmNyobe Avatar answered Oct 13 '22 19:10

UmNyobe