Earlier today asked "How can we take over Stateofthedapps.com with our Amazing apps?" and more specifically "How does the Ranking work?"
As one of the developers of I might be able to share some insights in the way how ranking on State of the DApps site works.
Initially the ranking was based on just the DAU (Daily Active Users) count. DAU for blockchain applications is calculated by counting the number of unique source addresses that transact with a DApp's contracts / addresses on a given day. On other DApp directories, like dappradar, DAU is still the primary metric used to determine ranking of DApps.
However DAU as metric has its flaws:
- What are active users? You can be using a DApp without sending a transaction.
- What are users? Do bots count? How about traders of tokens?
- The daily part heavily focusses on the hype of the moment and favours short lived FOMO gambling & fraud schemes.
- DAU is easily manipulated, there are even paid services on EOS that promise your gambling DApp to be in the top 3 for a few bucks.
Therefor we decided to move away from only using DAU, and now use a mix of metrics to determine the ranking of all DApps. When designing this new ranking algorithm we first reviewed our principles of transparency, openness, decentralization, inclusivity and continuance. How can we score DApps against those principles and express that in the overall score? Some of these principles / values can be directly connected with an objective metric, others are much harder to evaluate.
After a couple iterations and tests, we came up with a weighted algorithm that is based on 14 factors including (but not limited to):
- Daily / weekly / monthly active users
- Transaction volume
- Developer activity
- Profile freshness
- Profile strength
- Click-Through-Rate (CTR)
- User recommendations & feedback
Some of the recent promotion activities by the community on Steem have been focussing on the last part, user recommendations. While this helps to boost the rank of a DApp, it will only contribute up to 8.5% of the total score. To prevent manipulation, the exact weight is part of our secret sauce and frequently reviewed and adjusted. However I can give some generic tips how to boost the rank of a DApp:
- Encourage active usage, not only once but multiple times per month.
- Publish your codebase under an opensource license and show that it is under active development.
- Have a well balanced and up to date DApp profile on our site; list all metadata, logo, product screenshot and have a good tagline & description.
- Build and showcase something that new visitors want to check out and existing users want to recommend to others.
Easy? No ;)