bisq-network / bisq2

GNU Affero General Public License v3.0
143 stars 52 forks source link

Improve reputation score algorithm and display #2014

Open HenrikJannsen opened 3 months ago

axpoems commented 3 months ago

This proposal for a 5-star system aims to replace the current relative system. It visually represents an absolute quantitative score approximation while incorporating a qualitative approach.

image

An alternative representation of the 5-star system could be:

image

Any thoughts/comments on this?

strayorigin commented 3 months ago

Thanks for the ideas and examples on this. While I like the idea of the star system and the proposed system above seems great, it seems like it's going to constantly need to be changed as scores could change over time as users becomes inactive, more bsq is invested, etc.

I like the idea of showing the total score because this solves the problem of needing to reevaluate the points to star ratio. It's also easy to understand. If the buyer uses the wizard and gets a list of sellers at the end, they can see actual numbers which I think are more meaningful than stars. With the star system, if someone has a score of 35k they will have 3.5 stars, vs someone with 59k, who will have 4 stars. This doesn't seem like that big of a difference, but the person that has the score of 59k has invested almost twice as much into the system and I feel should standout a bit more.

I also considered the idea of showing the overall ranking but think that if an inactive user returns and pushed people down the list it might confuse buyers. I've already had a few people message me about stars going down with the current system and think they might notice ranks dropping and think that it's a demerit due to a bad trade.

At the end of the day, I like the idea of C, above. It seems like the most straight forward system that users can quickly understand and requires no reevaluations down the road.

devinbileck commented 3 months ago

they might notice ranks dropping and think that it's a demerit due to a bad trade

^ That is my concern with this 5 star-based rating system. It seems to go against common experience amonst other ecommerce sites where filtering for products or sellers that have a certain rating at minimum tends to be a reasonable indicator of product quality or seller reliability as it it based on buyer feedback. Users may be mislead into believing they should avoid any sellers under a particular rating level. Where in fact those at lower levels may be just as trustworthy as those with a higher rating, they just dont have as big a reputation on the line as those that can afford to burn more BSQ.

B.2, C, or D seem like better approaches to me.

HenrikJannsen commented 3 months ago

@devinbileck @strayorigin Good points.

This in fact puts the star system in question as it carries certain expectations from the user of rating based systems. Showing the total score though requires more information and is not intuitive for newbies.

The ranking would resolve all those issues as its simple and it adjusts dynamically to changes. We could use the rank order instead of the score as input for the scale. That would avoid distortions by outliers as we just had by one burning 1000 bsq and moving all others 2 stars lower.

Atm there are about 145 users with reputation. What if we split them in x groups based on their rank order and apply a new icon to them which is not confused with a rating system? Option E might be such an icon and we could show the rank number next to it and use the x different styles/colors?

Top ranks:

Screenshot 2024-04-11 at 13 17 18

Top quarter ranks:

Screenshot 2024-04-11 at 13 17 47

Mid ranks:

Screenshot 2024-04-11 at 13 17 25

Bottom quarter ranks:

Screenshot 2024-04-11 at 13 17 54

Bottom ranks:

Screenshot 2024-04-11 at 13 17 33

So in summary my suggestion is: Create 3 icons base on the icon of option E but have 3 increasing bars with the "selected" bar having a color, others are grey. Use 3 colors from low to high (yellow, orange, green - not sure about yellow and orange).
Use the rank order as number next to bar.

If that gets too complex for small display Option E is a good alternative as well.

HenrikJannsen commented 3 months ago

We could also additionally add icons for the used reputation sources (with tooltip about details). Similar like reaction emoticons at a chat. People love to collect things and that would be an incentive for ppl to try to collect all 4 icons (in future maybe more). Not trivial to find the matching icons though...

That icon from https://github.com/bisq-network/bisq2/issues/1835 might be a good candidate for age based reputation...

Screenshot 2024-04-11 at 13 45 59

Shiny diamond for BSQ based reputation?

Or we overlay the user profiles with accessoires for those?

polishboi commented 3 months ago

For me most obvious would be "TOP 7" next to profile icon where 7 is your position in ranking, and color the TOP 7 depending on how trustworthy that person is: red if below minimum, yellow if above minimum, and green if in top 10 % of users

strayorigin commented 3 months ago

So in summary my suggestion is: Create 3 icons base on the icon of option E but have 3 increasing bars with the "selected" bar having a color, others are grey. Use 3 colors from low to high (yellow, orange, green - not sure about yellow and orange). Use the rank order as number next to bar.

I think green is a safe color. Yellow is good too. I know, not mentioned, here but I have seen suggestions of red. I think showing people as red could give the false impression that those are people you want to stay away from.

We could also additionally add icons for the used reputation sources (with tooltip about details). Similar like reaction emoticons at a chat. People love to collect things and that would be an incentive for ppl to try to collect all 4 icons (in future maybe more). Not trivial to find the matching icons though...

That would be nice to display them next to option E from above. My only other thought on option E is that maybe it should say "Rank" in front of the number so that buyers understand that a lower number is better.
Maybe: RANK # (top 10 badge) (bsq burn badge) (bsq bond badge) (sign badge) (account age badge) options for profile age badge down the road (1 year, etc) and future badges as well...

devinbileck commented 3 months ago

I think green is a safe color. Yellow is good too. I know, not mentioned, here but I have seen suggestions of red. I think showing people as red could give the false impression that those are people you want to stay away from.

I agree we want to avoid red, perhaps even avoiding yellow as it may be perceived as caution.

Maybe: RANK # (top 10 badge) (bsq burn badge) (bsq bond badge) (sign badge) (account age badge)

This seems reasonable to me.

HenrikJannsen commented 2 months ago

Can that issue be closed?

axpoems commented 1 month ago

I'll be working on this issue soon, so don't close it yet.