Bidbot Income Analysis shows bid bots earned 19% of the Rewards Pool in 2018

in #utopian-io6 years ago (edited)

2018 seen the rise of the bidbots on STEEM.  However it also seen a downturn in the crypto market and in the use of STEEM.  Personally I have never been a massive fan of bidbots,  I hate the fact they killed the reputation system, but I do believe they hold their place and have fulfilled the demands of many wanting to use them.

I have previously look at data around bidbots before and with the year coming to a close, I thought I would have one last look and see how much of the rewards pool was earned by bidbots in 2018.

Repository

 https://github.com/steemit/steem 

Aim of Analysis

The aim of this analysis is to establish and present

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

2. How much in vests was sent to Bidbots in 2018

3. What % of vests paid out in author rewards is sent to bidbots

4. Visualize year to date trends 

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

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

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 value sent to bidbots has reduced from Jan to April, however the standard deviation has increased.  From April to Sept the median bid set varied slightly but no big changes.  Since Sept we have seen an increase again in the median bid sent.

For the year to date December seen the largest variance in the size of the bid sent, with the maximum bid being the highest all year.

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 top chart shows how much was claimed in total for curation rewards.  The second chart shows how much bidbots earned in curation rewards and below this is the % of total curation rewards earned by bidbots.

October seen the highest % curation rewards paid to bidbots while December seen the lowest. 

In 2018 a total of 25.9% of all curation rewards were earned by bidbots. 

The pie chart below shows what % of total curation rewards each of the bots made.

 

What % VESTS earned from Authors rewards were sent to bots for bids?

 

Curator rewards are not paid in a liquid form, however author rewards do have a liquid portion and so those using them tend to send rewards they have earned as an authors back to bots.

As a % of authors rewards claimed which were then sent on as bids, we see a steady increase from Jan to June.  This declines to September and then increases again.  This can be seen in the chart with the red bars.

The yellow bar chart shows the total vests sent to bots each month of 2018.  May being the highest month, however based on %, June seen the highest %.

For 2018 bidbots were sent 18.85% of all claimed authors rewards as bids.

Annual Trend

The chart below shows the number of authors using bots in blue and, number of posts submitted for bits in black.

 

 We can see that the trend for each line is the same. The number of bids has been on a decline since May and we can clearly see the impact of HF20 on the chart.

What % of Total Vest Claimed (author and curator) were earned by bidbots?

 

we have seen the % of curator rewards earned by bidbots and we have also looked at the % of Authors rewards that were used for bidding.  Combining these we can calculate how much of total vests claimed from the rewards pool were earned by bidbots.

for the year 2018 bidbots earned between curation rewards and bids 19.1% of the rewards pool.

The pie chart below shows this by bidbot

 

Top Bot users in terms of Vests sent as bids for 2018

Conclusion

 Descriptive statistical information shows the size of the bids changes month to month and the variance can be rather considerable.  Its interesting to see that December seen the highest bid sent  yet the trend chart shows it to be a lower month in terms of usage.

 9,733,070,117 vests were sent as bids to bots for 2018

18.85% of vests paid out in author rewards for 2018 were sent to bidbots

25.95 % of Curation rewards were paid to bidbots

19.10% of Total Vest claimed in 2018  went to bidbots

4 bidbots earned 9.68% of the total rewards pool paid out in 2018. These earning were a combination of bids send and curation rewards earned. 


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 below

The 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') and timestamp <CONVERT(DATE,'2018-07-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 Refunds

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-07-01')#(lf)and [from] 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')#(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")),    #"Filtered Rows2" = Table.SelectRows(#"Filtered Rows1", each [amount] < 100)in    #"Filtered Rows2"

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') and timestamp <CONVERT(DATE,'2018-12-29')#(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')             and         timestamp< CONVERT(DATE,'2018-12-29')#(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)reward,#(lf)timestamp,#(lf)curator#(lf)FROM VOCurationRewards (NOLOCK)#(lf)Where timestamp >= CONVERT(DATE,'2018-01-01')             and         timestamp< CONVERT(DATE,'2018-12-29')#(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"
Sort:  

Hi @paulag, impressive work and very important numbers! Do we have recent numbers on the share of the available SP controlled by bidbots? I found an analysis from Asher from 9 months ago that showed that around 20% of all active VESTS are controlled by bid bots. Assuming that this didn't change significantly, reward shares in the order of 20% aren't very surprising.

Could you remind me on how you calculate the VESTS-equivalents for bids and author rewards? For STEEM bids and author rewards, this should work fine with the approx. linear steem-per-vest-rate - how did you do it with SBD and the recent haircut situation?

The peak in curation rewards in October is very impressive. I assume this is a HF20 effect with bots and bidders not voting/bidding in the first few minutes after post creation anymore, resulting in higher curation rewards for the bots. Do you know if the following decrease is an effect of the decreasing STEEM price or if there is "more" behind?

For the top bot users, @steemium is an intersting case by offering bids-as-a-service for users. This proxy makes it harder to find the actual bidders, but a quick look into their account history mainly shows names that are already in the list anyway...
Great work!

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

hay @crokkon and thank you for the review.

Steem to vests I got from the table VOFillVestingWithdraws and took a daily average. daily SBD to STEEM I took an average weekly from coinmarketcap, so I guess .

October had a higher % curation rewards because overall curation rewards were down but bots activity didnt reduce at the same level.

Thank you for your review, @crokkon! Keep up the good work!

One great way to share in that piece of the pie is to delegate to the bid bots.

Posted using Partiko Android

18.85% of vests paid out in author rewards for 2018 were sent to bidbots

It's funny because a lot of the prolific bot users tend to be in power down mode all the time to subsidize bids.

That is a sizable chunk of the reward pool that could be helping dapps and authors! I still feel the only ones really benefiting are bot owners though! I’d understand if you using it as a passive way to make funds for a dapp or community but if it’s just to extract more rewards over time I’m not sure how that helps! Bid bots are here to stay we just need to find smarter ways of using it

Very interesting findings though

Posted using Partiko iOS

Take a look at the accounts of the top users. They are all doing very well - much better than people that do not use bots.

Oh I’m sure they are, whale support is great but whale support is few and far between! Not many accounts get to that level bid bots are like the quick equivalent!

Posted using Partiko iOS

And the #1 account is a whale. Guess inflation is not enough, gotta fight for that reward pool too.

What is this?

That number seems way off and don't know what it is supposed to represent. It certainly isn't the number of bids, nor is it sum.

its total vests sent in bids ( just updated image heading)

That makes a lot more sense, odd unit though as most people don't speak Vests.

to many different units, but most stuff is recorded in vests so its easy to work with as a common unit. Especially when rewards claimed can be in vests, steem or sbd and payments sent to bots were in both steem and sbd. made it easier to just use vests

For us yes, most it is extremely confusing.

Hi @paulag!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 7.013 which ranks you at #89 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 215 contributions, your post is ranked at #4.

Evaluation of your UA score:
  • Your follower network is great!
  • The readers appreciate your great work!
  • Great user engagement! You rock!

Feel free to join our @steem-ua Discord server

Cant say if thats a good or a bad thing. It could be better, it could be worse. I could be a hypocrite and say bots are bad for the platform when they are my main source of income here alongside Steem Monsters.....
But still... Things can get out of hand pretty fast with them.
Seeing Chbartist for example, on top trending every day makes me slightly nauseous.

A few things can probably be done to reduce the use/abuse.

"Seeing Chbartist for example, on top trending every day makes me slightly nauseous."

see 2-3 posts from chbartist at a time on trending is worse :-)

Add seeing multiple posts from him and others making posts promoting him on trending makes me nauseous...

"Top Bot users in terms of Vests sent as bids for 2018 " Everyone on that list should stop getting support from users and should be ashamed of themselves for pure greed.

I liked this analysis when I saw it before. I also think that we don't need bitbots that much in steem. Anyway, I remembered that you were doing reports about people who joined in precise time. Can you make a repost about people joined in may 2017 just like me. I hope you will continue doing such analisis, it's great. ☺

While it is clear that the bidbots are profitable giving the curation rewards, I wonder the ultimate profit/loss of those who use them? This is probably tough as it has a number of factors to consider but I wonder if the pure amounts sent vs received to/from bots is net positive or negative. I think that the bots have a great value proposition but I am not sure if users are using them in the best way; for themselves and certainly not for the ecosystem.

Posted using Partiko iOS

I think overall is break even for bitbot users

Posted using Partiko Android