On counting paid voting services - and their number was never that high!
Source: Erik Stein, CC0, modified
Like it or not, paid voting bots in the form of bid-bots or insta-vote bots are a central part of Steem as it is right now. Authors send a certain amount of SBD or STEEM with a post URL in the transfer memo and get an upvote, often with a positive ROI. Undoubtedly, the amount of paid votes on posts makes up a significant fraction of all votes. A couple of previous contributions worked on different aspects of this, for example distinguishing organic votes from paid and sponsored votes, estimating bid-bot income or analyzing the flagging behavior. A typical approach to account for paid voting bots is to use a list of the most prominent bots or to grab the list of bots available via steembottracker.com, either manually or by querying the API:
However, are all paid voting bots present on steembottracker.com?
This contribution is meant to take a step back and identify and count paid voting bots based on their blockchain activity. This is meant to give an overview how the paid voting bot situation changed over time and to provide conclusions whether using the steembottracker list to cover the vast majority of paid voting bots is a safe choice for analyses. Bid-bots existed before the bottracker and bot owners can decide whether they want to be listed there. How big is the market for bots not listed on the tracker?
- Scope of the analysis and tools
- How many paid voting bots are out there right now?
- Is their number changing?
- How big is the market outside the bottracker-listed bots?
Scope of the analysis and tools
The paid vote concept is pretty simple: send SBD or STEEM with the URL of your post in the memo to a bot and get an upvote in return. Paid voting bots can be identified exactly by this pattern:
- iterate over all STEEM/SBD transfers containing a post URL
- check if the transaction recipient voted the post in the transaction memo shortly after
I've chosen a time interval of up to 5h between the transfer and the vote. Most bots use 2.4h bidding rounds. Some of them move bids to the next bidding round in case the round is already full. With a 5h window, two typical bidding rounds are covered. A voter is considered a bot if it voted on 5 or more posts received via memos per day.
The data was queried from a local MongoDB database containing all Steem blockchain ops from the dates analyzed. This database is a heavily stripped down version of SteemData.com, using beem instead of
steem-python to fill the database. The full query and all processing scripts are on my github. The core query is here. Account information like total SP is queried directly from the blockchain using
beem. The list of steembottracker's known bots is fetched with the API calls listed above.
The blockchain data from a couple of different days was analyzed. The data of the "current state" is based on all transfers on May 14th 2018 together with the steembottracker bot-list from this date. Votes are considered from the same day plus 5h into the next day as described above. The number of bots is additionally queried on the first day of the last couple of months and more frequently in the last couple of days to see trends in the numbers.
How many paid voting bots are out there right now?
|Status on May 14th, 2018|
|Number of bots listed on steembottracker.com||168|
|Number of active bots||153|
|Total SP of the active bots||20.5 million SP|
A bot is considered "active" if it voted for at least 5 "bids" per day. Not all bots on steembottracker are marked as active, and not all active bots are part of the bottracker list. This list does not contain any "sell-your-vote" transactions as they are done with minnowbooster, smartsteem and others. Also not contained are cases where the bid goes to one account but the vote comes from another like it was partly done with randowhale a while back. Not contained are votes paid off-chain like from SBD/STEEM balances deposited at the bot. This is possible at least with minnowbooster. A total of 20 million SP without all these special cases is already quite a lot! It does however not necessarily mean that all this SP is "effectively" used with 10 voting cycles per day.
Is their number changing?
While we had 28 active paid voting bots on Nov. 1st 2017, we had more than 170 of them in the first week of May 2018. The number is slightly reduced to 153 for the latest state on May 14th. The general trend is a pretty steep rise in the number. If the last few days really mark a reduction in the number of bots can only be confirmed with data from the coming weeks.
It cannot be denied that more and more users decided to run a paid voting service in the last couple of months. However, the number of bots on its own is only part of the picture. Another important metric is their total Steem Power. Unfortunately, it's pretty time consuming to reconstruct the Steem Power of accounts at earlier times. For that reason, I'm only looking into the current state for the following aspects.
How big is the market outside the bottracker-listed bots?
These pie charts show how many of the active paid voting bots are listed on steembottracker.com. The left chart is by number, the right one by effective bot account Steem Power:
Around 70% of all active paid voting bots are listed on the steembottracker, around 30% are not listed. This means that there is quite some market of bots (by number) not using the tracker. However, looking at the SP distribution of bots that are listed on the tracker vs. those who are not, there's only 1.6% of the total SP not on steembottracker.
- There are currently around 150-160 bots running paid upvote services with a total of 20.5 million SP, without taking sell-your-vote or off-chain payments into account.
- There's a steep rise in the number of active paid voting services since end of last year. More and more users decided to run a paid upvote bot. If the slight reduction in the last couple of days really marks a turning point can only be judged with future data.
- Around 70% of all paid upvote bots by number are currently listed on steembottracker, covering more than 98% of the "available" bot SP. This means that the number of bots on the tracker is not necessarily the actual number of active bots. But summing up the votes from those who are listed gives a pretty good estimation to calculate the overall share of paid bot votes with respect to all other votes. It is therefore safe in most cases to use the steembottracker bot list for analyses of paid voting aspects.