An Analysis of Lost Votes

in #utopian-io7 years ago (edited)

There is one post on my blog that continues to get upvotes every day, even though it is now over a month old. I appreciate the thought, I really do, although I feel for the voters who perhaps do not realise that their votes do not count: They neither increase my payout, nor do they provide the voters themselves with any curation rewards of their own.

How significant a problem is this? How many votes are made after the six-and-a-half day cut off (or seven days for donwvotes) imposed by the steem blockchain? I decided to investigate.

Lost Votes.png

Overall Result

For an analysis period I looked at the seven days from 24 December 2017 to 30 December 2017 (inclusive).

  • The number of upvotes made overall was: 4,612,502
  • The number of upvotes made outside of the voting period was: 78,112

This gives us a ratio of 1.7% of votes being lost. This is not a huge number in the grand scheme of things, particularly considering three out of every four circulating steem are not used to vote in a given week (i.e. so 75% of all potential votes are not made).

Next I decided to determine which users are most affected.

Analysis by Account Start Date

I first looked at an analysis of lost votes by account start date.

Screen Shot 2018-01-01 at 21.38.30.png

Account Start MonthVoters%age - Self Voters
Prior8,0865%
2017-064,9667%
2017-075,1785%
2017-085,3015%
2017-096,3825%
2017-105,72116%
2017-118,8249%
2017-1233,6544%
Total Result78,1126%

As might be expected, it is the most recent joiners that are most heavily impacted by lost votes. The obvious conclusion to draw is that new users are either not aware of the seven day rule or not yet accustomed to checking the timestamp on posts.

Analysis by Steem Power

My next analysis looked at the level of Steem Power held by those voting outside the seven day period.
(results are grouped into 50SP bands).

Screen Shot 2018-01-01 at 21.42.52.png

SP RangeVoters%age - Self Voters
07762%
5072,3866%
1002,0162%
1508414%
20020310%
25017323%
3003292%
3506231%
400496%
4503816%
500 +1,2395%

Again, this result is not unexpected. Users with the lowest level of Steem Power are the most affected, most likely because they are new or only occasional users and so potentially still unaccustomed to the system.

However it is also worth noting that there were 182 votes lost by users with over 5,000 Steem Power (i.e. dolphins) and 12 votes lost by users with over 50,000 Steem Power (i.e. Orcas). I have done this by accident myself on at least one occasion.

Analysis by Time

I next considered an analysis of the voting time of lost votes. Are users just missing out, perhaps because the six-and-a-half or seven day period measurement on the system is not clear?

A chart of the first month, split by half days, shows that whilst a reasonable proportion of voters are just missing out by arriving in the twelve hours after the seven day voting period closes, there is in fact quite a spread of lost votes stretching back on posts made over the prior month.

Screen Shot 2018-01-01 at 21.54.25.png

A chart across the whole history of steem, split by month, shows that in fact there are upvotes still being made on the very earliest posts.

Screen Shot 2018-01-01 at 21.55.00.png

Conclusions

  • The overall level of lost votes is not significant compared to the overall level of voting on the steem blockchain (1.7%).
  • However it is clear from the analysis that the most recent joiners are most heavily affected by lost votes.
  • Most lost votes belong to users with low steem power but there were also some much larger votes lost (this could of course be deliberate - it is not easy to determine motivation in such as analysis).
  • The timing of lost upvotes indicates that whilst some users are just missing out, there are lost votes over a spread of time including on some very old posts. This suggests a lack of understanding of the rules rather than a lack of clarity on the indicator for the seven day period.

Whilst the problem is not a huge one, the error of voting on old posts can be a minor frustration for established users, and a worsening of the user experience for new users. It would be a useful addition to steem platforms to include a pop-up text-box when users are trying to upvote a posts where the voting period has elapsed. This would warn the user that their vote will have no impact.

Questions

That's all for today.

If you have any questions or spot any errors please do not hesitate to leave a comment!
Thanks for reading!

Methodology and Tools for Analysis

Tools

Raw data was obtained through sql queries of steemsql using Valentina Studio.
Data was analysed in LibreOffice and illustrated in Numbers (spreadsheet tools).
Data was obtained for various timescales, including a particular focus on 2017 and the comparison between studies in November and December.

SQL queries

I used the following SQL queries:

Total Votes over the week:
SELECT
    Count(TxVotes.voter) as [Voter]
FROM 
    TxVotes (NOLOCK)  
 WHERE          
        Convert(date, TxVotes.timestamp) >= '2017-12-24'  and
        Convert(date, TxVotes.timestamp) <= '2017-12-30' 
Breakdown of Lost Votes over the week:
SELECT
    convert(date, Comments.Created) as [commentCreated],
    datepart(hour, Comments.Created) as [HourOfCreation],
    datediff(mi, Comments.Created, TxVotes.timestamp) as [MinOfVote],
    TxVotes.voter as [Voter], 
    case when TxVotes.voter = comments.author then 1 else 0 end as [SelfVoters],
    TxVotes.author as [Author], 
    TxVotes.weight as [VoteWeight],
    convert(decimal(20,0), 487 * (convert(decimal(20,4), left(Accounts.vesting_shares, len(Accounts.vesting_shares)-5)) +
    convert(decimal(20,4), left(Accounts.received_vesting_shares, len(Accounts.received_vesting_shares)-5)) +
    -convert(decimal(20,4), left(Accounts.delegated_vesting_shares, len(Accounts.delegated_vesting_shares)-5))) / 10000000) as [SPinVests],
    TxVotes.permlink as [link]
 FROM TxVotes (NOLOCK)  
        INNER join Comments (NOLOCK)
            on TxVotes.permlink = Comments.permlink
                 and TxVotes.author = Comments.author
        INNER join Accounts (NOLOCK)
            on TxVotes.voter = Accounts.name               
 WHERE 
       Convert(date, TxVotes.timestamp) >= '2017-12-24'  and
        Convert(date, TxVotes.timestamp) <= '2017-12-30' and
        convert(date, Comments.Created)  <> '1970-01-01' and
           
            (iif(TxVotes.weight<=0, 0, datediff(mi, Comments.created, TxVotes.timestamp)) > 9360  or
            iif(TxVotes.weight>0, 0, datediff(mi, Comments.created, TxVotes.timestamp)) > 10080) 
ORDER BY
       datediff(mi, Comments.Created, TxVotes.timestamp)



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Hello,

I often upvote "old" articles that i read with interest in order to bookmark them, so that i can easily find back thoses sources later on, by consulting my account 's activities. No need to have a tool outside the blockchain to centralize all my bookmarks related to my Steem explorations. At this stage i did not find any better way to keep track of my readings, but if any other exists, don't hesitate to tell me.
I just wanted to give my own example of the motivation driving such vote with no value. I don't know if am the only one. And if i correctly get it, doing so is not really hurting the ecosystem.
This 7 days rules is quite disturbing sometimes because a lot of old but long-term valuable contents are loosing their visibility.
Anyway, thanks for this study clarfiying this side of the rules.
Best Wishes !

That's a nice idea, and not one I'd considered. Thanks for explaining your motivation! I suppose that you could achieve the same by commenting, although it's more work / more intrusive if you are just bookmarking the article. I can't think of another clean way to do it using the current blockchain functionality. Perhaps making a post "this is my reference list" and adding a comment with each new link when you find new articles? Again, it's more work.

You are correct that it doesn't harm the ecosystem. It does lose you one of your votes (or it reduces your voting power; whichever way you want to think about it) and you receive no curation rewards but that's not a big issue at low SP, particularly if you're voting at low percentage (by using the slider on busy for example).

I'd be interested to hear other motivations from anyone out there, to understand whether this is more a deliberate than accidental issue.

Best wishes too!

Excuse my English but I use a translator.
Very good your post. It has not happened to me what you mention because I always go to the first three posts of a person, but I always asked for the votes out of time. You answered my question, now, is this fair? It does not matter if the user is new or does not know the 7 day rule, the problem is that the post dies in 7 days and it is possible that by very good your post will not be seen until after a month. I think that a post should not die so fast but I share that 7 days for a reward is very good, but steemit should establish a value for the votes out of time, that these will be re-used and saved elsewhere to be subsequently valued in groups of votes. So new and old has opportunity without major losses. For the rest the easiest thing is that the post is canceled to be voted

I haven't discussed this in the analysis above but I agree with you that there should be a longer reward period.

My main reason for this is that the steem blockchain is getting to be a wider set of content platforms than just blogging. For example now there are videos.

I think we want steem to be as wide and flexible as possible to allow all different kinds of content creators to spend their time producing the best content. An an extreme example, take someone producing a 2-hour film. A seven day reward period is unlikely to give the rewards they merit.

The way I would organise this is through a series of weekly payout windows that continue through time - I think this is what you are suggesting above.

The restriction of only being allowed to vote once on any single post would be maintained.

You have fully grasped my idea !! , "weekly payment windows that are maintained over time" could not say it better !! jejejej !!

I'm new to STEMIT, I'm only 3 months old but I also want to take advantage of your post to say that it would be good if the STEEMIT website had a system that warned about the publications that followers make similar to FACEBOOK's, allowing us to quickly visualize the publications of others and get the most out of them before they "die", as well as a list of the contacts that are available but more at hand, this would make it possible to get more out of the platform.

Hi @hojaraskita. Sorry - I missed this one!

I have just started using Steemify, which is an iPhone app that tells you all kinds of information, including when people are posting, or mentioning your name.

You can also use Steemd.com (just switch steemit.com for steemd.com on your blog page, e.g:

https://steemd.com/@miniature-tiger

It's more of a blockchain style crawler but it's useful.

Hope that helps!

Hey there @miniature-tiger thank you for the great analysis and this well written and informative post.

While I completely agree with you that the 7 days payout period has its downside, your post made me wonder : how can we fix this? Do you think this is a systemic issue with the rewards system?

I just recently opened a discussion on my blog whether the 7 days payout period needs a rethink and we gathered some interesting ideas there. I would appreciate if you could share your thoughts on this issue with us.

Here's the link to the post : https://steemit.com/steem/@raci/does-the-7-day-payout-period-on-steem-still-make-sense

And kudos to @dbddv01 for sending me into your direction.

Loving your work as usual!

Interesting comment from @dbddv01 regarding bookmarking - skewing the analysis he is! Just kidding @dbddv01 :D

Thanks Asher! I expect there are other motivations in late votes as well - although tricky to get much in the way of capture. I'm not sure how a late downvote affects reputation for example but there is defintitely some of that going on.

Hi @abh12345 and @miniature-tiger, just wanted to mention that i discovered a "Save Post" function via the busy.org interface. So via busy.org bookmarking is possible. Not via the usual steemit interface. Keep up the good work. bookmark.JPG

Oh, nice find @dbddv01! I will check this out.

Nice analysis!

Thank you for the contribution. It has been approved.

As soon as I saw who posted this article, I knew it was going to be good. You did not disappoint! Great analysis, interesting read, please give us more!

You can contact us on Discord.
[utopian-moderator]

Thanks again @dutch! I enjoy producing these analyses and am always happy when people find them interesting. I think there's a lot to see, looking at the blockchain and its environment and the behaviours of users in this new economy.

There certainly will be more - keep an eye out!

woww..very good your post. i like it..

Hey @miniature-tiger I am @utopian-io. I have just upvoted you!

Achievements

  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

I did a great post that really liked me very much

You are welcome.

Good good...
Pleace vote me

I would suggest you stop those comments. All you will collect is flags.
Post some good content, find your community, engage, put in a little work.
It takes time - there are no quick wins - but it is possible!