Utopian-io Vote Analysis: October 2018

UtopianVoteBlue2.png

Utopian-io has been growing. October has seen some well-known organisations added to the VIPO (Very Important Project Owners) club, including Rocket.Chat and CoinGecko. There is a new contribution category for anti-abuse fighters. Further translation teams have been formed and the category now covers fifteen of the world’s languages.

With growth comes a requirement for sustainable operations. If you follow Steem’s open source community closely you will have seen two posts on Halloween relating to the new voting bot. Sustainability and quality are the watchwords, combined with a desire to reinvigorate some of the less-active categories. Whilst the old bot upvoted all contributions by creation date order the new bot will upvote the top-scoring posts from each category before spreading any remaining power to the larger categories.

In this analysis I will look at the voting behaviour of Utopian-io across the month of October. This period is almost entirely covered by the old voting bot with only two rounds from the new bot. I will aim to:

  • Examine the breakdown of votes awarded by category and contribution type and explain some of the workings of Utopian-io for newcomers to Steem;
  • Illustrate some of the reasons why a change in voting was necessary by looking at the vote timing;
  • Celebrate a great month for Utopian using some summaries of the top contributors with breakdowns for each category and contribution type; and
  • Look ahead to November and how the new voting bot is likely to change the picture.

1. Breakdown of Utopian-io votes by category

This first chart summaries all Utopian-io votes across the month of October aggregated by category of vote and by the day on which the vote was awarded.

The y-axis shows vote weight. 100 on the axis represents one full strength 100% vote. 1000 represents a full day’s allocation of ten 100% votes. The x-axis represents each day in October based on universal time, UTC, as per the blockchain.

UtopianVoting.png

For those new to Utopian a brief explanation of the categories of votes:

  • Contributions (blue): Utopian-io mainly rewards contributions to open-source projects. Contributions are not just limited to coding (development) but cover a wide range of technical skills including graphics work, translations, tutorials, copywriting, bugs and ideas.
  • Moderator comments (purple): Utopian has a team of over 50 expert moderators who review and score every contribution. Utopian rewards the moderators for their work by voting on their review comments.
  • Task requests (yellow): Open source project owners can make requests for work to be carried out on their projects. These take the form of task requests. Only a small number of project owners currently use task requests but they can represent some of the most exciting opportunities for the Utopian community.
  • Trails: Utopian-io also supports a number of Steem communities, typically those with links to the open-source world or science and technology. Two of these are separated out in the chart: steemstem (green) and mspwaves (red).
  • Other comments and posts (grey): These are one-off votes on posts of high value or interest to the open-source community, such as the arrival of a new project into the Utopian VIPO club. There will also be a few votes that have fallen through the filters I use to determine the category separation.

The largest share of voting goes to rewarding contributions, as would be expected. The significance of the work of the moderation teams is also well-reflected by their votes. Trails and task-requests share a smaller piece of the pie but with Utopian-io holding 3.6m Steem Power these votes are not insubstantial.

The old voting bot was programmed to vote when voting power recharging arrived close to 100%. This would normally result in 1000 weight of voting per day, equivalent to 10 full 100% votes. The peaks and troughs of voting tended to arise when the old bot was forced to over-vote to ensure all posts received a vote within the seven day window. Or those thankfully rare occasions when something fell over.

It should be noted that when the bot over-voted the voting power fell below 100%. This means that the vote weights awarded are not always proportional to the vote amounts added to post payout. This could easily be changed in the chart by using the rshares of the votes or translating the rshares to STU values. However for this analysis I am more interested in the vote-weights awarded as the best measure of how Utopian-io seeks to reward each category.


2. Breakdown of Utopian-io votes by contribution type

This second chart takes the contribution vote amounts above (blue bars) and separates them between contribution types. Again the date range is the month of October.

There are thirteen contribution types, including the new anti-abuse category for Steem’s fearless abuse fighters. Task requests are not included in these figures. As in the first chart the y-axis represents vote weight and the x-axis shows the dates.

UtopianContributions.png

As can be seen, there are some very significant differences when comparing the weight of upvotes for each contribution type. Since the old bot rewarded all contributions by date order these differences are mainly due to the number of contributions made in each category. The total weight of each category will also be impacted by the scores awarded to individual contributions by moderators (higher score, higher weight) and the maximum vote weight available for each contribution type (development, for example, has the highest potential maximum vote weight).

Over the entire month the top contribution types by overall vote weight were:

  • Translations: 52%
  • Development: 20%
  • Blog: 11%
  • Graphics: 6%
  • Tutorials: 4%
  • Analysis: 2%
  • All others combined: 5%

3. Utopian-io vote timing

The chart below looks at the timing of votes made by Utopian-io and helps to illustrate some of the reasons why a change in the voting bot was necessary.

The y-axis represents the duration in a post’s life at which it is upvoted by Utopian-io, within the range of the seven day post payout period. The x-axis shows time across the month of October.

voteTiming.png

At the start of the month Utopian-io had just finished recharging after HF20. There were few posts made over the preceding week meaning that the posts-for-upvoting queue was short and posts were typically upvoted close to the point at which the moderation process was completed. Posts were upvoted one at a time (i.e not in batches) with voting power recharging close to 100% prior to the next upvote being triggered.

Over the following two weeks the weight of posts awaiting upvote grew much faster than the time taken for the Utopian bot to recharge. Posts were upvoted in date order meaning that there was a gradual increase in the duration between post creation and post upvote.

By the 19th October the upvoting duration had reached the maximum 6.5 days. Upvotes made after 6.5 days are caught in the cooldown period resulting in a waste of voting power. At this point, in order to continue to upvote all posts, each post had to be upvoted as soon as it reached 6.5 days. This resulted in batches of votes being processed together with no time for Utopian-io to recharge between votes and some fairly random reductions in rewards due to upvotes being made at lower vote power.

The main problems of the old bot with regards to timing can be summarised as:

  • Utopian rewards were being reduced fairly randomly depending on whether a post reached 6.5 days in isolation or in close proximity to the posts. With time this situation was likely to deteriorate further resulting in a significant drain on the voting power and increased randomness of vote-power reductions. This solution was not sustainable.
  • Posts were upvoted late in the 7-day reward period, removing any visibility on the various Steem front-ends that the large Utopian upvote can bring. This also reduced the potential for upvotes from outside the Utopian community.
  • Any issues or outages resulted in posts passing into the cooldown period and being skipped.

On the right-hand side of the chart are the first two voting round using the new approach. The new bot upvotes the highest scoring posts from each category first meaning that these posts should be upvoted early in the seven day payout period and gain greater visibility.

4. Summaries of the top 50 Utopian contributors for October

Congratulations to all those who made it on to the top 50 list for October. Particularly to our translators! I recently spent some time getting to grips with node.js through online tutorials and using the reference documentation. I'll admit that had this been in any language other than English (or maybe French) it would not have happened.

top50authors.png

Given the overall breakdown of voting by contribution types it is perhaps unsurprising to see translators, developers and bloggers to the fore. However it is also good to see that copywriters, documenters, analysts and tutorial-makers can also make their presence felt.

top50contributions.png

5. Summaries of the top Utopian contributors by contribution type

If you are interested in particular types of contributions, here are the summaries!

  • Following on from his win of the Utopian hackathon, @emrebeyler also topped the development chart for October. Emre's development projects include Lightsteem - a python library for the Steem blockchain, Transmitter - a command line tool for Steem blockchain witnesses, and the dpoll Steem dApp.

utopiandev.png

  • Community manager and language moderator @rosatravels tops the blog chart. Everything you need to know about Utopian translation teams can be found on her blog.

utopianblog.png

  • Some familiar faces in the analysis contribution category!

utopiangraphics.png

  • @duski.harahap tops the tutorials chart thanks to a useful series on creating RESTful API with Code Igniter. Meanwhile @tensor will teach you how to build your own blockchain if you're tired of this one!

utopiantuts.png

6. Moderators and Trails

  • I'll admit to not knowing too much about the steemstem community. But their vote distribution does look really very scientific.

steemstem.png

  • In the battle for hardest-working moderator @amosbastian (development contributions) just beats out @didic (blog contributions).

modeerators.png

7. A look ahead to November: The new utopian-io voting bot

The last day of October was also the first full day using the new voting bot. A look back at the chart from section 2 shows the distribution of votes between contribution types on this date was much more even than on previous days. This resulted in a fall in voting for the large contribution categories and an increase for the smaller ones. The reinvigoration and growth of the smaller categories is one of the issues the new voting bot is attempting to solve.

UtopianContributions.png

However it is far too early to jump to any conclusions. The new bot has reserved pools for each contribution type. These pools are made available to the larger categories once the smaller categories have received upvotes. As such there is likely to be a period of evenness, perhaps a few days, whilst the bot clears the posts from the smaller categories, followed by a period when more of the voting power is consumed by the larger categories.

Whether greater evenness of voting is the long-term result will depend on how the smaller contribution categories grow with this new opportunity and whether any tweaks are made to the rules of the new bot once the pattern of voting settles in. I would expect something in between the current position and complete evenness, perhaps closer to the former than to the latter. But that is a question for November.


Repository:

This analysis relates to the Utopian open-source project. The relevant repositories are:

  • utopian-io/utopian-bot
  • utopian-io/utopian.io

Tools and scripts:

gears_blockops_green.jpg

I used the block.ops analysis system to produce this study. Block.ops is an open-source analysis tool designed for heavy-duty analyses of the Steem blockchain data. It is currently under construction. This is the third complete analysis from its depths.

You can find the repository for block.ops here:
https://github.com/miniature-tiger/block.ops

The analysis used all the Steem blocks from October. This is approximately 900,000 blocks.

The main difficulty in producing this analysis involved correctly allocating posts to their respective categories and contribution types. This relied entirely on the tags and links included in each post. The order / logic I have used for the allocation is as follows:

  • Moderator comments based on having the appropriate links to Utopian guidelines and help.
  • Contribution post type based on the tags 'Utopian-io' and the first contribution type that appears. Special consideration taken for idea / ideas and social / visibility.
  • Steemstem post based on steemstem vote.
  • Task request based on the tags 'Utopian-io' and the first task-contribution type. Task-bug-hunting is not a thing.
  • mspwaves post based on msp-waves or mspwaves tag.
  • Other posts and comments based on postComment indicator.

Whilst I have made my best effort in this categorisation, I cannot promise to have allocated every post correctly.


Thanks for reading!

H2
H3
H4
3 columns
2 columns
1 column
23 Comments