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:
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.
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 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.
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.
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.
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With