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.
this question will likely solicit debate, arguments, polling, or extended discussion
– Portamento