Engagement-based Reputation System: Connecting Three Dots
Reputation is one of the most important element in social network system. It is a source of social capital for each individual and a higher reputation generally means one is perceived as more reliable and contributive for the society. On the other hand, low or negative reputation is regarded as that a person provides less benefit, or sometimes do harmful behaviors to the community. Then does Steem's reputation system meet these expectation?
Activeness and value
To answer the question, we first need to clarity what adds value to our community. However, there is no single answer and it is very hard to make a conclusion. One says engagement, another says number of users, and some other may say marketing, and so on. The only thing we can tell is this: no activity creates no value nor harm. So if one who does not active for a significantly long time (might leave Steem) should have neutral reputation.
Counterexample
However, the problem of Steem's reputation system is that people with no engagement still have high reputations. I looked up reputation leaderboard and found an example in 51th place. The account has over 70 reputation but its last activity is 3 months ago and it seems the account only upvotes mirring other's vote. Does it deserve 70+ reputation? Probably hard to say yes, but it has 70+ now and will have too.
Another flaw
In addition to high reputation for the inactive, a reputation in the current system can be effectively heightened by whale's recursive voting. This is because the current reputation is an accumulation of given rshares(in plain English, upvotes) and it does not consider who votes.
Downvote from hollowman
Finally, a recent flood of downvotes by @asshole raised another issue. The main problem is asymmetric game; we cannot downvote him but he can downvote us, since we have activities but he has none. Should we allow hollowmans in our voting game? What happens if we have hundreds assholes?
Reputation based on engagement
To address these problems, I would suggest to a reputation system based on engagement, temporally called En-rep. Briefly, the calculation of Enrep is as follow:
- Only votes on one's activities(post and comment) in last 7 days are considered
- Multiple votes from same account for an author in the period is averaged. (e.g. If Bob voted for Alice 100% Monday and Bob voted again for Alice 50% Wednesday, his vote is considered as 75%)
- If one's Enrep is zero or below zero, its voting power(rshares) is significantly reduced
- Low Enrep accounts cannot decrease Enrep of higher accounts
Based on these rules, I simulated Enrep from 1/1~1/18. Reduced voting power for negative Enrep account is 0% (so negative Enrep accounts have no voting power) and zero accounts have only 10%. The following table presents snapshots of top 50 Enrep. We can notice highly engaged people with positive feedback are ranked.
Rank/Date | 2017/01/09 | 2017/01/12 | 2017/01/15 | 2017/01/18 |
---|---|---|---|---|
1 | good-karma | furion | furion | busy.org |
2 | unipsycho | unipsycho | good-karma | good-karma |
3 | jdcrunchman | the-alien | the-alien | firepower |
4 | firepower | dragosroua | krnel | dragosroua |
5 | the-alien | schattenjaeger | schattenjaeger | stellabelle |
6 | krnel | papa-pepper | kevinwong | the-alien |
7 | papa-pepper | krnel | dragosroua | kevinwong |
8 | schattenjaeger | kadavy | ats-david | hanshotfirst |
9 | kadavy | ats-david | stephenkendal | schattenjaeger |
10 | elena-singer | kingscrown | kingscrown | kingscrown |
11 | nspart | writingamigo | steempower | stephenkendal |
12 | steemsports | luzcypher | doitvoluntarily | norbu |
13 | awesomenyl | araki | sweetsssj | steempower |
14 | thecryptofiend | steempower | luzcypher | mariandavp |
15 | sirlunchthehost | officialfuzzy | barrydutton | chainsquad |
16 | araki | awesomenyl | justtryme90 | thecryptofiend |
17 | dragosroua | donkeypong | jacobtothe | senseiteekay |
18 | infovore | jacobtothe | norbu | sweetsssj |
19 | silvia | hanshotfirst | writingamigo | doitvoluntarily |
20 | little-peppers | timcliff | surfermarly | ats-david |
21 | ats-david | clayop | elfkitchen | ballinconscious |
22 | andrarchy | richq11 | cardboard | larkenrose |
23 | luzcypher | elfkitchen | mynameisbrian | codydeeds |
24 | furion | good-karma | thecryptofiend | krnel |
25 | timcliff | eroche | the-future | donkeypong |
26 | lukewearechange | homeartpictures | gorish | riskdebonair |
27 | charlieshrem | bacchist | riskdebonair | timcliff |
28 | exyle | mynameisbrian | hanshotfirst | justtryme90 |
29 | virtualgeisha | the-future | kafkanarchy84 | folaut89 |
30 | theprophet0 | nonameslefttouse | larkenrose | steemitblog |
Hybrid is possible
The downside of Enrep system is it's volatile so actually it's not a capital. As an alternative, we can combine current reputation system and Enrep system, e.g. 25% accumulated reputation + 75% Enrep (they need to be standardized).
Expected outcome
The advantage of the suggested system is connecting the three dots, engagement, reputation, and power. One who is just running a voting bot does not profit much. Activities with positive feedback from the community is a necessary condition for being influential in our community. Also, howllow downvoters is almost impossible since even he/she pretends good to have enough Enrep, it will be gone in 7 days if he/she starts to downvote. But the most important outcome of Enrep would be making more people active and contributed to Steem.
This is a great discussion and I like your model of engagement. It needs to be combined with the more traditional ladder model, I think, and somewhere in there would be a good formula.
We should have the option to downvote or upvote a user itself.... Maybe that option should be available only for users with certain SP holdings or more... That way we could downvote any @asshole until he can not shit anymore...
I thought it too, but what if assholes create lots of account and start downvote on other users at the same time upvote themselves? Or what if a low-rep user move SP into other new accounts and upvote each other?
I think it can be the chicken-and-egg problem.
SP weighted?
It can be. However one of my focus is to increase engagrment.
That is another way for sure. Would there be any downsides to it?
What do you propose for people that engage less frequently but are still valuable contributors to the platform or when someone takes a holiday?
This type of engagement incentive tied to rewards (more voting abilities) could add nicely to gratification features of the site.
@liondani Yes, thanks! I think hybrid model needs to introduce depreciation on stocked reputation part. So if a user isn't active for a long time, his/her stocked reputation is decreasing.
hybrid
I like the 7 days trail interval. I was thinking along the same lines, namely that we need to enter into the reputation pool the actual activity. It's a problem commonly met in other social circles which are inflating their number of users, just because they are there. I have 5000 Facebook "friends" but I don't think 1000 of them are actually active. So just because you signed up and got to a certain level, it doesn't mean your authority / reputation may stay at the same level for ever. You need to engage and to prove you're "alive".
But I would extended the "aliveness" period to at least 1 month (i.e. taking into account votes for the last 30 days). It doesn't mitigate much the asshole problem, but it gives a much honest representation of the reputation, including engagement. The number of people engaged every week is just 30% from the people engaged over 30 days (or so I remember from watching the other day the steemd.com statistics). In other words, the core users are just one fifth of the whole active population. It will create an imbalance.
As for punctual situations, like the flood of downvotes from a specific account, there should simply be a threshold: if you downvoted 10 times in a row, you lose all your reputation / voting power. It will force the attacker to at least have an upvote every 10 downvotes, to reinstate the ability to vote (and possible many more upvotes to build some influence before he actually can have an impact with a downvote).
30 day period is good and actually it's my initial thought. But I was curious technical possibility, and 7-day is the same period as payout period proposed in the HF 17
I saw the overlapping between your proposal and HF17 specs, but I don't see them very strongly linked. I think 30 days is better for the average user.
Yes, if a longer period doesn't require additional memory use, I also prefer that.
I think I more important kind of reputation is one I build up over time, using my own subjective criteria: @user-A writes posts I like, writes useful comments, etc and so on. And perhaps the community is built up of the sum of these assessments. Could this be quantified and expressed as data?
What comes to mind are those connection maps of social media, I'm not sure exactly what they're called. Then I could look up @user-A and see who they are connecting with regularly, check out @user-B's posts.
That's the current system, but it has some flaws as I mentioned (recursive vote from big stakeholders, inactivity isn't considered)
I think there are some really good ideas and you're heading in the right direction. I am not sure about the time limits, but I think overall, this is very thought provoking.
I was thinking that the way for people to get flagging priveliges is to post. Without posting, you can't flag anyone....