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
Hmm, I thought those numbers would be much higher.
I guess it's just the whales jerking each other off, or simply self-voting that is still getting the great majority of all rewards eh?
Nice analysis. That rising trendline is a little frightening.
Personally, I think bidbots are antithetical to the core premise of Steemit.
Those with Steem Power should be curating, not selling that steem-power to give people the right to self-curate. This is how junk content not only proliferates, but thrives on Steemit. And this is how lazy whales decide to recoup their early investment in steem by no longer contributing directly to the health of the community.
At the end of the day, I think there is only one thing Steemit can do:
The bidbots bring in more investors into the steemit ecosystem as more people can buy large amount of steem and power it up. Check the largest power-up for last month, 60% were vote sellers which is a good thing for steem.
The more steem that is locked up, the scarce steem becomes and the high the value when the demand for it comes. I don't see anything wrong with selling my vote.
Is this a good thing though? Doesn't this just confirm the argument that Steemit is just a ponzi scheme?
i.e.
Investors come to Steemit be investors and simply recoup their investment by selling it to others at a markup.
vs
Content creators coming to create content, engage with others and invest in the community.
I don't think it is an either-or scenario, but if Steemit leans to far towards investment/speculation/ponzi then the platform will crash once the market crashes and the investors leave.
When they have no customers we can know our success.
The less customers they have the more profitable they will become.
Unless we start downvoting them.
well said @freebornangel
use google chrome and earn bitcoins for free....https://getcryptotab.com/149458
While I like paula's analysis skills, I agree that bidbots are just another nail in the Reward Pool draining coffin.
This is ridiculous, and the overt gaming and scheming won't stop until there's nothing left.
hay talltim, I am not pro bidbots. I like to keep my analysis posts free from my opinion when I can. In fact I intend on doing a follow up post on this data that include my personal view.
Not implying that you are -- just saying bidbots are contributing to the feedback loop that will eventually swamp Steemit in general.
Always value your analysis, and look forward to your posts on the subject.
Bidbots are not the problem. Most bots show negative ROI when the bidding closes. The problem is the way Trending Page and Hot Page rank the posts. If bidbots were not counted in determining what post is trending or hot then less people would use them and the bot owners would look for other ways to invest their time and money.
i guess it was due to people buy steem at low price, convert to sbd, and then use to bid the bots. later when the price is high, they sell the earned sbd and therefore no sbd for bidding.
looking forward to see your findings in the future analysis. thanks a lot.
I think you should include upvote services like MinnowBooster and smartmarket.
This is really an awesome analysis!
And I also enjoy to see that you got decently rewarded for it.
I hope you don't mind if I use your data for noticing something a bit different. If you look at the total rewards of SBD claimed in April, you can see this almost tripled. From 23k up to 68k. In normal economy this would mean a price decrease, since the offer is much bigger and I assume the request side remains stable. Also most people say the SBD price should be pegged to $1. But even when much more SBD is pumped into the system, the price still increases.
So again I wonder if we will ever see SBD back at $1?
I personally don't think we will. Unless the price of Steem drops hugely to $1. Cause I believe the SBD price is correlated to the Steem price.
Then there is something I don't understand. You wrote the bots earn almost 31% of the total curation. And they earn almost 11% of the total rewards. I would expect that they also earn close to 31% of the total rewards. As they normally receive a SBD amount that is close to their upvote value. So I wonder if this 11% is only for the author+curation rewards? And excluding the directly transferred SBD?
Nice analysis. Here's hoping in your personal evaluation of this stuff you see that the problem is less the bid bot and more the linear rewards curve without free downvotes to fix rewards disagreement. I'm also interested in your take on how that changes steem/sbd price. Lastly, since bidbot use converts SBD back into Steem and locks it in place for 13 weeks. I wonder how you'll evaluate that too.
But do you admit that bid bot is a problem?
The bid bots are a problem because of linear rewards. You can't address bid bots without talking about linear rewards because they are simply a symptom of the larger economics.
Great work, @paulag, accepted for utopian. It's indeed a bit worrying to see the the rise. In average around 2.x bids per author per day, that's quite a lot, given that many accounts don't publish daily...
Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]
Thank you.
That's actually way worse than I would have thought... I would have assumed it was a pretty small percentage. Well, that's a bit depressing...