Idea on Improving the Trending Feed
How do we determine what is really trending vs what is being pumped
As any minnow on STEEMit knows, it is hard to get your article noticed. Sure, you can use a bot to give you upvotes or get lucky and have Curie or a random whale share some upvote love. But, in general, most posts get created and move off to the ether not even getting $0.10 of upvotes. I haven't taken a survey (future STEEMit option?), but I am guessing that there is a perception that only certain whales get to the top of the trending list. Sure, anyone can make the top of a trending list for a particular Tag/Category, but getting to the top of the main trending list is almost impossible for a small minnow or anyone below a reputation of 50.
As part of researching this article, I noticed that there are very few articles in the trending feed that are from authors who are below 50 reputation. I don't know if it is due to people with lower reputation not writing compelling articles or if the feed is skewed against those with lower reputations. At the time of writing this article, there were only 2 authors with a reputation in the 50s and most had a reputation in the 70s.
Another thing that seems to drive trending ranking is the reward value. The top article might not have the highest reward value, but the ones at the top will be in the 3 digit or higher range verses those at the bottom. While it makes sense that those articles getting the biggest upvote rewards should be at the top, we end up going back to how those with large amounts of Steem POWER can more easily push up their reward upvotes better than a little minnow with hardly any Steem POWER.
How can we solve this?
I don't know for sure. Maybe we should ignore the Trending and only focus on the Hot feed, which only shows articles that are new and not days old like Trending. Or, we could rethink how we calculate the positioning for the feeds.
I am guessing my formula could also work for the Hot feed, just switching out the Day Age Bonus with an Hour Age Bonus and only including those articles created within the last 12 hours.
I have created a formula that gives articles points. The higher the points, the higher the ranking. The points are based of off a number of items related to the article. As part of this article, I did manage to create a Google Spreadsheet that calculated the points from inputs that could easily be retrieved from each article. This is important, because we want this to be automatic and update on a regular basis and adjusting the rankings. Based on my formula, the rankings would only need to be adjusted on the hour.
First, lets focus on the things that really make an article trending (according to DeanLogic).
- Number of Views
- Number of Upvotes
- Age of Article
Age of Article
This of course, is a high importance. An article can be very popular, but if it is old, then it isn't "Trending" anymore. Things that are trending should be in the now and not stale. Since the payout for rewards is based off of a 7 day system, then any article that is about to payout or has paid out, should not be trending.
As part of my formula for determining which articles to choose, I will limit it to only articles less than 7 days old. Then, I will give a bonus to those articles that are newer verses older ones. The older articles, by definition, are leaving the trending status.
Age Bonus
- 0-1 days = 6x dayMultiplier
- 1-2 days = 5x
- 2-3 days = 4x
- 3-4 days = 3x
- 4-5 days = 2x
- 5-6 days = 1x
- 6+ days = 0x ( as you will see below, that would give the article 0 points)
How the Age Bonus works, any article under 1 day old gets a 6x multiplier to total number of article points. As the article ages, the Age Bonus is less effective. These means, given two articles with equal base article points, the newer one would be ranked much higher. It is also possible that a newer article with less base articles points could be ranked higher than an older article with more base article points. At the moment, my formula uses whole numbers, but it could be adjusted to use fraction of an hour, so that an article created 15 minutes ago, gets just a slightly higher bonus than one created at 55 minutes.
Number of Views and Upvotes
One of the biggest annoyances is to see an article with just a few views but 100s of upvotes. Most likely, this article was upvoted by a bot or some community voting, without even being read. Bots have become a scourge of STEEMit. While some believe that the bots help minnows and new users, in the end they don't really help the community at all.
![DestroyAllBots.png](https://steemitimages.com/640x0/https://steemitimages.com/DQmScrNwfbVe1PXMV2yy8CWKbEPx5gMGfQC7Kiw9Y2AbPFd/DestroyAllBots.png)
To offset the difference between articles with actual users upvoting verses bot upvotes, the formula determines the actual view upvotes or
Views per Vote
viewPerVote = (Views / Votes) * Views
This part of the formula takes the number of views and divides it by the number of votes. If you have more votes than views, then this will give you a number below 1. If you have more views than votes, then that will give you a number above 1. The calculated number is then multiplied by your views. All things being equal, if an article was visited by an upvote bot and only have a couple of views, it would rank lower than an article that was viewed and upvoted by those people viewing it.
Finally, there needs to be something to add points for effort.
Word Count Sets and Bonus
It seems that the main purpose of STEEMit is to provide a place that offers content. Until there is an AI built that can determine what is a good article and what is a bad article, the best we can do is use the word count of the article. I'm sure there are tools that could be used to determine if an article has spelling, syntax and grammar errors, but that would probably slow down the calculations. Counting the number of words is easy and I used an online app called WORD Counter.net to check the articles. For the most part, I tried to not include any footer text or text that looked like it wasn't part of the article.
Frankly, the world count should probably be at the end of the edit window on STEEMit. Other applications, like WordPress, offer a word count, so that you know if you have hit enough words for the search crawlers to care.
Videos and Photos
One issue with using the word count has to do with videos and photos. I know that photo blogs are big on STEEMit and I have participated in them. As they say, "A picture says a 1,000 words". But, I am not about to give an image link 1,000 words or 2 word set bonus. Maybe whomever tweaks the formula can figure out whether the hashtag used for the article contains photography and provide article points based on the number of photos. But, we are still limited as to whether or not the photos are good or not. The same goes with videos. There is no way of determining the quality or effort put into the video. I would suggest, that a minimum, the author should provide text to explain the photo and the video in order to get more article points.
The article above mentions that each page must have at least 250 words. Since that is the minimum effort, I decided to make 500 words as the minimum for a Word Set. To adjust for those who almost wrote another set, I determined that if the remaining word count was more than 250, then it can be counted as a full word set. And, to be a little bit fair, each article would get 1 point for being an article. So, if you had a half of word set beyond 500 words, you get 2 points: 1 for being and article and 1 for the half word set counted as a whole.
Total Word Sets
- fullWordSets = words / 500
- wordEndReminder = words - (fullWordSets * 500)
- if(wordEndReminder > 250) {
totalWordSets = fullWordSets + 2
} else {
totalWordSets = fullWordSets + 1
}
Also, I decided that there had to be a point at which the author went beyond basic effort and that those articles should get a bonus for the extra effort. I decided that if there were more than 5 Word Sets, for each additional set, the article would get a two times multiplier. 5 word sets would be 2,500 words, or right at the "sweet spot" for building organic traffic.
HubSpot, in their 2017 post, found their blog post sweet spot was 2,500 words ~ Source: https://seocopywriting.com/whats-the-best-word-count-for-seo-copywriting/
For every word set you create beyond the "sweet spot", you are getting a bonus.
Word Set Bonus
- if(totalWordSets > 5) {
bonusWordSets = (totalWordSets - 5) * 2
}
Let's put it all together
Now that we have the criteria for creating the points, we need to calculate the Article Points. As I mentioned, the Day Age is a multiplier, so all the base points are added and then multiplied by that.
Ranking Formula
- points = (totalWordSets + bonusWordSets + viewPerVote) * dayMultiplier
As I mentioned at the start, I figured out how to do these calculations in Google Spreadsheet and went to get the data. As a note, the day multiplier was created by using a VLOOKUP and breaking down the days to a decimal. I didn't do an exact breakdown, because I didn't have the exact date of the article.
The Outcome
As part of my experiment, I took the Top 11 articles in the Trending feed. I ignored the first article, because it was from Ned and it had the rewards option removed. I'm not sure if that should be a criteria or not. I guess it shouldn't matter if you choose not to receive rewards from your article. Anyway, I excluded it because it was Ned's. After entering the values for those articles, I found 6 random articles way down on the list to see if they could unseat the Top 10 listed. Some article titles had to be truncated in order to fit in the table structure.
Trending Rank | Article | Article Points | Points Rank |
---|---|---|---|
1 | Miss. Delicious #81 : Tamsui's Hai Feng Seafood Restaurant - 55 years and still going! | 3442 | 5 |
2 | BUILDTEAM Final Auction | 222 | 9 |
3 | "Code Is Law (Only When I Want, Otherwise It's Abuse)" | 10329 | 3 |
4 | Join the MinnowBooster Whitelist for MegaBoost! | 8336 | 4 |
5 | The evolution of Adam - the lesser understood spirit within us all. | 1745 | 6 |
6 | DLive - Answers for Tech Teasers, Bounty Survey for All Readers | 4595 | 8 |
7 | A Geeky Dad's Movie Guide to Thor: Ragnarok (2017) | 148 | 10 |
8 | Sharpe.Capital ICO - Earn ETH in Exchange for Your Opinion about Markets and Assets. | 969 | 7 |
9 | Everything for Beauty | 27802 | 1 |
10 | Introducing Lila*Star in Spokenword | 18565 | 2 |
As you can see from the Top 10 list, there would be some changes in the rankings using my system. "The Everything for Beauty" article, which is 2 days old, would be the top article by a long shot.
Trending Rank | Article | Article Points | Points Rank |
---|---|---|---|
1 | The Brick Building | 19 | out of Top 10 |
2 | Damn Poetry... | 161 | out of Top 10 |
3 | SteemFest² Speakers Inspire My New Upvoting System! | 2031 | rank higher than 5th |
4 | The Predjama Castle | 129 | out of Top 10 |
5 | The Chronicles of The Father of Blockchain | 135 | out of Top 10 |
6 | Water Color Art #4: LADY IN BLUE | 631 | rank higher than 9th |
The 6 random articles are listed as I found them, meaning rank 1 was higher than rank 2, etc. While two of the articles would actually be higher than some of the Top 10 articles, my formula also shows that the ranking of these articles would change in the overall listing.
The only real way to see a difference would be to create an app to replace the Trending and Hot feeds. Then I could compare the live feeds directly to see if there is a major change in what gets pushed to the top.
Would this help out any minnows?
I don't know if it would help out or not. But, I just think that maybe the method of determining the ranking in the feeds might benefit from some tweaking.
Word count: 2,277
Let the positive energy sing!
More Power to the Minnows!!
![DestroyAllBots.png](https://steemitimages.com/640x0/https://steemitimages.com/DQmScrNwfbVe1PXMV2yy8CWKbEPx5gMGfQC7Kiw9Y2AbPFd/DestroyAllBots.png)
I very rarely read anything but my feed...when I do it's likely the new tab...less often the hot tab. Very, very rarely do I bother with trending and almost NEVER do I look at promoted
Odd that.
I usually do the "New" tab as well, beyond my own feed.
Like I said at the end. I don't know if changing the feed would help.
I do NOT like what they have done to the tabs.
They moved them around and renamed them.
They fixed what was not broke.
They just like to keep things fun and exciting!
Wow a very long and very documented blog and have to admit that your formula will be much better for us the minnows even there are a lot of technical stuff that you explain.
The road to success here on Steemit is a hard one and requires not only good, original and quality content but as you mention a bit of luck as well. Sometimes even me i work so many hours for a post that receives few cents and sometimes i am lucky and few whales notice the blog like it and vote it and makes such a big difference.
I have notice as well the same on the trending page or on the hot page and i have to agree that things need to change there.
But there is one thing that i notice... the better your reputation is the more support you start to have and i think its not ok as i sow posts from people with reputation level over 70 that honest to be were not a good or quite original content and still were voted massively and generate a lot of votes.
It is what it is... maybe things will change in the future!
As always a great blog from your side and i hope more like this will come.. keep up the good work and always Steem On my dear friend!
I don't have the data, but I would assume anyone who is higher than Rep 60 is also probably a dolphin or a whale. And there is probably a correlation between them being about to upvote their post with an initial amount in the $10 - $100 - $1000 range that drove more people to upvote their votes and then affecting their reputation.
A self feeding system. Pay in, you can vote up your post high and everyone will want a piece of the curation reward. In turn, you get a higher reputation. High reputation and high reward, gets you up on the trending list.
That's why I think the reward and reputation should be ignored.
Maybe there could be points for the number of comments as well.
For the moment looks like the Reputation Level is very important and looks like it will remain like that. As you mention once you reach that stage you can upvote your post and then so many people will want a piece of that curation reward.
As i mention in the past: Rome was not build in few day and more changes will come in the future in our amazing platform.. let's hope the changes will be for all of us and not only for the big boys here!
I do appreciate someone looking at all the angles like this @deanlogic, it is way more than I know anything about with how the platform or 'grading' system works, but I do know this. I don't like the bots much so far. I am new here and suppose they serve a purpose for some.
For me, the content is what I am looking for. Imho, if the community focuses on the bots then soon we will have a community simply full of bots. :( That would be sad as they add little value (outside of upvotes to some) to the "community" itself.
I don't see them going away from bots, when the whales use bots. And that's a sad statement.