Steemit Business Intelligence: (Busy) .org & .pay Votes - April 2018
Busy.org GitHub Link: https://github.com/busyorg/busy
Details
The analysts liked using busy.org since finding out about it in the middle of October 2017. There is much to like about busy.org as a front-end app for the Steem blockchain. In Busy v2.4 Release post the developers announced some of the new features and functionalities added to the already feature-rich dApp. The analyst specifically find the notification, and drafting functionalities useful.
The analyst also enjoys the rewards from the two busy accounts busy.org and busy.pay. The thought behind doing this analysis came about when the analyst noticed a transition from getting upvotes from the busy.org account to now getting upvotes with significantly higher value from the busy.pay account.
Outline
In an attempt to answer when upvotes from using busy.org in posting comes from busy.org or busy.pay, the analyst plotted some information and data points outlined below:
- May 1-7 Follower Vest & Upvote Weight from busy.org and busy.pay
- Busy Robot Code Summary from GitHub
- January to April Upvotes Count Between busy.org and busy.pay & Average Reputation of Authors
- Reputation Min-Ave-Max of Authors Upvoted by busy.pay
- January to April Upvotes Count Between busy.org and busy.pay & Average Account Age of Authors
- Account Age Min-Ave-Max of Authors Upvoted by busy.pay
- Top 50 Authors By Summed Upvote Weight from Both busy.org and busy.pay
Scope of Analysis
This analysis will look at four months trend of upvotes for users of busy.org. The analyst will seek to point out changes in voting behaviors between the accounts busy.org and busy.pay throughout January 2018 to April 2018.
The data to build most of the charts were generated at midnight of May 12, 2018 capturing data-points related to the study between January 1, 2018 and April 30, 2018. The scatterplots showing Voting Weight and Follower Vest however have had to be delimited further to May 1-7, 2018. This is due to the fact that follows are very dynamic, and the analyst wanted to stay as close to the Follower Vest at the time of generating the data, and the actual Follower Vest at the time when the upvotes were casted. As it is, there is already 11 days worth of difference at the maximum.
Tools
The analyst used arcange's Steem SQL Database to obtain the data related to authors, reputation, account age, upvotes, upvote weights, upvote counts, and follower vest. The analyst had to combine at least a couple of tables per query to capture most of the data-points. Outlined below are the queries used using Comments table, TxVotes table, Accounts table, and Followers table in combination.
/*Data for Upvotes & Accounts Information*/
SELECT
YEAR(Comments.created) AS [YEAR],
MONTH(Comments.created) AS [MONTH],
DAY(Comments.created) AS [DAY],
Comments.Author,
Comments.author_reputation,
Comments.created - Accounts.created AS [ACCOUNT_AGE],
TxVotes.voter,
TxVotes.weight
FROM
Comments (NOLOCK)
INNER JOIN
TxVotes (NOLOCK) ON TxVotes.permlink = Comments.permlink AND
TxVotes.author = Comments.author
INNER JOIN
Accounts (NOLOCK) ON Accounts.name = Comments.author AND
Accounts.name = TxVotes.author
WHERE
TxVotes.voter in ('busy.org') AND
YEAR(Comments.created) = 2018 AND
MONTH(Comments.created) < 5
'busy.org' was replaced by 'busy.pay' to get the data related to 'busy.pay' upvotes
/*Data for Follower VEST */
SELECT
Followers.following,
Followers.follower,
Accounts.vesting_shares
FROM
Followers
INNER JOIN
Accounts (NOLOCK) ON Followers.follower = Accounts.name
WHERE
Followers.following in ('authors')
GROUP BY
Followers.following,
Followers.follower,
Accounts.vesting_shares
The analyst couldn't figure out a way to directly capture Follower VEST through the use of an INNER JOIN, and had to list down all 2109 authors upvoted by busy.org between May 1-7, 2018 in three slices. The same was done for the 838 authors upvoted by busy.pay during the same timeframe.
The data-point collected were processed using Microsoft Excel, and the charts were created using Microsoft Power BI.
- The characters VESTS in the vesting_shares column of the Accounts table was removed using the formula =VALUE(LEFT(vesting_shares,LEN(vesting_shares)-6))
- The author_reputation in the Accounts table was converted to simple_reputation using the formula =IFERROR((ROUNDDOWN(MAX(LOG10(ABS(author_reputation))-9,0)IF(author_reputation>=0,1,-1)9+25,0)),25)
Results
You would notice that the analyst used a marker by changing the color of a specific dot (red) in both the above and the below chart. This is to highlight that where the upvotes from busy.org ends (1 Billion Follower Vest), the upvotes from busy.pay begins. In This Announcement from busy.org six months ago, the minimum requirement to get an upvote was just 1 Million Follower Vest. That has changed significantly since as what will be shown in the next section where the code will be summarized. This indicates the community's increasing adaption of busy.org.
Much like the busy.org chart, the dots in this scatter plot for busy.pay seems to be following a straight line with very minimal outlying dot. gregory.latinier for example with <800 Thousand Follower Vest was upvoted twice at 50% voting power. Greg is from the developer team of busy.org, and have made a few significant contribution to the development of the front-end recently.
Busy Robot Code (GitHub)
The code can be found in busyorg/busy-robot in GitHub. The analyst have no development background and understand very little of programming language, but will attempt to break the basics down.
/*Lines 55 to 58*/
55 && jsonMetadata.app.includes('busy') // Must have 'busy/' as app
56 && jsonMetadata.tags
57 && !jsonMetadata.tags.includes('test') // Must not include tag 'test'
58 && jsonMetadata.tags.includes('busy') // Must include tag 'busy'
To get an upvote, the posts should have been posted in busy.org, have the tag 'busy', does not contain the tag 'test'.
/*Lines 11 to 20*/
11 // Delay between 2 votes is 12 hours
12 const delay = parseInt(process.env.STEEM_VOTE_DELAY || 43200);
13 // Amount required to get the minimum upvote (1%) is 20000000 VESTS ~ 2 Dolphins ~ 10 000 SP
14 const minVests = process.env.MIN_VESTS || 20000000;
15 // Amount required to get 100% upvote is 4000000000000 VESTS ~ 2 000 Whales ~ 2 000 000 000 SP
16 const maxVests = process.env.MAX_VESTS || 4000000000000;
17 // Don't upvote user beyond 10000000000000 VESTS
18 const limitVests = process.env.LIMIT_VESTS || 10000000000000;
19 // Don't upvote more than 25%
20 const maxUpvote = process.env.MAX_UPVOTE || 2500;
Maximum of one upvote every 12 hours, to get the minimum upvote the author must have 20 Million Follower Vest, to get the maximum upvote the author must have 4 Trillion Follower Vest.
There is a mechanism to increase the required Follower Vest to get an upvote if the account runs out of voting power. In this GitHub Link, the current settings is as follows.
STEEM_USERNAME=busy.org
STEEM_POSTING_WIF=12345...
STEEM_VOTE_DELAY=43200
MIN_VESTS=100000000
MAX_VESTS=500000000000
LIMIT_VESTS=1000000000000
MAX_UPVOTE=2000
This is consistent with our observation in the scatter plot chart for busy.org upvoted authors between May 1-7, 2018.
Busy.Org & Busy.Pay Votes & Authors' Reputation
I created this chart in relation to a Q&A from the announcement of the busy.org bot six month ago.
This chart clearly shows that the higher valued upvotes coming from the busy.pay account is generally given to Steemians with higher reputation score, consistent with the thinking behind the bot six month ago.
Busy.Pay Upvoted Authors Min-Ave-Max Reputation
I built this chart just to show that the thinking is not 100% correct, and it does not have to be. In April for example, there were four authors with less than 25 reputation score who were upvoted by busy. pay. 4 out of 838 or less than 0.5% is not bad at all. Like the answer from the busy.org team when asked the question about quality, these authors are likely to lose their followers soon.
Busy.Org & Busy.Pay Votes & Authors' Account Age
Because building ones following is a function of activity (resulting to higher reputation depending on the quality of engagement) and time, The analyst wanted to differentiate between the two accounts busy.org is using to upvote contents. Much like in the reputation chart, the higher upvote value account (busy.pay) is upvoting more tenured Steemians who use busy.org.
Busy.Pay Upvoted Authors Min-Ave-Max Account Age
Top 50 Authors Sorted By Upvote Weight
In this charts, the summed weight is just the count of upvotes multiplied by the average upvote weight received. In the busy.pay Top 50 for example, this means that kingscrown received the equivalent of 21.6 full upvotes from busy.pay account. At current value the equivalent of 21.6 full upvotes received by kingscrown is equal to >$1,500 taking an average voting power of 60% based on SteemNow.
There's few overlaps in the list of top Authors between busy.org and busy.pay upvotes. This would have been the authors who transitioned from getting upvotes from the .org account to the .pay account.
There's few overlaps in the list of top Authors between busy.org and busy.pay upvotes. This would have been the authors who transitioned from getting upvotes from the .org account to the .pay account. Here is a list of those authors for reference.
-------Author------- | -------Busy.Pay Rank------- | -------Busy.Org Rank------- |
---|---|---|
rigaronib | ||
dolov | ||
olga.maslievich | ||
jrcornel | ||
sokoloffa | ||
gringalicious | ||
hakeemshah96 | ||
meesterboom | ||
sauravrungta |
Conclusion
From the announcement of the bot six months ago, busy.org has lived up to both their tag lines "Rewarding your influence", and "Ensuring compensation for the creators of value". There's known places where to get information about when the busy.org account upvotes, and based on the data presented by the analyst in this study, busy.pay starts where busy.org stops based on authors' follower vest. This analysis also reinforces the correlation between reputation, age, and following as measures of influence in the platform.
Hi @steemitph, just on a side note: the busy.org and busy.pay bot changed in April from https://github.com/busyorg/busy-robot/ to https://github.com/busyorg/busy-bot.
Link to the Answers of the Questionnaire - Click here
Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]
Thanks for the pointer @crokkon, and for reviewing my work. Must be tough moderating without the frontend and your usual tools. Thanks for all that you do in this tough time.
Hey @crokkon, Here's a tip for your work and efforts!
Upvote this comment to support Utopian and increase your future rewards!
Hey @steemitph
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!
Contributing on Utopian
Learn how to contribute on our website or by watching this tutorial on Youtube.
Want to chat? Join us on Discord https://discord.gg/h52nFrV.
Vote for Utopian Witness!