If you followed my blog recently you may have noticed that I’m currently into curation aspects of Steem. It is super exiting to see how a well placed and timed vote can generate curation rewards that exceed the value of your own vote. Unfortunately, finding suitable posts and voting times is not straight forward and depends on several factors, many of which are not known at the time the vote has to be placed. The perfect time can be calculated retrospectively, but that also only helps slightly without knowing the future.
Since I have a life outside of Steem, surfing through steemit all day and waiting for the perfect catch is not really a suitable approach for me. Auto-voters are OK for a few author I like "unconditionally", but this doesn’t bring many curation rewards (at least in my case…). Attaching to one of the curation trails may be better than not voting at all, but is boring – don’t we all want to be in front of the big curator and its trail?
For that reason, I decided to give automated curation a try and let a machine do what they’re best at: "read" each and every new post on the blockchain and repeat simple actions based on given conditions.
The CURation eXperiment – @curx
I created the @curx account a week before Christmas 2017 and delegated around 250 SP to it as a start. I set up a
steem-python script to stream all new posts from the blockchain and eventually place a vote. I put a few simple rules in place to select post candidates:
- a few metrics on what I expect to be a reasonable "blog" contribution on steemit (sorry zapplers, dtubers, memers, ...). This is because it was the easiest start. Having a bot to analyze a dtube video for original content is not a thing for an hour, and if you can do it you'll probably have a job at google. I've picked the rules based on my preferences, not backed by analyzing any previous posts.
- a few blacklists for things like NSFW tags, prior downvotes or if cheetah was already there
- no “OMG [coin-XY] is at [ATH|ATL]” posts
- the bot tries not to drain its voting power
And of course, @curx doesn’t vote if the post payout is already way above its own vote value at the potential voting time.
I did not vote with my main account on any post where @curx left a vote, in order not to influence the curation stats.
Who is @curx voting for?
In the time range from account creation mid December until 7 days ago, 169 votes were given to 138 different authors, the maximum number of votes a single account received from @curx was 4. Having a wide spread over different authors is a good thing I think. I would certainly not achieve the same spread with my current manual voting approach.
The reputation of the post authors receiving the @curx vote is spread across the range from 40 to 60 as shown in the graph below:
Who is voting after @curx?
The following bar graph shows the most frequent voters after @curx.
You may notice that a couple of well known bigger player accounts appear in this list. @hr1 seems to have a similar post selection strategy, this account also voted on more than 50 of the 169 posts voted by @curx. Apart from that, I’m pretty proud to be front-running @curie on more than 30 of the 169 votes :) @banjo and @minnowsupport are no big surprise, these MSP bots are usually triggered by the post authors themselves and do not vote within the first 30 minutes.
How does it perform curation wise?
Actually better than I initially expected! The first curation rewards came in as Christmas presents. The following graph shows the accumulated curation rewards that were received by @curx over the past two weeks. The VESTs are calculated into STEEM/SP at "today's" rate.
You can see a few “holes” in the graph, mainly during the first days – this is where the bot script crashed ;)
Out of 169 votes from the account creation until (now – 7 days), 163 curation rewards were received. This means only 6 votes did not yield at least 0.001 SP curation rewards.
The following graph shows the distribution of the curation rewards received per vote. The majority of rewards are in the range of 0.001 - 0.050 SP, with a median value of 0.031 SP per vote.
Is this a good thing? What’s next? Does is scale?
I initially started this as a fun project out of interest for curation and hacking with steem-python. Now that it seems to work unexpectedly well, I’m not so sure how to go on. My main @crokkon account with more than three times the SP of @curx makes not even half the curation rewards of @curx.
But is bot curation actually a good thing?
I especially like that I reach so many different authors from a broad spectrum of user reputation. And the SP is actually used and not idling at 100% if I’m offline for 2 days. In this regard it is definitely better than my main account. However, I have not read any of the voted posts before the @curx vote. On the other hand, going through the @curx votes I discovered some really awesome posts where I was tempted to vote with my main account. I did not, in order not to influence the curation experiment, but the authors would definitely have deserved it, at any voting time.
I think bots can never replace human curators, simply by the fact that a bot only looks into the past and cannot imagine a future. If bot curation takes over, Steem will be very different IMO.
By heart I think the current version can also work with like 2 times its current SP or a bit more, but I don’t expect it to work effectively way above. Even with major reworks and way more sophisticated post selection criteria, voting times and voting percentages I'm not sure it will work out. I’m planning to double up the bot SP to around 500 SP as a next step to see how it goes. This should give a first feeling and some estimates...
Am I doing good or bad to the steem community? Is this something that should be followed up or shut down? I'd be happy to hear about your opinion on this topic, please leave a comment below and share your thoughts!