If you're voting open-loop, it's optimal to vote earlier than 30 minutes

in #curation8 years ago

As I've been writing my voting bot, I've done a lot of thinking about how to quantify payout-optimal voting. I've written my bot with the sole goal of maximizing curation rewards, and so far its performance hasn't been too terrible. Not amazing, but not too terrible.

In order to deploy the bot sooner, I made an early decision that it wasn't going to vote competitively. That is, I was going to schedule every vote to be entered 30 minutes after a post was authored. (the reason for this: the curation reward for votes cast in a post's first 30 minutes are split between curator and author; this incentivizes curators to go look for unpopular content)

My strategy has been essentially to look at a post when it's first written and assign the post a score that is related to its likelihood of getting a large payout. Then I check it again 30 minutes later and see if it hasn't received many votes; if it hasn't (i.e., if there's still a lot of curation reward to be had), I vote for it. I've been using this strategy for the past 4 days or so and like I said, it's not terrible. I end up with many votes for posts that ultimately earn in the $40-$80 range, and very few votes for posts that ultimately earn in the $200 range. I can live with that.

But I was thinking about it the other day, and I realized that I'd be better off scheduling every vote at least slightly earlier than 30 minutes. I'd give up a bit of curation reward on every post, but I'd end up grabbing a bit more curation reward on many posts as well. I don't know the exact numbers, but if I have any time in the next few weeks, I'll calculate it.

Here's why: We're interested in finding the earliest optimal voting time from an ex ante perspective. ex ante means basically "before we see anything"; it means I want to pick a voting time and apply it to every potential vote before we actually see the posts we're going to vote for. ex ante, the optimal earliest voting time must be less than 30 minutes. This is trivial: it's because the optimal earliest voting time is never later than 30 minutes, but on some posts it's earlier (because competing for curation rewards sometimes yields higher payoffs). Thus, in expectation, the optimal must be strictly less than 30. QED.

Thus, very soon, you may see my bot begin to compete for these rewards...

Sort:  

From my observation most bots vote before 30 minutes. Voting manually I never take a risk to wait after 20 minutes.

Yeah. My bot only votes at 30 if there haven't been too many votes yet. So I'm basically trying to predict which posts aren't getting caught by other aggressive bots.

I guess bots will evolve trying to calculate and choose right time to vote

And, if competition for curation rewards becomes too fierce in upvoting historically high-earning authors, bot voting may increase the visibility of up-and-coming post authors.

By current Steem price competition isn't really a driving force, but I can imagine big sientific labs working on curation bots in the future )

I wish I knew how to program a bot