Towards a reputation system suitable for SteemSTEM

in #utopian-io6 years ago

Although several reputation systems for Steem have been proposed (some of them even very recently), I believe that none of them are appropriate for implementation as a reputation metric that could be potentially used on our up-coming SteemSTEM app (to be officially released very soon).


[Credits: @hightouch]

Therefore, I decided to build one myself. Here I share the code and its ingredients, and would love to read comments or suggestions for potential improvements. The code is open (available from this GitHub repository) and can be used by anyone freely.

What will SteemSTEM do with such reputation indicators for now? Well, I don’t know (yet!), but it was fun to develop ;)

A good reputation for the SteemSTEM community must in my opinion include two ingredients, an authorship component and an engagement component, contributing in equal parts. Indeed, we absolutely need both authors to provide amazing contributions, and readers questioning authors and entertaining worthy discussions. I suspect that holds true for any community by the way.


AUTHORSHIP INDICATOR


The authorship metric is built from a few key principles.

Each SteemSTEM vote on a post at x% gives x reputation points at the time of the vote. The SteemSTEM curation team scours Steem to find the best STEM content. As all these blogs contributed to what SteemSTEM has become today, it makes sense they all enter any given reputation indicator.

It would be weird to assign a large reputation score to someone who contributed a lot two years ago but then left Steem. However, the reputation of that person should be somehow non negligible. After all, this person has left a trace in our memories. For this reason, I decided to introduce reputation points which vary with time. After a given time (the authorship point half-life), one point loses half its value. After twice the time, the remaining 0.5 points are 1/4 point worth, and so on. A simple exponential decay.

As SteemSTEM strives to push for quality as much as possible,e prefer someone writing one excellent post a week (thus supported very strongly) over someone writing 5 good posts a week (thus supported five times moderately). For this reason, the reputation score today (i.e. accounting for the fact that each gained point has lost value with time) is divided by the square root of the number of posts. The square root tames the effect when a very large number of posts is reached.

Finally, we may want to remove individuals from the algorithm, like the team, blacklisted people, bots, etc. Moreover, the total amount of reputation points is fixed to a given value so that each score is renormalized at the end of the day.


RESULTS FROM THE STEEMSTEM AUTHORSHIP INDICATOR


I adopted an authorship half-life of 3.5 months and excluded all team members (management and curators), bots and blacklisted authors from the run. The total number of available authorship reputation points is normalized to 1000.

The top 30 most reputed SteemSTEM authors of all time, out of 2662 authors, are (with their score):

  1 abigail-dantes            6.305
  2 chloroform                6.244
  3 egotheist                 5.918
  4 scienceblocks             5.884
  5 steemit-italia            5.691
  6 lordneroo                 5.632
  7 zen-art                   5.216
  8 nonzerosum                5.089
  9 highonthehog              4.931
 10 conficker                 4.902
 11 nikolanikola              4.893
 12 effofex                   4.808
 13 anaestrada12              4.804
 14 tomastonyperez            4.555
 15 deathbatter               4.466
 16 samminator                4.456
 17 hidden84                  4.385
 18 agmoore                   4.361
 19 romulexx                  4.357
 20 jfermin70                 4.266
 21 answerswithjoe            4.159
 22 dysfunctional             4.093
 23 elvigia                   4.047
 24 n4zrizulkafli             4.021
 25 alexander.alexis          4.017
 26 dedicatedguy              3.993
 27 lupafilotaxia             3.958
 28 anasav                    3.909
 29 scienceangel              3.856
 30 irelandscape              3.809

The code has been run on Sep 24th at 10:11:25 AM.


ENGAGEMENT INDICATOR


Here, I track every single comment to any SteemSTEM-supported post and give reputation points to the comment author.

First, if the comment length is smaller than N characters, it is considered as spammy and no po. Moreover, if the comment has been posted more than W weeks after the SteemSTEM vote, no point is given. I want meaningful comments that help illustrating that supported posts are interesting during the time in which they are hot or trending (on the #steemstem tag).

If non zero, the score is given by the square root of the comment length. The square root allows once again to make a large difference between smallish and average comments, but tame down the difference once a given length is crossed. This is the only way I have found so far to deduce the score, and I am only partially satisfied with it. But at least, it provides some level of quantification of the engagement of the readers.

As with the authorship indicator, any earned engagement point loses value with time, the score today is divided by the square root of the number of comments and some individuals can be removed from the algorithm.

The final score is normalized as for the authorship case, the total number of available points being fixed to a given value (taken to be the same as engagement and authorship are considered as important).


RESULTS FROM THE STEEMSTEM ENGAGEMENT INDICATOR


I adopted an engagement half-life of 1.75 months, and excluded comments whose length is smaller than 100 characters (N=100). I fixed W to 2 weeks. I excluded all team members (management and curators), bots and blacklisted authors from the run. The total number of available engagement points is 1000.

The top 30 most engaging SteemSTEM comment authors of all time, out of 23134 comment authors, are (with their score):

  1 erh.germany               2.886
  2 agmoore                   2.764
  3 steemit-italia            2.623
  4 amestyj                   2.621
  5 abigail-dantes            2.357
  6 scienceblocks             2.175
  7 fran.frey                 2.149
  8 insight-out               2.114
  9 rudyardcatling            2.096
 10 lupafilotaxia             2.079
 11 dedicatedguy              2.031
 12 samminator                1.979
 13 tsoldovieri               1.950
 14 alexander.alexis          1.921
 15 cyprianj                  1.853
 16 herbayomi                 1.847
 17 tomastonyperez            1.833
 18 jamalgayoni               1.756
 19 steepup                   1.726
 20 alexdory                  1.682
 21 kimberlylane              1.678
 22 synick                    1.665
 23 olamseu                   1.656
 24 emperorhassy              1.628
 25 lucylin                   1.625
 26 osariemen                 1.611
 27 ied                       1.576
 28 egotheist                 1.575
 29 delpilar                  1.526
 30 chireerocks               1.487

The code has been run on Sep 24th at 10:11:25 AM.


FINAL REPUTATION INDICATOR


The final reputation is given by the average of the two above metrics. The top 25 (with the score) is given by

  1 abigail-dantes            4.331
  2 steemit-italia            4.157
  3 scienceblocks             4.029
  4 egotheist                 3.746
  5 chloroform                3.579
  6 agmoore                   3.563
  7 lordneroo                 3.489
  8 nonzerosum                3.247
  9 erh.germany               3.245
 10 samminator                3.217
 11 tomastonyperez            3.194
 12 conficker                 3.151
 13 effofex                   3.115
 14 lupafilotaxia             3.019
 15 dedicatedguy              3.012
 16 alexander.alexis          2.969
 17 anaestrada12              2.959
 18 nikolanikola              2.911
 19 cyprianj                  2.795
 20 tsoldovieri               2.734
 21 zen-art                   2.723
 22 jfermin70                 2.605
 23 alexdory                  2.598
 24 highonthehog              2.576
 25 amestyj                   2.572

The code has been run on Sep 24th at 10:11:25 AM.


MORE ABOUT THE CODE


The code can be obtained from the following GitHub repository. It is programmed in Python 3 and requires steem-python.

I am not happy with the way the engagement indicator is computed, because I need to get the information on each post separately, which takes an enormous amount of time. For this reason, the information is saved into a file when the SteemSTEM upvote on a post is older than two weeks (as any later a comment would just bring 0 point). This requires removal of the ‘null’ author from the algorithm, which is used to trace posts without any single comment.

To run it, it is sufficient to complete the setup part of the code,

## Setup
 half_life_vote    = 3.5*30*24*3600.     # 3.5 months - authorship point half-life
 half_life_comment = 1.75*30*24*3600.    # 1.75 month - engagement point half-life
 comment_timelimit = 14*24*3600.         # 2 weeks - the W number
 comment_spam_limit= 100                 # minimum number of characters for a comment to be valid (N)
 comment_filename  = 'comments_data.txt' # where to save the treated comments
 load_backup = True                      # Using the file with the saved comments
 normalized_rep = 1000                   # Score normalization

## Exclusions
 team = [ ‘null’ ]
 bots = [ ]
 blacklist = [ ]

and execute the program.

Sort:  
  • Very important development for the Steem ecosystem. I can see a use case for a sorting algorithm for an article feed to replace "trending".
  • Try to commit often to the code base instead of one huge commit.
  • Some names of variables are too generic: y, x, V_, c_, d_ cd_ try explicit naming, it will help the next person trying to understand the code.
  • This post shows very well the outcome and the why, but not the how. Show off your code, it's a dev post after all.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Hey, I didn't know you would review this. Thanks for the comments. We are now several of us working on an improved version of this. I am sure all of this will be accounted for!

Thank you for your review, @helo!

So far this week you've reviewed 7 contributions. Keep up the good work!

I am not sure what your final usage of this.

It seems heavily dependent on the curation team, not the STEM community but that might fit the use case.

A few days ago @heimindanger posted about the Dlive case and a comment he made against them. Anyone who upvoted that comment were then blacklisted for votes at the suggestion of one of the Dlive team (redjepi). This seems to be a risk of sorts here too where the personal relationships between poster and curator will effect decisions heavily in both the positive and negative, regardless of content quality. Does anyone who questions STEM or give any negative view then suffer at the hands of vindictive curators?

Even if a post itself is brilliant and attracts high engagement from the STEM community, it isn't factored in unless it gets a vote and, that size of vote is dictated by the curation team itself.

I think the curators/management should be included in the calculations for transparency purposes also as they factor into the voting and quality of STEM posts.

My concerns are things for example like:

The top 30 most reputed SteemSTEM authors of all time, out of 2662 authors

15 deathbatter 4.466

This person who I found interesting got support from their first post by the looks and all stem posts but hasn't posted at all in 2 months. They have only been registered for 4. Shouldn't reputation also come with some length of track record? Perhaps the degradation takes this into account but they are still number 15 of all time and they managed that in the first 2 of their 4 months with the last 2 being absent.

I am not a coder and this is far out of my area of expertise so perhaps it suits the purpose it is intended for.

What I do like is the degradation which should be applied to witness votes to stop inactive witnesses still holding top 50 positions. I also like that there are many people working on possible solutions to what is the useless Steem rep system. Having many people think from different perspectives means that there is a chance that something decent is developed.

Question and experimentation is good right?

Loading...

If a reputation system like this takes it'll be an excellent motivator for engagement and quality posts. Awesome work!

My only worry is that it might devalue the contribution of longstanding members that post occasionally or members taking a break from SteemSTEM. Maybe if there was a limit to how much an old post's value could decay (like 1/8 or 1/16 of it's original value)? Then again, I wouldn't want to discourage new members so maybe it's not the best idea.

Yeah I had a similar thought about 'historical' authors, whose rep like lemouth said should be non-negligible; but then how can you do that when you introduce the half-life? Perhaps a different metric altogether for historical authors? Perhaps a tally should be taken every week or month, and then those tallies get tallied?

In other words, say steemSTEM has existed for 10 weeks. A historical member has been active for the first 5 weeks and then quit. A newer member has been active for the last 3 weeks. Both have contributed equally while they were active, getting the maximum score of 1 for every week of activity. So the historical contributor would get 5 out of 10 and the newer member would get 3.

I'm basically trying not to exclude the St. Anselms of steemSTEM :D I mean, the rep of people like JTM who are seldom publishing now will be effectively 0 in the long term by the current metric. He specifically is excluded by the code since he's a founder, but the future might give us non-founder examples.

And now I'm just typing away to increase my score. Nothing to see here. Move along. Just finger-dancing on the keyboard... la la la la la... :D

A long letterhead automatically affixed to all my comments now seems like a great idea...

Tagging @tking7798, @tarazkp and @justtryme90 as this may be relevant as an answer to their own comments.

This "max loss" thingie does not change much for the historical author, and actually, the good idea would be to introduce a way to back-trace long term authorship. For the engagement part, I think we all agree we should focus on the recent stuff.

So how to do that in practice? Well I don't know.

  • I am dividing by the root of the number of posts. Maybe this should be modified?
  • Or what about a time-dependent half-life? Every time a vote is casted, it acts on the half-life of the future points to be earned. In this way, the more one is active, the longer the point stays. If no activity is recorded during, maybe N days, then the half-life decrease progressively to go back to the nominal value.

Any thoughts?

For the engagement part, I think we all agree we should focus on the recent stuff.

Yep, that makes sense.

Other than that, I can't add much to the technical conversation :)

If the point of the reputation score is only to decide how to vote on the latest post, then it does make sense to privilege the recent stuff. I think I was thinking it more like an overall badge of merit (basically, a replacement of the steem rep number, since you're making an independent website) and felt awkwardly about discounting the historical contribution of valuable members who for one reason or another are not as present, currently, on the platform.

For the moment, the score is just something funny. Like you said, a kind of badge of merit. This is by no means affecting any future vote as the rules for votes are independent (and clearly stated).

The decaying reputation is more to have a way to slowly remove users that have left. There is a difference between not being present and having left, which is why the half-life is large. However, this may be improved (cf. the above comment by @tarazkp).

It does not change much for the historical author now, but what about after we've been running for 5 years?

I can't think of a better normalizing function to apply in place of the sqrt, given the nature of people and high volume posting. It does a good job of squashing that while bringing up the people who post few posts. Other functions would perhaps open up the middle more, but I don't see how it would help old posters.

Just to come back to this: I am planning to implement a time dependent half-life. In practice, at the time of a vote at x%, x/i% of the value lost by a point is recovered with i being a parameter to fix. I will try that later this month.

Curious to see how this changes the rank ordering.

I have considered different half-life values before picking the above ones for the exact problematics you were mentioning. However, I have never thought about a maximum loss of value. I will implement this "maximum decay" after work, and see what we get. According to the results, we could decide whether this is a good idea or not (I think it is).

Maximum decay seems like a good idea to me, so long as the value is relatively small, maybe even less then 1/16th of its original value. This criterion is likely more important for bloggers then for commenting. As we want to encourage active engagement rather then past engagement.

I agree. It shouldn’t be so large that it discourages new users from contributing and it may not work out in the end. Either way, I’m super psyched you all liked my idea :)

I have tried 1/8 and 1/16. 1/16 has an effect on what is going on beyond rank #75, the first modification being the position #78. 1/8 start affect anything beyond #10. However, the modifications sound really wrong compared to my gut feelings. Like users not active for more than a year are there... I am thus keeping the 1/16 for the next version.

You are #56 for the authorship metric and #80 for the comments, in case you are interested. This gives a final position of #50 (#51 with the original code).

That was fast work. Interesting to see where both methods start having an effect. Thanks for the ranking info too :)

I like to try things, and in any cases, many brains are always superior to a single brain (which I why I always share my ideas).

That s a great initiative and I like the introduction of the exponential decay.
I m not sure I like the normalization though, users should be motivated to see their reputation go up, but in this case it can go down just by having more users.
To make it even more complete, you could use the UA score of the post rather than its number of votes/payout.

Thank for the comment. It makes me thinking about improving the algorithm :)

I m not sure I like the normalization though, users should be motivated to see their reputation go up, but in this case it can go down just by having more users.

I agree this is great (and motivating) to see the rising evolution of the reputation score. However, I really want that the two factors, engagement and authorship, contribute equally. Consequently, one is forced to normalize somehow. Maybe a good solution would be to take the total sum of the two indicators of all users, divide by two and normalize each indicator to this number. I will definitely try that tonight. Note that by virtue of the exponential decay, the score can actually go down no matter what.

To make it even more complete, you could use the UA score of the post rather than its number of votes/payout.

I do not like the UA score because it measures somehow the connection to the top witnesses, which is not appropriate for a community. Here, we have a community account (@steemstem), with a behavior driven by the rules behind the community, that I wanted to use as a seed for the metric.

  • For the authorship indicator, I ignore the number of votes and the payout value and focus solely on the weight of the @steemstem vote.
  • For the engagement indicator, I instead use the length of the comment as a seed for the score (which is questionable, but I haven't found any better option so far). Only comments to posts supported by the community account are entering the computation.

Note that by virtue of the exponential decay, the score can actually go down no matter what.

Yep but in this case it's a "deserved" decrease of the reputation IMO.
Maybe the number of users could also be a factor in your calculation.

I do not like the UA score because it measures somehow the connection to the top witnesses, which is not appropriate for a community.

I have voiced similar concerns to @scipio since it is a very centralized way to start regarding the concentration of VESTS in the hands of the few. However, the way I understand it, it was only used to initialize the algorithm, so the importance of top witnesses should decrease over time (TBC).

But right, if you already have your own community calculation, that works!

For the engagement indicator, I instead use the length of the comment as a seed for the score (which is questionable, but I haven't found any better option so far).

Among the many projects that I want to work on but can t possibly the find the time for it, I was thinking that developing a spam detector shouldn t be too hard using machine learning and SteemPlus to let users provide samples of spammy content.

The ML thing would be great. Now, I only have an antispam filter as a minimum length for a comment. This is not optimal but allow to get rid to a large amount of spammy comment.

Am still thinking about the normalization thing. @justtryme90 is right and we don't want this to be a competition. It is just a funny metric and that's it.

I ll keep the ML on my TODO list then ^^
A bit of competition is healthy IMO as long as it doesn t become too important.

Fully agreeing here :)

Well here they would want to rise in the reputation ranking. So it would almost be a competition among users to push themselves ahead in the leader board.

Gosh @lemouth, after reading the comments on this feed I feel I don't really have anything else to add. I share @tking's concern, but I have seen the solution you presented to him, and look forward to hearing the final decision on the maximum decay idea.

You guys definitely run a tight ship here, and it is wonderful to see how far the recognition from the SteemSTEM team goes towards those who are committed to the community. People respond really well to this sort of reinforcement. It is without a doubt a very efficient way to obtain desirable outcomes (quality + meaningful engagement).

:)

Gosh @lemouth, after reading the comments on this feed I feel I don't really have anything else to add. I share @tking's concern, but I have seen the solution you presented to him, and look forward to hearing the final decision on the maximum decay idea.

Unfortunately, this only affects anyone beyond rank 75. Therefore, this is not a good solution and more brainstorming is in order. You may want to check the first comments (I tried to upvote them kind of strongly to make them visible). Any extra opinion is welcome :D

And thanks for your contributions by the way, constant after all these years ;)

Oh, how interesting. Funnily, before you were suggesting to read your article in the discord chat, I had kind of a similar question and voila, you came out with this. Synchronisity ;-)

Unfortunately I am not very good in doing numbers and leave it up to more skilled people to give you feedback on how logic and sensible your approach is.

But I like this idea for motivation. Thanks for your work!

I kind of assumed that my engagement in commenting is quite high but like it to be confirmed. I would really appreciate statistics like this. This is actually also a good tool for self-observation and to check if what I estimate relates to the "true" numbers.

It would have been a shocking surprise if you were not the top comment author of this community Erika! I immensely respect (and appreciate) the depth with which you engage with the posts you comment. Not only do you leave your heartfelt contribution to the overall message; but, you never fail to bring new information and add invaluable meaning to the discussion :)

Thank you, Abi!
I am glad about your appreciation. It surprised me nevertheless a bit as I did not so much engage for quite some time in the steemstem community as I was widening my interest also to other communities.

You yourself are a high scorer. Which I would have thought so, too. :)

It eats up a lot of time, though and taking a break and rest is needed once in a while. That's why I thought @tking77798 s argument should also be considered.

After all, quality writing and commenting (in the sense of relating to the given content and invest energy in it) requires a lot of resources in both time & energy.

@tking77798 argument is considered. I just don't know how for now... Brainstorming is in order :)

Hehe! Are we brain-synchronized? I will not repeat what @abigail-dantes said, but you deserve your #1 position for engaging the SteemSTEM community members. It was actually not a surprize to get you there automatically by the algorithm. The opposite would have be :)

I am still thinking about ways to ameliorate the code, but I am pretty sure you will keep your number-1 slot ^^

LOL! For a short timespace our brains somehow synchronized magically.

Though, I guess, having me as a commenter is not always a pleasure ;-)

Looking forward to the final of your programming.

In some time... I cannot tell when but there is no deadline here, so... :)

Is fabulous all the time and work that you dedicated to the creation of this program, it is good that STEM users realize that we are monitoring absolutely everything in the community and this type of statistics is an incentive for people to try to interact with comments a little more than usual.

The growth that STEM is showing as the months pass is great :D

People have indeed no idea on the amount of scripts we have :D

Hey, @lemouth!

Thanks for contributing on Utopian.
Congratulations! Your contribution was Staff Picked to receive a maximum vote for the development category on Utopian for being of significant value to the project and the open source community.

We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Wow, this was not expected! Thanks guys!

Hey, cool! This is a excellent idea. Really nice to see how engagement effects the overall score. Great work, thanks!

You are welcome. I am still unsure this is the best way to monitor engagement. But so far, I haven't found anything better. Any suggestion? :)

No clue, what you've good here looks good but it is missing the quality/helpfulness/"STEMness" of the comments. Although I'm not sure that's a necessary part of it as long as the discourse is good.

This is true, but you then may need machine learning and things like that. I don't want to go that far :D

Hi @lemouth, nice post.
My question is how do you treat bought bids? People using Bidbots are actually paying for bids and is thus gaining reputation, which they did not earn. In theory I can buy myself into the top reputation spot by buying a lot of votes!! This is against the principal of good content being rewarded!!

This is not possible here, as only posts voted by @steemstem and the value of the sole @steemstem upvote conribute to the reputation score. In this way, even if they are 1324 other votes to a post, they just give a sum of 0. This ensures that reputation cannot be obtained otherwise than through:

  • writing excellent STEM posts;
  • engaging authors of excellent STEM posts.

I hope this clarifies, otherwise please come back to me :)

Thank you, it does clarify.

The engagement metric rewards replying, period. I haven't looked specifically at #steemstem replies, but your top three accounts for enagement are:

1 erh.germany 2.886
2 agmoore 2.76
3 steemit-italia 2.623

The first two seem legitimately engaged. Half of the third account's replies are boilerplate:

Congratulazioni!

Hai appena ricevuto il voto del trail di @steemit-italia
...

This seems like a poor thing to reward in a reputation score. (Particularly since you weight towards longer responses.) I would suggest looking at:

  1. Does anybody reply to the comment? Do they upvote it? Bonus points if it's the original author?
  2. Is the comment unique, or the same comment on many posts?
  3. Are they engaging with a broad spectrum of writers or just the same writer over and over?

Of course, all these can be gamed too.

What you suggest is a much more complex thing. I wouldn't mind though to have a program capable of doing it. On the other hand, it raises the question in me whether I would like to be the results revealed to the public. When it's simple statistics, I am fine with it. But when I feel like I am under a more sophisticated microscope I get uneasy... hmm... but then - If I would suck by this criteria, I wouldn't be listed anyway.

If I am in favor with a particular author and encounter his content more than that of others, am I than a bad community member? ;-)

Well, it would seem a little odd to claim you were a highly-regarded member of the #steemstem community if you were just specifically a @lemouth fan. :)

I agree.
But as far as I know the community, almost nobody would behave in that way to comment only on one author. Without having the numbers of evidence I dare to make this assumption:)

We manually removed all real bots, but steemit-italia looks like being half a bot (which is why we left it there). We definitely need to improve the engagement metric (at a reasonable cost).

Concerning your suggestions, thanks a lot! They are good and I like them. I don't know what will be part of the next version, but some of them may (I have to think further about the how to do what in practice).

You have done amazingly well in my opinion. I cannot fault the algorithm for now but let's see what the future holds. We will be solving the problems that are likely to ensue one after the other. Overall, I think you have done excellently well to come up with this solution to reputation scaling.

Thanks for your nice words! I did my best, and there are still things to be improved. They will be with time :)

I like your way of thinking :-)

Do you believe that it'd be valuable to share one single influence / reputation metric among all services, (d)Apps, products available in the Steem ecosystem?

Your metric is quite detailed, basically including all kinds of interaction and engagement that can be excecuted in the Steem ecosystem (curation, comments, content creation,...), which is why I'd love to see other community projects to follow your example or at least consider to review their own metrics.

Resteemed

Thanks for passing by!

Do you believe that it'd be valuable to share one single influence / reputation metric among all services, (d)Apps, products available in the Steem ecosystem?

I think it may depend on the product. SteemSTEM is a community-based project. In this context, a reputation metric should be seen as a game: incentive to engage more, write more quality articles, etc...

As the code is public, any community-based project could run it and get their own metric. Note that heavy discussions are going-on in the first comments, in order to improve the code. A v2 may appear soon :D

Agreed! It may be especially interesting for other community projects.

Hehe, I didn't notice there was already a discussion going on. Well that's what keeps this place so dynamic and powerful :-)

Have a nice day!

This is great. It will be nice to implement this as soon as possible to be able to determine those who do nothing than churning out posts every now and then, neglecting even questions on their post comment. I really love this as it will expose those who are abiding by the rules of the community.

What a genius! Respect.

Thank you. Well the algorithm is not perfect but at least we can target the main contributors.

Thats a nice attempt

This is a righteous idea. I believe it would enhance engagement within the community.

I'm number 10 in the final reputation indicator.
Not bad though, but there's room to get better. I'm already feeling at home here, and we can only get better.

Just two words from me: "More engagement"

Go steemSTEM!!! We rock

There is always room to getter better ^^
Congrats for your position!

OH, GOOD WORK, This post is very helpful i hope all "Steemers" Benefits ;)

I beg your pardon?!

I think this are great metrics. Besides showing them in our new app, can we have a way of letting interested team members know their score? ;-P

As a team member, you are skipped by the algorithm. But if you want, I could rerun it with you in to see where you end :)

That would obviously be great!

Your authorship score is 5.339 (3rd position). You engagement score is 1.427 (37th position). The total score is 3.383 (3rd position). Note that it is expected that team members populate the top of the ranking (which is why I excluded them at the first place) ;)

Time to work on my engagement score then. Ty.

Mmmh, you may need more RCs (this was a really easy joke) :D

Hopefully, this will be fixed within a couple of days!

Interested team members could always ask directly ;)

I computed it (see above) :p

यदि इस तरह की प्रतिष्ठा प्रणाली लेती है तो यह सगाई और गुणवत्ता पदों के लिए एक उत्कृष्ट प्रेरक होगा। अद्भुत कार्य जैसा
मेरी एकमात्र चिंता यह है कि यह लंबे समय तक सदस्यों के योगदान को विचलित कर सकता है जो कभी-कभी पोस्ट करते हैं या ब्रेक लेते हैं। हो सकता है कि अगर कोई पुरानी पोस्ट का मूल्य क्षय हो सकता है मैं नए सदस्यों को हतोत्साहित नहीं करना चाहता, इसलिए शायद यह सबसे अच्छा विचार नहीं होगा धन्यवाद

Posted using Partiko Android

Well, do you mind translating into English? Am too lazy to google translate it ;)

Imagine 😂😂

Wonderful idea. Currently looking out for the steemstem app. Well, let me say I don't really like the idea of the exponential decay maybe because I'm also affected but we wouldn't want to have inactive authors filling the space diligent authors could fill. It's a nice idea anyway.

It's also nice to know the level of engagement can be measured now. I just hope school gives me enough time to keep up.

Ride on steemSTEM and well-done @lemouth

The half-life is long. After a year, you still have a reasonable chunk of the old points. But we are improving it, don't worry. The final metric may be more favorable to a good old fellow like you ^^

Good old fellow.. Lol. That's nice to hear or to see literally... :D

I like the timing of the development, with HF20 just hours away, a STEM reputation is something that is encouraging. I like how the decay process runs, I wish steemit will copy from that to run their reputation system. I just went through the entire post and I think it's more wholesome than what is currently obtainable. You must've put a lot of thoughts and work (obviously) for this, thank you.

I don't know what other UI will do, but they are more than welcome to chat and even take the code if they want to. It is after all free :)

Greetings, friends. It is good to see how this great community knows all aspects of each member and grows day by day.
Thank you for the great work and dedication that each one makes. I am proud to be part of this great community.

Thanks for your nice message (and for all your contributions to steemstem)!

Why don't you decide to collaborate with @steem-ua instead to use User Authority? Maybe witnesses weren't a good start for you in the first place?

Posted using Partiko Android

Steem-UA is a metric that measure the distance of the user to the top witnesses. It thus relies on a different bias than my proposal, that is totally not suitable for my purpose. Which is why I ignored steem-UA (that is in addition not open source if I am not mistaking) and started from scratch.

I like the relatively simple idea lemouth (and the exponential decay mirrors many natural processes, which is cool and STEM-like!).

There are no doubt possible improvements, like you could allow reputation to also factor non-steemstem voted articles (to allow cases where the occassional excellent STEM article slips by) based on the steemstem reputation of the voters - but then this would greatly complicate the system for minimal gain. Start simple, and see how things run.

I also feel reputation of steemstem management (honour members and up) be inflated to reflect their expanded role in the community.

I am not sure we will ever use the reputation to vote anything. We prefer manual curation for that. Honestly, except the fun part behind it, I don't think this will have any role, at least for now. But please wait for our upcoming App :)

The management and curators have been removed from the algorithm because of the way the latter works: they would fill all the top positions, which is what we didn't want to ;)

Hi @lemouth!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

The algorithm of this App is huge and will be more in the future. It is a great concept @SteemStem. Keep the innovative post steeming @lemouth!!

Thanks for passing by! You can count on me for moving forward around here, as I do for more than 2 years already :D

Hi, just reading this post.
Interesting indeed. I've followed the @steem-ua frenzy lately and it's nice to see potential new reputation algorithms.
Also, I like the fact that this algorithm is implemented opensource from the get go.

Will this system be used initially in the new steemstem app?
Would you make the scores available through an API for other app developers to use?

Cheers.

I don't like steem-ua for several reasons, the main ones being that the metric only measure how well one is connected to the top witnesses, if I am not wrong. This is not the kind of metric we want for steemstem of course. Moreover, I am all in favor of the full opensource stuff :D

The future of this metric is to be embedded within the app. But not now as the algorithm itself still needs more work :)

OK, thanks for the clarifications. I'm starting to wonder about steem-ua myself but reserve my judgement for later and see how it will turn out...

Engagement is super tough to measure and I'm glad I'm not the one who has taken up that task. I know @paulag has been involved in an engagement league which tries to measure such things, taking into account more than length. If I recall correctly, they look at stuff like comment depth and # of replies.

Thanks for mentioning her! I will definitely contact her, most probably in the next few weeks, so that we could potentially share ideas! There is always a better metric ^^