I would be interested in a "more intelligent" bot. Are you saying your bot finds the best time to upvote to maximize curation rewards? This would be great, however I'm pretty sure the more wide-spread such a feature would become, the less effective it will be, because it would be like a stalemate between bots, each wanting to maximize rewards.
The other question I have also asked myself and is a very good one in my opinion: In which order do bots upvote, for accounts that have the same delay set after publishing?
It tries to. It's still under heavy development.
But all is based on the median or mean (still testing which of the two is best). For example, I look at the last 10 posts of an author and how the votes were distributed. And I look when I should vote to be in the 5 first votes and before 1% of the total payout of the post and I apply it for the next post.
Problem is that past data doesn't reflect what will happen in the future, so I'm still "fine tuning it" - I'm thinking adding a tag restriction as some authors have big payouts when using a tag and low payouts when not using it.
And sometimes authors use bots to upvote their posts and sometimes not, and you can't predict that. So it can't be perfect, but you can try to maximize your curation rewards. And for now, my problem is that I'm extremely limited in voting power, so I can't upvote all upvotes that the bot is suggesting. So there's luck involved too for now.
This is an important point to stress: when an author uses bots to upvote his post, it increases the rewards for the curators (often dramatically). And as currently using voting bots is almost "revenue neutral" (it loses a bit of money when steem goes down but it earns money when steem goes up), there are few reasons not to use them. Those reasons not to use them are
a. if you abuse and push a mediocre post too high in rewards you can draw a whale's attention and get downvoted (flagged)
b. if you don't have SBD or liquid STEEM, obviously you can't use them
And here comes my pledge, described in the "Best way to grown on Steemit": I commit to using voting bots to increase the rewards on my posts! - therefore people following and upvoting me are guaranteed to get the best curation rewards!
What is the problem with such a commitment: I might be tempted to abuse the system like haejin and to start pumping useless content. Hence one risks ending up "cautioning", upvoting for abusive content. And here comes the second part of my strategy: I'm using my real name as an additional guarantee that I will not be tempted to abuse people's trust and turn into yet another a haejin. Because if I do that it will ruin my real life reputation.
oops, I must have had too many open tabs and caused a bug ... this comment seems to appear twice ...
Hmm, in the first 5 votes, but after 23 minutes? That probably excludes high profile authors. I've seen cases when they have more than a dozen votes in the first few minutes.
There's a lot more selection criterias (the first one is the median of the percentage of the votes' rewards made after 30 minutes). Then a "score" is calculated taking in account this median, the median of the number of votes before attaining 1% of the total post rewards, and the median of the time it takes to attain 5 votes. And it's this data (and some more) that determines a score of profitability for an author.
But it sure excludes some high profile authors like haejin for example who isn't profitable except if your vote weights a LOT. But the goal is to maximize the ratio Value of the vote given / SP received from curation.
I answered a bit too quickly.
For your remark about it becoming less effective with widespread it's simple :
All bots will be voting sooner and sooner, each time a bot votes before another one, until they attain the limit (in my case 23 minutes) and all bots would "leave this author alone". Last bot to be just before the limit will stay (supposing all bots have the same limit).
And when all bots are gone, the author will go back to "normal upvotes" attracting bots once again. If there's no limit, it will ultimately push the bots to be the first to upvote (so right after the author publish his post at 0 minute), hence defeating the purpose of the bot itself.
Yes, but this behavior works if the times the other bots are upvoting are already known in advance (and they usually are right now, as far as I know). I was thinking of a more "interactive" approach, in which the future bots won't know when each other will be upvoting, by analyzing past data.
That's what my bot does, but if every body went from simple upvote after x minutes to this kind of interactive voting, that's what it would lead to (as after each vote, the current delay between post and vote of a bot will then be known by the other bots).
Do you take in consideration different upvoting scenarios, based on how upvoting for the analyzed post goes? You already mentioned you might consider tags as a distinction.
No, it's not yet real-time, when the post is published, I just put a delay on it depending of my previous calculations, but I'm not modifying it real time (or canceling it) depending on what happens.
It will be implemented as for tags, but I'm still in test phase for the "core" system.