In my opinion changing ratings for inactive accounts is a rabbit hole we do not want to go down and will inevitably create more avenues for manipulation and abuse. I think that if a user is trusted, they should appeal to other users to leave them positive ratings to counteract the negative rating, specifically noting the situation at hand with a referenced thread. This should rectify the situation to a large degree.
Unfortunately, the way that the trust score is tabulated, it is not fair to SwingFirst. He has 3 positive comments, followed by Zepher's negative, followed by Jet Cash's and my counter trust. SwingFast's current score is 1 when it should be 30. This is an exception case; however, since we know Zepher is dead and Zepher made it clear what his intentions were in a post when he left the negative rating.
What makes it worse is that each unique positive rating that SwingFirst receives from now on will only add 1 point to his trust score instead of slowly counting up to 10 points toward his trust score.
If you assume that you have no negative ratings then it is easy. Only ratings from people who are in your trust network are taken into consideration. For each
person/account that gives you positive trust you get one
trust point (the number on the very left) for each month since that account left you the first positive rating with a maximum of 10 trust points from each person.
The second number is the number of people who have given you negative trust.
The third number is the number of people who have given you positive trust.
If the last rating is your first negative rating then the highest score you can have is three question marks. The number of negative ratings you have, to the power of two is the number of trust points that are removed from your trust score (so if you have two negative ratings then 2
2 trust points are subtracted from your trust score, and if you have four negative trust ratings then you have 2
4 trust points removed from your trust score). If you have more unique positive trust ratings then the number of negative trust points that your negative trust removes, then your trust score is the number of unique positive trust ratings since your first negative rating minus the number of negative trust ratings.
I believe the above accurately explains it, however the code is below:
if there are no negative ratings
score = 0
for each rating, oldest to newest
if this rater has already been counted
continue
score += min(10, round_up(months since rating))
else
score = unique_positive - 2^(unique_negative)
if score >= 0
start_time = time of first negative
score = unique_positive since start_time - unique_negative since start_time
if(score < 0)
return ??? (orange)
move score to range [-9999,9999]
return score
This algorithm is