Author

Topic: Suggestions for computing trust scores? (Read 1938 times)

sr. member
Activity: 336
Merit: 250
Cuddling, censored, unicorn-shaped troll.
January 22, 2014, 08:13:21 PM
#16
I'm sorry to bump such an old thread, but I think I made up my mind on what would be the best trust system in my opinion.
It's very close to the current one, except:

=> There is no default trust list
=> The only feedback you can give publicly is a negative one (which lowers trust rating of recipient by 0.1 point, and is visible by everyone)
=> The positive feedback is only personal, and each one you give to someone grants him a +5 points (only on your own screen)
=> Nobody can check your positive trust list
=> if someone in your own, private, positive trust list left a negative feedback on someone else, it lowers the rep of this someone else by 2.5 points, instead of 0.1

So, basically, when you register, everyone will be red and taged with "be careful!".
Only the people you really trust and put in your own private, trust list, might become green.
And adding people to your own trust list will progressively help making the difference between a "-0.3" guy and a "-18.9" one.

No more "loan/trade for trust".
You trust who you want, community just issues the warnings.
hero member
Activity: 658
Merit: 502
Doesn't use these forums that often.
November 24, 2013, 11:28:40 AM
#15
Killer feature: Show 'responses to untrusted feedback'
For example, looking at my trust list, Magazine and just_me have both retaliated at me for neg-trusting them.
It would be awesome if you could show the feedback I sent to them next to this.
sr. member
Activity: 336
Merit: 250
Cuddling, censored, unicorn-shaped troll.
November 24, 2013, 11:15:04 AM
#14
If there are more collective negative trust ratings from different people, are additional points removed due to that?

So, for instance, 1 report is added for -5 score, another report is added for -5 score, because there are 2 reports an extra -1 score is added.

I'd rather have have a -10 for root trust list, -5 for depth=1, etc.

I initially thought storing the rating of everyone in DB in regards to Default Trust might be a good solution, but it would require updating the whole DB every time someone in that Default trust list adds someone to his web / posts a new rating.

Then it would just require dynamic recomputing scores for people not using default trust.
Not sure if that 'd help.
legendary
Activity: 1134
Merit: 1105
November 24, 2013, 10:54:55 AM
#13
If there are more collective negative trust ratings from different people, are additional points removed due to that?

So, for instance, 1 report is added for -5 score, another report is added for -5 score, because there are 2 reports an extra -1 score is added.
legendary
Activity: 1176
Merit: 1233
May Bitcoin be touched by his Noodly Appendage
November 24, 2013, 07:20:30 AM
#12
Along with this the trust needs both positive and negative showing on posts

It does... The second number (orange when non-zero) is the number of scam reports.
Do you mean "the number of negative reports"? Because AFAIK reports with 0 risked BTC are counted in the second number
legendary
Activity: 1218
Merit: 1003
We are the champions of the night
November 24, 2013, 02:18:49 AM
#11
A final idea, give users two ratings:

1. Financial transaction feedback and scam reports
2. Thumbs up or down on message contents

Too many people are abusing the trust system for posters who's opinions they don't like - give them another outlet to thank posters or indicate that someone is a spamming windbag.
This.. this so much.  Seen so many people with bad rep that are good when it comes to trading, but have unpopular opinions.
administrator
Activity: 5166
Merit: 12850
November 24, 2013, 02:08:56 AM
#10
The first change is to put the trust feedback list in reverse chronological order, so that we can immediately see what the person's been doing.

It is...

Along with this the trust needs both positive and negative showing on posts

It does... The second number (orange when non-zero) is the number of scam reports.
legendary
Activity: 1512
Merit: 1028
November 24, 2013, 01:54:17 AM
#9
A final idea, give users two ratings:

1. Financial transaction feedback and scam reports
2. Thumbs up or down on message contents

Too many people are abusing the trust system for posters who's opinions they don't like - give them another outlet to thank posters or indicate that someone is a spamming windbag.
legendary
Activity: 1512
Merit: 1028
November 24, 2013, 01:47:33 AM
#8
Something to consider is how scammers work.

First case:
1. build reputation
2. steal, trick, lie

Then there is the other:
1. Go in the noob forum and start dumping scams, phishing, paypal offers immediately. Lots of sock puppet "thanks", "got my payment" responses first.


The trust system should be able to quickly warn of trust-builder-gone-rogue-which-was-the-plan-all-along quickly. Recent negatives should have a weighted and multiplying effect. If somebody says "sorry suckers, I'm off with all your bitcoins!", their feedback shouldn't stay positive while they scam dozens more.

The first change is to put the trust feedback list in reverse chronological order, so that we can immediately see what the person's been doing. I also don't need to have feedback hidden because I never "trusted" the responder.

Along with this the trust needs both positive and negative showing on posts, not a total score. A single negative is enough that someone should look.

The second is to remove the importance of trust authorities, if someone is a mod, they should be moderating instead of handing out mega-trust. Maybe we can individually pick who's feedback is more important, but that's a lot of metas for users to manage. One user = one rating. Multiple unscored messages or interactions should be able to be left, but only by rule if multiple transactions happened.

The third is to identify false sock webs of trust. Some good AI needed to identify circles of +1s that have no community surrounding them. New users should not be able to leave positives for a while. They can still report that they were dumb noobs and got scammed, but can't prop up their sock puppets.
legendary
Activity: 1120
Merit: 1001
1NF4xXDDpMVmeazJxJDLrFxuJrCAT7CB1b
November 24, 2013, 01:02:01 AM
#7
i would like to know why i have 19 good trust vs 1 bad comment and my feedback score is -6 with a WARNING under my name.

whatever the reason is, that definitely needs to be fixed. one persons feedback should not outweigh everybody else's. everybody's feedback should be weighed the same. look how ebay does it. if you have 10 positives and 1 negative your score is at 9. thats how it should be done. one bad feedback that was given when no scam ever took place certain does not warrant a WARNING under a users name. moderators also need to be active controlling spam/fake/abusive feedback. if you leave the community to govern itself it will always be a disaster.
legendary
Activity: 1176
Merit: 1233
May Bitcoin be touched by his Noodly Appendage
November 19, 2013, 11:37:47 AM
#6
Also if you don't want to go through all the ratings, then just add a column (or more) in the profile table and update it (them) each time someone adds a rating to the user

A column of what? Trust scores depend on the viewer's trust network, so it can't be cached globally.
I meant a column in the DB, but yeah I forgot it depends on the trust network...
administrator
Activity: 5166
Merit: 12850
November 19, 2013, 09:06:02 AM
#5
Also if you don't want to go through all the ratings, then just add a column (or more) in the profile table and update it (them) each time someone adds a rating to the user

A column of what? Trust scores depend on the viewer's trust network, so it can't be cached globally.

So the total scammed amount doesn't have any impact on the trust score?

No.
legendary
Activity: 1176
Merit: 1233
May Bitcoin be touched by his Noodly Appendage
November 19, 2013, 04:09:25 AM
#4
So the total scammed amount doesn't have any impact on the trust score?
Also if you don't want to go through all the ratings, then just add a column (or more) in the profile table and update it (them) each time someone adds a rating to the user
administrator
Activity: 5166
Merit: 12850
November 18, 2013, 11:15:30 PM
#3
I was guessing scammed == scam_reports (i.e. total unique users who report scamming) Huh

Right. I fixed it.
legendary
Activity: 1176
Merit: 1233
May Bitcoin be touched by his Noodly Appendage
November 18, 2013, 02:00:10 PM
#2
scammed = total BTC from negative ratings?
administrator
Activity: 5166
Merit: 12850
November 17, 2013, 09:33:26 PM
#1
Currently, trust scores are calculated in this way:

Code:
scam_reports = total unique users who report scamming
reports = total positive ratings
btc = total BTC from positive ratings
unique_reports = total unique users who posted positive ratings
oldest = timestamp of the oldest positive trust rating
latest_scam = timestamp of the latest scam rating

scam_multiplier = 1
# recent scam = bigger negative score
if(current_time - latest_scam < 7 days)
    scam_multiplier += 1.5

# new member = bigger negative score
if(current_time - oldest < 60 days)
    scam_multiplier += 3

months = months since oldest
total = reports + btc/50    # 50 BTC = 1 report

# long-term con men
if(total > 0 && scam_reports > 4)
    scam_multiplier += (scam_reports / total) * 50

# Approximately limit the number of points each person can contribute each month
subtotal = min(2*unique_reports * months, total)
# Newer users have smaller point limits
limited_total = min(subtotal, 10*months) / 10

score = min((limited_total * months - scam_reports * scam_multiplier), 150)

This kind of sucks. Any suggestions on how to improve it? I'd prefer to avoid looping through all of a user's ratings because this is much slower than just using aggregates and single-row queries, but this server can probably handle it if necessary.
Jump to: