How github detect trending repositories?

In list https://github.com/trending there are only information about  stars per interval, but it seems that the increase in the number of stars  is not only one  criteria for become in “trending”

5 Likes

Hi @insolita,

This post was moved to a different board that fits your topic of discussion a bit better. This means you’ll get better engagement on your post, and it keeps our Community organized so users can more easily find information.

As you’ll notice, your Topic is now in the How to use Git and GitHub board. No action is needed on your part; you can continue the conversation as normal here.

Let me know if you have any other questions or if I can help with anything else.

Cheers!

That doesn’t help people that get to this page. Do you have a link to where you moved it to?

This page is the page that it moved to. The direct link is https://github.community/t5/How-to-use-Git-and-GitHub/How-github-detect-trending-repositories/m-p/5954#M1946

Sorry, my mistake. I misunderstood the part where you stated the converation could continue here.

No worries! :slight_smile:

It’s almost exclusively stars per interval plus some logic to prevent star farming and the like. What is your concern about the system?

If what you are saying is true then my repo could have been trending list for today …

What could be the potential reason its not visible in the trending ???

https://github.community/t5/Project-Development-Help-and/My-github-repo-got-300-stars-today-but-its-not-visible-in-Github/m-p/26428

1 Like

As I stated, there is logic to prevent gaming of the system. Gaming of the system isn’t always or even necessarily often committed by the owner of the repository, but can also be undertaken by overenthusiastic fans of the repository, or even …

worldburn-top.jpg

Because of this, we don’t describe our exact system for determining repository trends. I can understand that this is frustrating. Unfortunately, it’s the best way we’ve found to maintain the integrity and usefulness of the trending system.

I hope that helps!

Yes i understand Githubs concern’s … and i do respect them … but the stars i received on my github repo was becasue it was trending on the Hacker News front page … 

Hacker news -one of the most respected websites … has one of the best Human Moderators who are trying to prevent GAMING the system … its nearly impossible to Game the hacker news and get trending there …

To validate my claims … you can visit the link : https://news.ycombinator.com/item?id=20292104

For open-source project … github is one of the few sources which can bring visibility to the interested audience … 

Because we dont have funds to pay for advertizing … 

4 Likes

Hi @that-pat,

pretty much the same story for me.

https://github.com/neomjs/neo was a featured top story inside hacker news yesterday:

HN.png

The repository got a lot of traffic and the stars went up from 86 to 172.

Looking at the trending pages (e.g. filtered for Javascript), neo.mjs was not listed, but other repos which gained 13 stars were.

This current logic is extremely frustrating and unfair.

Best regards,

Tobias

2 Likes

Hacker News and GitHub uses different definitions of “trending”. GitHub’s definition takes into account a longer term definition of trending and uses more complex measurement than sheer number of stars which helps to keep people from farming the system. This is why it is possible to gain so many stars and still not show as “trending” on GitHub.

I don’t think stars have much to do with it. My repo https://github.com/mifi/editly got 900+ stars in 16 hours from hackernews and no trending, not even on “today”, while 900 should be the most starred repos of the whole day. I see most of the repos trending “today” have around or less than 100 stars today, so it must be something else. If it’s not about stars, then how to be “trending”? Or is “trending today” delayed and actually yesterdays trending?

Ok, so “trending today” is calculated from some sum of stars from the previous N days?

My repo got around 30 start in last 24 hours still it’s not showing on trending list. while other repos with 8-10 starts in a day are showing in list. Not sure how Github us preparing trending list of repos. Is there any other criteria which we need to look for?

Unfortunately, it does not help.

I believe the intention is good, but the system is abused does not mean transparency is bad, it only means the algorithm is not good enough.

Hiding everything behind the scene confuses people and is definitely a bad idea, especially in the open source community. The result is less and less people take “trending” seriously or even look at it anymore, because it does not provide the information they’re seeking for.

How does that apply when I want to see what’s “trending” today?

I’ve been keeping tabs on “trending” pages for 3 or so years, ever since this feature was added, and have long felt it was total poppycock. Especially for certain languages.

If a repos traffic goes from 100s views to >3K unique views (like @tobiu’s case) and has HTTP refers from Hacker News or Reddit or whatever and has hundreds of stars added in a day and/or week this is what I call: trending.

Instead when I go to see what’s “trending” for a certain languages it shows me the same dusted ass repos from a year or two ago: 0 stars today, 2 stars this week all while legit repos are getting major traffic increases and I’m missing out.

There has been countless discussions/questions on the trending mechanism, and numerous people complaining about not being able to see their popular repos on trending.

So far, the best official explanation I can find comes from this thread, quote:

As I stated, there is logic to prevent gaming of the system. Gaming of the system isn’t always or even necessarily often committed by the owner of the repository, but can also be undertaken by overenthusiastic fans of the repository, or even …

Because of this, we don’t describe our exact system for determining repository trends. I can understand that this is frustrating. Unfortunately, it’s the best way we’ve found to maintain the integrity and usefulness of the trending system.

Though not happy with the answer, I accepted it, and persuaded myself that maybe the algorithm GitHub uses is indeed better and more scientific.

Until today. Because I saw this repo ranked 2nd on trending.

So what is this “Go-000” repo? The repo has been deleted (update: the repo is back, with all the forks removed), most likely by its owner, but a bit of investigation revealed what it was about:

This is a repo of an online Golang course, offered by a company called geekbang. What happens is that the course has a repo with all the teaching materials, and the teacher let the students fork it. That’s why it has 659 forks and little stars.

Yet, this is all legit and common use case. Using GitHub for teaching is becoming more and more popular, because it’s very effective. So what is the problem?

There is only one answer: the GitHub trending mechanism.

It is says to “prevent gaming of the system”, but we have now found, by this evident case, that it is very easy to game the system: we just need enough forks.

Besides the algorithm itself being bad, there’s a bigger issue: its opacity. In cryptography, a good algorithm should be public and open, otherwise it can’t be verified and may contain serious yet hidden issues. The same goes for trending ranking algorithm. GitHub chooses to hide everything behind the scenes, so nobody can game the system - to me, it’s like closing your eyes pretending the problem does not exist. But the problems do exist. Lots of folks get frustrated not seeing their projects, repos like “Go-000” and “Learn algorithm”, “Learn Java”, “Cracking leetcode” trending all over the place. As a result, users are not able to see what they want to see from trending, less and less people take trending seriously or even look at it anymore.

I cannot help but to ask GitHub: is this what you want to see? A place meant for promoting good content filled up with low-quality stuff, and you still pretend there’s no problem.

I do believe the good intent, but the system is abused does not mean transparency is bad, it only means the algorithm is not good enough. Hiding everything behind the scene makes improving the algorithm harder, confuses people, and is definitely a bad idea, especially in the open source community.

The most important metric of GitHub’s success is developers’ happiness, and I see way more developers being unhappy about trending than ever before. Therefore, it is very clear, that GitHub trending has been proven to be a failure.

40 Likes

I still remember it was four years ago when I first learn to code, I was totally a freshman and didn’t have any tutorials supported at all. I found GitHub and there was only a trending page (didn’t have collections page) in the explore page. I surfed the trending page for a whole day and finally got the result, its algorithm is so bad.

Four years later, however, it didn’t improve a lot. So many users ask How Github detect trending repositories?

| Just Google the bold words above cause I am new here, limited the link numbers. So no related link here :rage::rage::rage:

and want GitHub to open source its trending page’s ranking algorithm and try to improve it. This post just does the same thing. But one thing I don’t agree with this post is that it was not Chinese users’ fault, if there were bugs, users from all over the world can cheat the system.

Until today(2020/12/05), the trending page still has some improper repositories. I.E.

| Just open the link above cause I am new here, limited the embedded media numbers. So no Imgur pic here :neutral_face::neutral_face::neutral_face:

It is a repository that contains codes used in the 50-projects-50-days Udemy course. Commercial related.

| Just Google the bold words above cause I am new here, limited the link numbers. So no related link here :rage::rage::rage:

And this one

| Just open the link above cause I am new here, limited the embedded media numbers. So no Imgur pic here :neutral_face::neutral_face::neutral_face:

It says it is a Script to add all Udemy paid/free courses having coupons automatically to your Udemy account. This even touches on commercial interests and may bring legal risks since GitHub pushes it to the trending page.

I am happy to see the improvement of the trending page in five years, but it seems there were still some bugs that make the trending page not perfect enough.

| Can community programmers improve the community rules, it makes me crazy. Does it make sense that I have to make a few posts before I speak? This is a system from the last century!!!

Why not consider improving the community rules?

Why not consider opening source the trending algorithm?

1 Like

Hi gricn, happy to see your reply.

I want to clarify, Go-000 is just an obvious example to prove the algorithm is poor, and by no means I’m criticizing Chinses users. Because anyone can fool the system by having a lot of forks, either intentionally or unintentionally.

And I have the same feeling with you. The algorithm is poor, and there’s no way to improve or even giving suggestions because everything is hidden.

1 Like