TrustRating
The CouchSurfing Wiki, an informal workspace which anyone can edit.
The Center for Adventure Economics at CouchSurfing.
"Radical vision and running code."
— econometrics — trust and reputation systems — free life —
TrustRating
(rough draft and rough ideas - all of these are suggestions not decisions!)
See other wikipages (add links) for a longer description of why a 'TrustRating' for all members is a good idea. The basic concept is to combine many of the current measures/rankings etc into a single number which measures the 'trustworthiness' of a person. This is *most* important in determining the value of the references and friendships that have been left on profiles. A negative reference by a new member from an encounter on chat, for instance, should be seen quite differently from a negative reference for hosting by an long-term member. Some shorthand method of displaying this as well as using it as an input to other members' trust ratings would be quite useful.
There are many factors that can be included and weighted in a TrustRating, but let's start with the simplest version.
(ok apologies, haven't done math in a wiki before, not sure re symbols etc - and all of this is provisional!)
TrustRating = f ((sum of all weighted RefRatings) + (sum of all weighted FriendshipRatings))
with Weighted RefRating = ((Reference(ij) * TrustRating(j))
where ij is the Reference value (we need to score extremely positive to extremely negative as numbers, say +10 to -10, +1 -> -1, or something similar) given to person i by person j, multiplied by person j's own TrustRating
and
Weighted FriendshipRating = Friendstrength(ij) * FriendshipDuration * TrustRating(j))
the function 'f' should probably be something like a logistic regression : see [[1]].
The function should normalize over all couchsurfers - that is, the worst person should be 1 or 1% TrustRating, the most trusted people 99 or 99% TrustRating, and the function should be set to yield this. Using logistic regression allows us to put most 'good' couchsurfers fairly high up, unlike a linear function which would mean *exactly* that the more friends/refs you have the better couchsurfer you are. While this is true to some degree it is too dependent on how much one has traveled to be a real measure of trustworthiness.
In other words this function should NOT linear but instead one which allows for some scaling of the difference between members who have 0 friends to, say, 50 or 75 friends/refs, (or some number which is felt to mean the person is a good surfer and a trustworthy person), and then after this number, additional friends/refs don't count for as much, as the function levels off.
This is good for many reasons, the primary one being that if we scale everything linearly to the person with the most friends, the vast majority of even good CSers will not score well on their TrustRating. Intuitively, as well, someone with 300 friends is not 6x as good of a couchsurfer as one with 50 friends.
The use of weightings is key here, and allows us to do lots of additional nifty/good things, for instance, we can
1. separate and weight differently, references and friendships of people who have met vs people who have not;
2. refs/friends of different duration;
3. refs/friends who have surfed/hosted vs simply met for a drink or at a meeting, or otherwise take into account the duration and intensity of the interaction which gave rise to the frienship and reference.
Not nearly done with this but hopefully this gives the basic idea...
