Steemits Bidbot Business Income Analysis April '18

The bidbot business on Steemit is subject to much controversy, with both sides having a fair and reasonable arguments for their development and use on Steemit.  Like it or not they are now part of the Steemit ecosystem.  

Repository

 https://github.com/steemit/steem 

The aim of this analysis is to establish 

1. How much SBD was sent to Bidbots in April

2. What % of SBD paid out in author rewards is sent to bidbots

3. Visualise year to date trends 

4. Establish what % of Curation rewards are paid to bidbots

5. Establish what % of Total Vest claimed goes to bidbots


How much SBD was sent to Bidbots in April?

 

In total 362.90K SBD was sent to the top big bots as listed.  This value required adjusting to remove transfers not related to bids and also refunds where no votes were given.  This leaves a fully adj SBD value sent to bidbots for April to be 345.48 SBD.  It is the fully adjusted value we will be using from here on to based our calculation

We can see from the time graph, the daily SBD sent was less than 10K SBD until 13th April, from then there was a step rise in the daily amount of SBD and the 30th April see a 104% increase in the daily amount of adjusted SBD sent.

What % of SBD Rewards Claimed on Steemit were sent back to Bidbots?

 

SBD is the currency used to bid on these bots. SBD is earned only by taking a 50% 50% pay out on a post.  That means that SBD is NOT earned for curation.

26.64% of total SBD rewards claimed were sent back to bidbots in April. As a % of total SBD claimed on a daily basis, this reduced over the month by 42% from the 1st to the 30th April.  During the same period the rewards claimed increased by 240%.

The month of April has seen a nice increase in the price of both SBD and STEEM, which in turn has an effect on the rewards.  Looking at this data it could suggest that the bidbots are more popular when the prices are low.  This correlation is outside the scope of this analysis, however is something I will look at in the future.  However we can extend these graphs to get a better picture of the trend.

 

From the above charts we can clearly see that as the total SBD claimed in rewards decreased, the amount % of SBD sent to the bidbots increased.  The total daily SBD rewards claimed decrease bottomed at the same time that the % sent to bidbots maxed. 

Below we can see a zoom in for the daily adjusted SBD sent to bidbots and it is clear that the bidbots are now taking in the same amount of SBD per say as they were back in Jan and the chart very much follows the same trend as total rewards claimed.

 

The chart below shows the number of daily bids in red, number of posts submitted for bits in black and the number of authors in blue.

 

From this we can see that the drop offs in the number of posts and the daily bids seen in March has now seen a correction for the bot owners.

31% increase in authors and 82% increase in the number of posts from April 1st to 30th.     At the 30th April an average of 2.3 posts a day we submitted per bidder to on average 2 bidbots per post.

What % of Curation Rewards Claimed are paid to bidbots?

The business model of the bidbots allows them earn curation rewards on posts they voted on in addition to the bids made.  Year to date 30.9% of Curation Rewards claimed are paid to bidbots.

 

What % of total Vests claimed (author and curator) went to bidbots?

So far we have looked at the % of SBD earned from author rewards going to bidbots. We have also looked at the % of total curator rewards earned by bidbots.  Now we will take a look at the total vests claimed (both author and curators) made by bidbots.  The total vests claimed represents ALL author and curator rewards.

 

We can see from above for the year to date Bidbots have earned almost 11% of total rewards on the platform.  In Jan this % was as low as 6% rising to almost 18% in March before reducing again in April.

Conclusion

345K SBD was sent to bidbots for voting in April

SBD is earned only as Author rewards. 26.6% of all SBD earned on Steemit is sent to bidbots for votes.

The year to date trends show that as the SBD claimed in rewards decreased, the % SBD sent to bidbots increased, and as the SBD claimed increase the % SBD decreased.  The number of users of bots after a decline in March has now increased again.

Almost 31% of All curation rewards earned on Steemit are earned by bidbots.

10.92% of ALL Steemit earning are going to bidbots.


The data and queries

The dataset was taken using the post popular known bidbots.  The full list used was

 @kittybot   @isotonic   @getboost   @booster   @lightningbolt   @nado.bot   @shares   @peace-bot   @postdoctor   @spydo   @singing.beauty   @minnowhelper   @jerrybanfield   @sunrawhale   @sleeplesswhale   @zapzap   @cryptoempire   @pwrup   @redwhale   @lovejuice   @foxyd   @noicebot   @minnowfairy   @honestbot   @seakraken   @upboater   @whalebuilder   @mrswhale   @upgoater   @smartsteem   @dailyupvotes   @pushup   @allaz   @sneaky-ninja   @upmyvote   @dolphinbot   @minnowvotes   @chronocrypto   @thebot   @inciter   @oceanwhale   @promobot   @mitsuko   @bearwards   @voterunner   @brupvoter   @payforplay   @edensgarden   @redlambo   @mercurybot   @appreciator   @slimwhale   @moneymatchgaming   @boomerang   @childfund   @buildawhale   @youtake   @megabot   @authors.league   @upme   @alphaprime   @steembloggers   @msp-bidbot   @lost-ninja   @estream.studios   @upyou   @postpromoter   @rocky1   @bluebot   @flymehigh   @aksdwi   @puppybot   @onlyprofitbot   @boostbot   @discordia   @canalcrypto   @therising   @ebargains   @fishbaitbot   @luckyvotes   @brandonfrye   @estabond   @upmewhale   @hotbot   @adriatik   @steembidbot 

The M code used to get and transform the data to see how much was sent to bidbots was

let    Source = Sql.Database("vip.steemsql.com", "DBSteem", [Query="Select #(lf)*#(lf)From TxTransfers (NOLOCK)#(lf)Where timestamp >=CONVERT(DATE,'2018-01-01') and timestamp <=CONVERT(DATE,'2018-04-30')#(lf)and [to] in ('kittybot', 'isotonic', 'getboost', 'booster', 'lightningbolt', 'nado.bot', 'shares', 'peace-bot', 'postdoctor', 'spydo', 'singing.beauty', 'minnowhelper', 'jerrybanfield', 'sunrawhale', 'sleeplesswhale', 'zapzap', 'cryptoempire', 'pwrup', 'redwhale', 'lovejuice', 'foxyd', 'noicebot', 'minnowfairy', 'honestbot', 'seakraken', 'upboater', 'whalebuilder', 'mrswhale', 'upgoater', 'smartsteem', 'dailyupvotes', 'pushup', 'allaz', 'sneaky-ninja', 'upmyvote', 'dolphinbot', 'minnowvotes', 'chronocrypto', 'thebot', 'inciter', 'oceanwhale', 'promobot', 'mitsuko', 'bearwards', 'voterunner', 'brupvoter', 'payforplay', 'edensgarden', 'redlambo', 'mercurybot', 'appreciator', 'slimwhale', 'moneymatchgaming', 'boomerang', 'childfund', 'buildawhale', 'youtake', 'megabot', 'authors.league', 'upme', 'alphaprime', 'steembloggers', 'msp-bidbot', 'lost-ninja', 'estream.studios', 'upyou', 'postpromoter', 'rocky1', 'bluebot', 'flymehigh', 'aksdwi', 'puppybot', 'onlyprofitbot', 'boostbot', 'discordia', 'canalcrypto', 'therising', 'ebargains', 'fishbaitbot', 'luckyvotes', 'brandonfrye', 'estabond', 'upmewhale', 'hotbot', 'adriatik', 'steembidbot')"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}}),    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each Text.Contains([memo], "https"))in    #"Filtered Rows"

The M code used to get the total rewards claimed was

let    Source = Sql.Database("vip.steemsql.com", "DBSteem", [Query="Select * From TxClaimRewardBalances (NOLOCK)#(lf)Where timestamp >=CONVERT(DATE,'2018-01-01') and timestamp <=CONVERT(DATE,'2018-04-30')#(lf)"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}})in    #"Changed Type"

The M code used to gather and transform data on the refunds made by bidbots was

let    Source = Sql.Database("vip.steemsql.com", "DBSteem", [Query="Select #(lf)*#(lf)From TxTransfers (NOLOCK)#(lf)Where timestamp >=CONVERT(DATE,'2018-01-01') and timestamp <=CONVERT(DATE,'2018-04-30')#(lf)and [from] in ('kittybot', 'isotonic', 'getboost', 'booster', 'lightningbolt', 'nado.bot', 'shares', 'peace-bot', 'postdoctor', 'spydo', 'singing.beauty', 'minnowhelper', 'jerrybanfield', 'sunrawhale', 'sleeplesswhale', 'zapzap', 'cryptoempire', 'pwrup', 'redwhale', 'lovejuice', 'foxyd', 'noicebot', 'minnowfairy', 'honestbot', 'seakraken', 'upboater', 'whalebuilder', 'mrswhale', 'upgoater', 'smartsteem', 'dailyupvotes', 'pushup', 'allaz', 'sneaky-ninja', 'upmyvote', 'dolphinbot', 'minnowvotes', 'chronocrypto', 'thebot', 'inciter', 'oceanwhale', 'promobot', 'mitsuko', 'bearwards', 'voterunner', 'brupvoter', 'payforplay', 'edensgarden', 'redlambo', 'mercurybot', 'appreciator', 'slimwhale', 'moneymatchgaming', 'boomerang', 'childfund', 'buildawhale', 'youtake', 'megabot', 'authors.league', 'upme', 'alphaprime', 'steembloggers', 'msp-bidbot', 'lost-ninja', 'estream.studios', 'upyou', 'postpromoter', 'rocky1', 'bluebot', 'flymehigh', 'aksdwi', 'puppybot', 'onlyprofitbot', 'boostbot', 'discordia', 'canalcrypto', 'therising', 'ebargains', 'fishbaitbot', 'luckyvotes', 'brandonfrye', 'estabond', 'upmewhale', 'hotbot', 'adriatik', 'steembidbot')#(lf)"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}}),    #"Replaced Value" = Table.ReplaceValue(#"Changed Type","#(tab)https","https",Replacer.ReplaceText,{"memo"}),    #"Filtered Rows" = Table.SelectRows(#"Replaced Value", each Text.Contains([memo], "Refund")),    #"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each ([amount_symbol] = "SBD"))in    #"Filtered Rows1"

The M code used to gather data on Curation rewards earned by bidbots was

let    Source = Sql.Database("vip.steemsql.com", "DBSteem", [Query="SELECT#(lf)reward,#(lf)timestamp,#(lf)curator#(lf)FROM VOCurationRewards (NOLOCK)#(lf)Where timestamp >= CONVERT(DATE,'2018-01-01')             and         timestamp<= CONVERT(DATE,'2018-04-30')#(lf)and [curator] in ('kittybot', 'isotonic', 'getboost', 'booster', 'lightningbolt', 'nado.bot', 'shares', 'peace-bot', 'postdoctor', 'spydo', 'singing.beauty', 'minnowhelper', 'jerrybanfield', 'sunrawhale', 'sleeplesswhale', 'zapzap', 'cryptoempire', 'pwrup', 'redwhale', 'lovejuice', 'foxyd', 'noicebot', 'minnowfairy', 'honestbot', 'seakraken', 'upboater', 'whalebuilder', 'mrswhale', 'upgoater', 'smartsteem', 'dailyupvotes', 'pushup', 'allaz', 'sneaky-ninja', 'upmyvote', 'dolphinbot', 'minnowvotes', 'chronocrypto', 'thebot', 'inciter', 'oceanwhale', 'promobot', 'mitsuko', 'bearwards', 'voterunner', 'brupvoter', 'payforplay', 'edensgarden', 'redlambo', 'mercurybot', 'appreciator', 'slimwhale', 'moneymatchgaming', 'boomerang', 'childfund', 'buildawhale', 'youtake', 'megabot', 'authors.league', 'upme', 'alphaprime', 'steembloggers', 'msp-bidbot', 'lost-ninja', 'estream.studios', 'upyou', 'postpromoter', 'rocky1', 'bluebot', 'flymehigh', 'aksdwi', 'puppybot', 'onlyprofitbot', 'boostbot', 'discordia', 'canalcrypto', 'therising', 'ebargains', 'fishbaitbot', 'luckyvotes', 'brandonfrye', 'estabond', 'upmewhale', 'hotbot', 'adriatik', 'steembidbot')"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}}),    #"Replaced Value" = Table.ReplaceValue(#"Changed Type","VESTS","",Replacer.ReplaceText,{"reward"}),    #"Changed Type1" = Table.TransformColumnTypes(#"Replaced Value",{{"reward", type number}}),    #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"reward", "reward VESTS"}})in    #"Renamed Columns"

The M code used to gather data on total Curation rewards earned was


let    Source = Sql.Database("vip.steemsql.com", "DBSteem", [Query="SELECT#(lf)reward,#(lf)timestamp,#(lf)curator#(lf)FROM VOCurationRewards (NOLOCK)#(lf)Where timestamp >= CONVERT(DATE,'2018-01-01')             and         timestamp<= CONVERT(DATE,'2018-04-30')#(lf)"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}}),    #"Replaced Value" = Table.ReplaceValue(#"Changed Type","VESTS","",Replacer.ReplaceText,{"reward"}),    #"Changed Type1" = Table.TransformColumnTypes(#"Replaced Value",{{"reward", type number}}),    #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"reward", "reward VESTS"}})in    #"Renamed Columns"

I previously carried out a similar analysis on 1 weeks data.  In this post gave details of much of the calculations and transformations involved with this data set.  You can read that full post here

/@paulag/analysis-of-steemit-bidbot-business-steemit-business-intelligence




H2
H3
H4
Upload from PC
Video gallery
3 columns
2 columns
1 column
40 Comments