Community Awareness, Altruism & Diversification 🎯TOP 25🎯 CURATORS🏅 {CAD Curation Ranking System}

in #steemit9 years ago (edited)

cad5.png

Concept

Have you ever wondered which Steemians are best Curators? ...Unfortunately, SteemPower by itself says nothing. It is however, easy to see who are best Content Creators; just navigate through Tags and Trends...and there you go!

But, what about Curators?

I believe there is not enough attention for them, and, as they are as important -if not more- than Content Creators, a better visibility is well deserved.

CAD is an open-source ranking system developed to portrait and rank Steemit Curators by specific indicators. Although CAD is still a prototype, theoretically the following three different indicators are strong enough to discriminate how good a Curator is.

Community Awareness:


community.png

awareness.jpg

This coefficient measures how much a curator votes different authors in relation to the total voted posts.

Altruism Coefficient:


altruism.png


The more a Curator votes other authors rather than himself, the greater the coefficient.

Diversification Coefficient:


diversification.png


Some Curators might vote very generously other users; however, this coefficient ensures that those who selectively vote with more weight specific accounts get penalized.

Do you still remember Standard Deviation from high school maths lessons? This is exactly what is used here. Although a bit complex to explain with actual numbers, Standard Deviation basically measures how spread the voting is among the different authors.

Formula


The CAD system aims to discriminate among users by three different coefficients.
formula.png

Which translates into:

formula2.png

Ranking Top25 best Curators

"A" stands for Altruism, "D" for Diversification & "C" for Community Awareness

nameAuthorsAAvgVote%D (σ)CVotesσIndex
@pharesim17100,992941,06E-020,3325148313297969
@freeyourmind2061,00099581,00E-040,312660611193249
@acidyo4720,96320974,77E-040,45410402004177694
@glitterfart3530,99060571,65E-040,7314833091132668
@analisa2781,00023044,34E-040,52253378295501
@skan1861,00026473,78E-040,809230183967059
@dunia7061,00079121,26E-040,5031403311947368
@anwenbaumeister3880,96740012,50E-040,736527207945625
@onceuponatime691,00096381,04E-040,335206163944770
@fuzzyvest1511,00049952,00E-040,314481355344729
@dan461,00011089,02E-040,78059199042890
@thisvsthis1661,0007501,33E-030,34847788442815
@cervantes1980,98723204,31E-040,371533145642046
@kushed5471,00034712,88E-040,4251287286238875
@xaero11940,99856411,77E-040,649299346933013
@shaka1730,99831693,16E-040,579299264931656
@slowwalker4520,99116955,90E-040,3521283252231357
@steemed241,00094741,06E-040,113212170131335
@fyrstikken5910,99213737,28E-040,713829326630045
@transisto1061,00072101,39E-040,442240483426041
@steempower1291,00089921,11E-040,510253209025245
@s4s3901,00085581,17E-040,589662299324384
@ioc1181,00066881,50E-040,494239386819997
@fminerten2771,00029113,43E-040,2471120403119244
@steempty2811,00030063,33E-040,2471137408519118

Congratulations to the Top 25 Curators by CAD Ranking System!!

Data Conditions

  • Minimum Total Weight: 10^7
  • Date: after HF19
  • Only considering Posts with payouts greater than 20BSD

Code & Developers Support


Javascript query to SteemData server. Thanks @Furion for the great work!
Feel free to suggest changes or improvements!

db.Posts.aggregate([

{$match :{"total_payout_value.amount":{$gt:20},"created":{$gte: new ISODate("2017-06-20T12:27:12.000Z")}}
},
{$unwind : "$active_votes"},

{
    $project:{
        areEqual: {$eq:["$active_votes.voter","$author"]},
        author:"$author",
        voter: "$active_votes.voter",
        weight: "$active_votes.weight",
        percent: "$active_votes.percent"
    }
},
{
    $group:{
        _id: {voter:"$voter"},            
        total_weight: {$sum:"$weight"},
        authors:{$addToSet:"$author"},
        total_curated_weight: {$sum: 
            {$cond:[{$eq:["$autor","$votante"]},null,"$weight"]}},
        avg_percent:{$avg:"$percent"},
        avg_weight:{$avg:"$weight"},
        max_weight:{$max:"$weight"},
        stdDev:{ $stdDevPop:"$percent"},
        count: { $sum: 1}  
        
    }}, 
    
{
     $match:{
         total_weight:{$gt:100000000}
     }
},
       
{
    $project:{
        _id:0,
        name:"$_id.votante",
        UniqueVotedAuthors:{$size:"$authors"},
        Altruism: {$cond:[{$eq:["$total_weight",0]},null,
            {$divide:["$total_curated_weight","$total_weight"]}]},          
        Total_curated_weight: "$total_curated_weight",
        Total_weight: "$total_weight",
        AvgVotepercent:{$trunc:"$avg_percent"},
        diversification:{$abs:{$cond:[{$eq:["$stdDev",0]},null,
            {$divide:[1,"$avg_percent"]}]}},
        CommunityAwareness:{$cond:[{$eq:["$count",0]},null,
            {$divide:[{$size:"$authors"},"$count"]}]},
        Count:"$count",
        VoteStdDeviation:{$trunc:"$stdDev"},
        CAD_Index: {$trunc:{$multiply:["$total_curated_weight",
            {$cond:[{$eq:["$stdDev",0]},null,
            {$divide:[1,"$stdDev"]}]},
            {$cond:[{$eq:["$count",0]},null,
            {$divide:[{$size:"$authors"},"$count"]}]}]}}
    }
},
{
    $match:{
        diversification:{$ne:null}
    }
},
{$limit:35},
{$sort:{"CAD_Index":-1}}
    
]
).toArray()


Image sources:
http://www.npr.org/tags/131336520/altruism
https://blogs.cfainstitute.org/investor/2015/05/21/the-diversification-dividend/
http://www.warollers.com/community-awareness.html

Sort:  

Very good, congrats again.

Would it be possible to prepare a web page with a form on it to calculate CAD?

Keep up the good work!

Thanks @ervin-lemark.

Yes sure, wouldnt be a big deal. What is the idea behind?

The idea is to simply enter one's username and get out her / his CAD. If it can be done as a web service then other sites can use it too. Like steem.supply for example.

Great analytics. Resteeming so I have it in my feed to re-read later.

I want to learn how to code and retrieve from steem data! Any tutorials? I am not familiar with open source. I am too bound in .NET.

Yeah why not, I could make one =) what would you like to learn exactly?

That is the thing... I do not know where to start looking into it. How to read the steem metadata and probably easily to retrieve posts later on web pages for easy access, as a start I guess

I will think about something ;)

Great information!

I appreciate!

Coin Marketplace

STEEM 0.04
TRX 0.33
JST 0.102
BTC 65258.47
ETH 1901.09
USDT 1.00
SBD 0.38