In the post 'when do whales upvote?' I looked at the distribution of upvotes by whales. It showed a clear difference between whales and whale bots, and also which whales are more active up-voters.
At the end of that post I touched on the subject of when the best time to publish would be, but could only really talk about that in relation to when whales upvote.
So I wrote another Python program to plot the total payout value (reward) in relation to when posts were published for all blocks between 01-08-2016 and 14-08-2016, a two week period that luckily starts on a Monday.
Note: All times are in coordinated universal time (UTC). Use an online tool to convert this to your local time zone.
The following figure has three plots. The x-axis is divided into bins for each hour, and the y-axis shows the value for the total payout value, average total payout value, and number of posts for each hour.
Between 04:00 and 10:00 UTC there is a large dip in all graphs. At the lowest point at 06:00 the total payout value is under $20000, which is more than four times lower than the peak value of over 100000 at 18:00.
If you want to increase your chances of a higher payout, it's better to publish your article around 18:00 UTC. But what could explain this?
Perhaps there are less users online, suggesting that a majority of users are in the same time zone. That means less posts and less upvotes. In fact, if we look at the distribution of upvotes in the same period, we see the same pattern:
The following figure shows the total payout value per day. Each plot is a single day, with each day showing the total payout value for each hour.
Each day has a the same general shape showing a dip around 06:00. The peaks are more pronounced on Monday, flattening out as the week goes on, before picking back up again on Friday and Saturday. This can be seen more clearer on the following stripplot:
If you want to increase your chances of a higher payout, it's better to publish your article at the beginning of the week, with Monday being the best day.
Now let's address the peak on Thursday at 21:00 UTC. Not only is that peak not present on other days, it also differs substantially to the values for 20:00 and 22:00 UTC.
This isn't the first time I've seen this peak!
In the post about when whales upvote, I produced a graph for @ned based on data from July 2016. On Thursday at 21:00 UTC, there's the exact same spike.
What are you up to @ned? ;)
What we know is that @ned has an upvoting frenzy on Thursdays at 21:00 UTC, and that Thursdays also has an outlier in the total payout value at the same time. It might be worth looking at what @ned's voting on to see if that offers an explanation.
So when is the best time?
Based on the graphs shown above the best time (statistically) to publish an article is on a Monday at 18:00 UTC. Generally speaking, you should prefer the beginning of the week to the end, and should avoid publishing between 04:00 and 10:00 UTC.
Bear in mind that content is, or at least should be, the most important factory to being rewarded. Just because you post at a statistically better time doesn't mean you'll get a large payout.
Show me the code
You can find the code for in the jonblack/steem-data repository. This is much easier than posting it here. Fork to your hearts content!
Also a quick not about parsing posts from the blockchain. Both posts and comments are a
comment in the blockchain. I've seen a lot of people use
title to determine what a post is by checking if it's an empty string; however, comments can have titles.
The correct way to is the compare the comment's
root_comment - if those numbers are the same, the current transaction in the block is a post.
Other statistics posts I've written:
Like my post? Don't forget to follow me!