STEEM's Bidbot Business Income Analysis 2018 YTD


Repository

https://github.com/steemit/steem  

 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 Steem.  Like it or not they are now part of the Steem ecosystem. 

3 months ago I produced a report on the bid bot business which you can read here

/@paulag/steemits-bidbot-business-income-analysis-2018-half-1.

However that analysis focused on SBD and a lot has changed on STEEM since.  For a while SBD was not being printed and the bots had been willing to accept STEEM for some time before that.

With that in mind, I have changed the reporting from SBD to Vests.  I have selected VESTS as all curation rewards are paid in VESTS (SP) and so is a portion of the Author Rewards.  It was therefore easier to convert everything to VESTS.

For conversions I have used the average SBD per STEEM rate for 2018 to date which is 0.99 and I have taken the STEEM per VESTS to be 0.000495.  As I have taken fixed values for the conversions, this report is an approximation.

The Time period on the report is Jan 1 2018 to Oct 15 2018.  As October is only a partial month, it may not reflect the true position of the month.

Aim of Analysis

The aim of this analysis is to establish 

1.  Descriptive statistical information for an overview on bids sent to bidbots in vests

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

3. What % of Vests paid out in author rewards were sent to bidbots

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

5. Visualize year to date trends 


 Descriptive Statistics on bids sent

Descriptive statistics are useful for summarizing large sets of data.  The aim of this was to get an overview of the bids sent 

 It is interesting to see that median vests sent to bidbots has reduced from Jan to Aug and then increased again in Sept and now at an all time high in October so far.

 The standard deviation tends to vary month to month. A low standard deviation indicates that the data points tend to be close to the mean, while a high standard deviation indicates that the data points are spread out over a wider range of values. 

What % of Curation Rewards were 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 26.21% of Curation Rewards claimed are paid to bidbots.  The purple bar chart shows the total vests claimed from curation rewards this year, by month. We can see that Aug had the highest total vests curation reward this year. However while the total curation vests earned increased  from May to Aug, bidbot owners seen almost no movement.  

While looking at these charts, please remember only 15 days of October have been taken and these values could smooth out.

 The pie chart below shows this by bidbot 

What % of Author Rewards were sent to BidBots as payment?

Bidbots take payment in both SBD and STEEM.  Users have the option of using earning SBD and STEEM or purchasing it from an external exchange.  Its hard to establish exactly where the fund come from so for this part of the analysis I am taking the assumption that bot users are investing in bidbots with funds earning on authors rewards.

So what % of Author Rewards earning on STEEM this year went to bidbots?

we can see from the chart, the % of authors rewards that were ultimate used to pay for bidbots increased from Jan to a high in June 24.5% after this the % declined to 15.5% in September.  Although October seems to have risen, as only part of the month was taken this could still change.

On average for the year to date 19.01% of all Authors rewards claimed were sent to bidbots.

What % of Total Vests paid out by the rewards pool end up in the hand of Bidbots?

By combining the curator rewards earned by bots and the vests they received as bids we can calculate their revenue.  This can then be compared to the total VESTS claimed by both authors and curators.

We can see that year to date 19.5% of all vests paid from the rewards pool ended up in the hands of bidbot owners.  This is a combination of curation rewards they earn and bids sent to them.

The % increased from Jan to June and then decreased again to September.

Year to date Trends

The chart above shows the year to date trends for bidbot usage.  We can see the daily posts sent for promotion have reduced since May by 75% and we can also see clearly the impact of the HF20 roll out.

Conclusion

 The use of bidbots has been reducing and have fallen by 75% since its peak.  Comparing this to STEEM in general there has been an approx drop of 63% in the number of posts since the peak in bidbot use.  

The median vests sent per bid has also reduced over the year, however without full October figures its difficult to see if there is a break in the trend.

19.1% of all author rewards claimed ultimately ended up in the hands of bot owners

26.2% of curation rewards were paid to bidbots

A an approximate of 19.5% of all rewards claimed ended up back in the hands of bidbot owners.

Discussion

Please do comment below.

What do you think of the bidbot business in general?  Do you think it is good or bad for STEEM?  

The Data and Queries

First I used the Steembottracker API to get a list of bidbots.  This list was then used in the M queries belowThe data was collected from SteemSQL using PowerBI.  The following M codes were used.M code for Sent to bid bots

let    Source = Sql.Database("vip.steemsql.com", "DBSteem", [Query="Select #(lf)*#(lf)From TxTransfers (NOLOCK)#(lf)Where timestamp >=CONVERT(DATE,'2018-01-01')#(lf)and [to] in ('tainika' ,'chronoboost' ,'getkarma' ,'weupvote' ,'alliedforces' ,'a-bot' ,'boinger' ,'jerrybanfield' ,'upyourpost' ,'pwrup' ,'brotherhood' ,'haveaheart' ,'alfanso' ,'whalepromobot' ,'joeparys' ,'peoplesbot' ,'votepower' ,'t50' ,'moneymatchgaming' ,'stef' ,'sureshot' ,'ptbot' ,'th3voter' ,'edensgarden' ,'oceanwhale' ,'botox' ,'whalecreator' ,'profitbot' ,'ecotrain' ,'automation' ,'siditech' ,'cabbage-dealer' ,'profitvote' ,'steemerap' ,'ubot' ,'dlivepromoter' ,'emperorofnaps' ,'proffit' ,'lrd' ,'bodzila' ,'peace-bot' ,'brandonfrye' ,'authors.league' ,'flymehigh' ,'noicebot' ,'redwhale' ,'lost-ninja' ,'dolphinbot' ,'rocky1' ,'estabond' ,'minnowvotes' ,'thebot' ,'booster' ,'slimwhale' ,'megabot' ,'singing.beauty' ,'estream.studios' ,'dailyupvotes' ,'ebargains' ,'promobot' ,'honestbot' ,'foxyd' ,'sunrawhale' ,'mitsuko' ,'onlyprofitbot' ,'spydo' ,'isotonic' ,'brupvoter' ,'postdoctor' ,'luckyvotes' ,'therising' ,'inciter' ,'redlambo' ,'shares' ,'nado.bot' ,'bid4joy' ,'voterunner' ,'steembloggers' ,'upmewhale' ,'mercurybot' ,'smartsteem' ,'postpromoter' ,'upme' ,'msp-bidbot' ,'aksdwi' ,'pushup' ,'appreciator' ,'sneaky-ninja' ,'lovejuice' ,'minnowhelper' ,'boomerang' ,'buildawhale')"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}}),    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each Text.Contains([memo], "https"))in    #"Filtered Rows"

M Code for Claimed rewards

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

M Code for Bots curator rewards

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')#(lf)and [curator] in ('tainika' ,'chronoboost' ,'getkarma' ,'weupvote' ,'alliedforces' ,'a-bot' ,'boinger' ,'jerrybanfield' ,'upyourpost' ,'pwrup' ,'brotherhood' ,'haveaheart' ,'alfanso' ,'whalepromobot' ,'joeparys' ,'peoplesbot' ,'votepower' ,'t50' ,'moneymatchgaming' ,'stef' ,'sureshot' ,'ptbot' ,'th3voter' ,'edensgarden' ,'oceanwhale' ,'botox' ,'whalecreator' ,'profitbot' ,'ecotrain' ,'automation' ,'siditech' ,'cabbage-dealer' ,'profitvote' ,'steemerap' ,'ubot' ,'dlivepromoter' ,'emperorofnaps' ,'proffit' ,'lrd' ,'bodzila' ,'peace-bot' ,'brandonfrye' ,'authors.league' ,'flymehigh' ,'noicebot' ,'redwhale' ,'lost-ninja' ,'dolphinbot' ,'rocky1' ,'estabond' ,'minnowvotes' ,'thebot' ,'booster' ,'slimwhale' ,'megabot' ,'singing.beauty' ,'estream.studios' ,'dailyupvotes' ,'ebargains' ,'promobot' ,'honestbot' ,'foxyd' ,'sunrawhale' ,'mitsuko' ,'onlyprofitbot' ,'spydo' ,'isotonic' ,'brupvoter' ,'postdoctor' ,'luckyvotes' ,'therising' ,'inciter' ,'redlambo' ,'shares' ,'nado.bot' ,'bid4joy' ,'voterunner' ,'steembloggers' ,'upmewhale' ,'mercurybot' ,'smartsteem' ,'postpromoter' ,'upme' ,'msp-bidbot' ,'aksdwi' ,'pushup' ,'appreciator' ,'sneaky-ninja' ,'lovejuice' ,'minnowhelper' ,'boomerang' ,'buildawhale')"]),    #"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"

M Code for  Total Curation rewards

let    Source = Sql.Database("vip.steemsql.com", "DBSteem", [Query="SELECT#(lf)r eward,#(lf)timestamp,#(lf)curator#(lf)FROM VOCurationRewards (NOLOCK)#(lf)Where timestamp >= CONVERT(DATE,'2018-01-01')#(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" 


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