How reputation scores are calculated - the details explained with simple math
I couldn't find a really good explanation of reputation, so I read the code, and here's what I discovered.
Simplified vs. Raw scores
The score displayed on your Steemit profile is not the actual value stored in the Steem blockchain, but a simplified version. The scores on profile pages range from a minimum of roughly -25 to maximum of around 75, with newly-opened accounts placed exactly in the middle at 25. The raw scores on the blockchain, however, are actually values in the millions, billions, or even trillions (and these can also be positive or negative).
Simplified scores are shown on Steemit profiles, for example here: steemit.com/@username. Raw scores can be found on steemd.com/@username, note the slightly different domain names there. On steemd.com scroll to the bottom row of the first data box, where it says "Reputation", you'll likely see a number in the billions.
Here comes the math
Numbers in the billions are good for computers to do lots of complex math and fine tuning, but they're not easy for humans to read, hence the simplifed version shown on profile pages. Here is the formula for the simplification:
- Take the log base 10 of the raw score
- Subtract 9
- Multiply by 9
- Add 25
- Round down to the nearest integer
So a raw score of 26,714,311,062 becomes a simplified score of 37.
Actually, it's a little more complicated than that, but this is a good summary. I'll leave the extra details out for now, because I want to keep this simple. Scores in the lower end are normalized to 25. It takes a little while for newly-registered users to move off 25, but once you finally get to 26 or above then the formula described above is valid.
This is a snippet of the actual code used by the system. It should make sense to most programmers:
If you want to read and decipher the exact math, see the code in GitHub on the following page. Look at the last section, beginning "export const repLog10".
https://github.com/steemit/steemit.com/blob/master/app/utils/ParsersAndFormatters.js
Tracking your score increases
As mentioned, for new users the simplified reputation score is always 25, and it stays there for a while even if you post and comment a few times. Only once your raw score exceeds around 1,300,000,000 will you finally move up to a simplified score of 26. These are aproximate rounded numbers matching simplified scores to raw scores:
- 26 = 1,300,000,000
- 27 = 2,000,000,000
- 29 = 3,000,000,000
- 31 = 5,000,000,000
- 34 = 10,000,000,000
Note that buying Steem or Steem Power does not increase reputation. Only posting, commenting, and curating will increase your rep. So if you'd like to see your reputation increase (and thus your curation power) the secret is to get engaging! Post and comment with some high-quality and original content.
Further details
While studying this, I also found the following post by @dantheman helpful. It doesn't quite cover the details I've described above, but it provides other useful info about how reputation works:
https://steemit.com/steemit/@dantheman/brief-update-on-reputation-score
Also note, it's possible these reputation calculations could change at any time. So if you've Googled and are reading this some time in the future, take care to go back to that GitHub page and check the code again.
Great info, I have been looking for this! I will be linking to this article in the Official Steemit FAQ.
If possible, could you do another post showing examples of how a person's score would be affected in particular scenarios? For example:
If someone with X amount of Steem Power and X reputation score likes my post, how much will my reputation score increase?
https://steemit.com/steemit/@shenanigator/official-steemit-faq-rough-draft-your-edits-are-needed
Also, based on the math you lay out in this post, I think I had some misinformation in my rough draft that I linked. I said:
If that is, in fact, wrong, can you tell me what would make it correct?
I think that's correct. Dan said roughly the same thing in his post that I link at the bottom of my article, and I'm sure he knows better than me.
very interesting calculation! thank you for this! A bit frustrated how you got that amount of vote, life is really unfair! tsktsk
A proper log10 scale would mean a score of 41 was 10x a score of 40... I think this means it's not a true log10 scale. Just a ((log10)/10) scale... if that makes sense?
Thank you @digitalnotvir
Your post help me alot
I'm new in steem.
Hope I will progress in this platform
Really helpful and most appreciated. I post a full essay every weekday, over 300 already, and I write all of them myself. Really hope that all of you will take a look at them -- they cover life, politics, sports and entertainment. I work toward high-quality writing, solid editing, and try to make a good point every day.
this was so helpful, thank you for this post!
Very useful and interesting article. Thank you. I just don't understand what is "raw score" and where I can see this?
How many votes would u need roughly to go form 25 to 26?
Nice information
This is a most of the great article @digitalnotvir. It's by far the most informative explanation of the reputation system that I've come across. Only posting, commenting, and curating will increase your rep @tuhin201
I am begging everyone who cares about steemit to stop saying "Quality Content". It is bullshit. Everyone is acting like we are in college. It isn't about high quality content there are thousands of posts a day. Very high quality that get a few votes. That is a problem. Quit telling people it is there writing it isn't good enough when it doesn't matter.
You have a point, to a certain extent. People who already have a high reputation seem able to post junk and still get it upvoted. Whereas those with low reputation can post quality and it'll be ignored. I think the secret is to study the system closely, work it, and gradually build your reputation up. Then, once you have your rep, you can post your quality content and it will continue to do well. In summary, it's a matter of pulling yourself up with your own bootstraps. It's not easy, but then, it's not necessarily meant to be.
Agreed, my advice is... try to get noticed. (Without offending everyone) lol. Keep Steeming
I agree with this point. As a newbie it is harder to get into this.
I guess I will try to fight my way to the top :)
But yeah Followers are a problem, some people post and get so many upvotes even if it is a small update of a Crypto Coin or something.
I keep hearing how hard it is for newbies. I'm new and on my second day I have a rep of 41. I have three blog post with 15 votes and 25 comments. I also left 18 comments. I'm set to make $15 SBD at this point which I think is pretty decent considering it's just day two. Maybe it's beginners luck but I think content (and the way you share it)
may have something to do with it. Nothing good comes easy. Push yourself to be a better author and marketer.
I'm a refugee here from other platforms and I must say it's easier to get started. Markdown is way better than WYSIWYG or the other attempts that aren't pure HTML.
In terms of monetising, it is about quality. You need to build a community of like-minded people, who would upvote you. Simple as that, and it works. On other platforms, you need hits that translate into advert clicks. It's silly.
This is a great article! It's by far the most informative explanation of the reputation system that I've come across. The link for the raw reputation information was great.
It's been so frustrating being stuck at 33 for my reputation! Have to keep working on it :).
thanks