github-readme-stats
github-readme-stats copied to clipboard
Change the ranking/level system
I just discovered your repo and it is exactly what I need to create my user repo and user readme. Thank you for the amazing work you are doing here !
Is your feature request related to a problem? Please describe.
I'm surprised by the ranking system currently used:
- B+ everyone
- A++ top 60%
- A+ top 45%
- S top 25%
- S+ top 1%
Most of the people who will see a github stats card like this won't understand the ranking system or will not understand it correctly. For me, A+ means really good user (or code quality) if you consider the ABCDEF ranking system.
To actually understand your ranking system, you need to click on the card, start reading the readme and find a little note explaining it.
The ranking label on the card must be obvious for anybody reading the card, whatever the job, nationality, education or culture.
Describe the solution you'd like
Proposing my own ranking system won't be the ideal solution too. It will have a global impact on everybody, so I think the community itself must debate to find the right ranking system !
Describe alternatives you've considered
Instead of a ranking system, you could just display the user rank in percentage:
Additional context
If you think this issue is relevant, consider pinning it so everybody can contribute.
@LucBerge Thanks for your feature request. I agree with you that the ranking system is weird, and I think we are not the only ones since there have been multiple proposals and PRs open that try to improve the ranking:
- https://github.com/anuraghazra/github-readme-stats/issues/2265
- https://github.com/anuraghazra/github-readme-stats/issues/1560
- https://github.com/anuraghazra/github-readme-stats/issues/1579
- https://github.com/anuraghazra/github-readme-stats/issues/455
- https://github.com/anuraghazra/github-readme-stats/pull/960
- https://github.com/anuraghazra/github-readme-stats/pull/1186
I think three things can be improved about the ranking:
- Switch to a more commonly used grading system (i.e. A-F, A+ to F or % based).
- Show top-users percentage on hover (see https://github.com/anuraghazra/github-readme-stats/issues/2157).
- Improve the rank calculation (see https://github.com/anuraghazra/github-readme-stats/pull/2116 and https://github.com/anuraghazra/github-readme-stats/pull/1186).
@anuraghazra I think we can merge https://github.com/anuraghazra/github-readme-stats/pull/2116 and https://github.com/anuraghazra/github-readme-stats/pull/1186 and switch to the A-F or A+ to F ranking system?
This is one of our most requested features, so I have looked at it (see https://github.com/anuraghazra/github-readme-stats/issues/1935). I, however, would like some feedback from @anuraghazra before merging https://github.com/anuraghazra/github-readme-stats/pull/2116 and https://github.com/anuraghazra/github-readme-stats/pull/1186.
In this issue, I'm only talking about the displayed values, I'm not questionning the model behind.
You first have to deal with the computation method before moving to the displayed values.
For now, the propositions are:
- #1560:
S+,S,A,B,C,D,E... - #1579:
lvl 1,lvl 2,lvl 3,lvl 4... - #2265:
%based - US ranking system:
A+,A,B+,B,C+,C...
What else do we have ?
@LucBerge I think the other ones would be the US ranking systems (see https://everydayeducation.com/blogs/news/grading-systems#:~:text=The%20most%20commonly%20used%20grading,100%20instead%20of%20letter%20grades).
A-F.A+-F
I prefer these systems while showing the % based results on hover (see https://github.com/anuraghazra/github-readme-stats/issues/2157), but I might be biased let's see what @anuraghazra thinks.
We also have the Japanese, which I think the current ranking is based on (see https://en.wikipedia.org/wiki/Academic_grading_in_Japan). Since only the S+ is confusing for me, I think this one is also fine, but I think fewer people are familiar with that ranking system. So my vote still goes to the US-based ranking systems If we want to use letters.
Well, I didn't know it was Japanese until now...
Well, I didn't know it was Japanese until now...
Same for me. I looked it up some months ago. It was the closest one I could find to the one GRS is using. 🤓 Maybe @anuraghazra can elaborate on which ranking system he based the GRS ranks on.
Hello, I don't think the A-F system is a good idea. C, D and F are associated to a bad grade so it would be like "shaming" new devs because they have little contributions.
Maybe we can refer to the game rank, after all the developers spent a lot of time researching this
Hello, I don't think the A-F system is a good idea. C, D and F are associated to a bad grade so it would be like "shaming" new devs because they have little contributions.
Good point we don't want that 😅!
Maybe we can refer to the game rank after all the developers spent a lot of time researching this
@ZjzMisaka Thanks for your input. That ranking system looks good to me very clear. It also is very close to the Japanese game ranking system @anuraghazra is currently using. I think if we extend the current ranking system to your suggestion and add a hover that explains the score, we should be good to go (see https://github.com/anuraghazra/github-readme-stats/issues/2157).
@ZjzMisaka, I think your suggestion is similar to the suggestion given in https://github.com/anuraghazra/github-readme-stats/issues/1560. I would go for your version since it doesn't include the F grade and is more commonly used. Let's see what @anuraghazra thinks.
Giving the lowest percentile a "B+" is bizarre. Based on the popularity of the project, I think it deserves a meaningful ranking system that doesn't use "A++" for half of users.
+1 for this, since A+, A++, S, S+, etc are confusing for me. @francois-rozet has a valid point about C, D, and E though, so maybe we should consider something different. Seeing the current ranks though, A++, A+, A, A-, B+, B, B- should be enough, which solves both the problems.
B- to say bottom percentile is weird as well.
Imagine if the top grade this gave was a C+ for top 1%.
Same thing here.
B- to say bottom percentile is weird as well.
Why do you say so? The problem with C and D is that they imply a "bad" user, which is not the case. So we have to make do with A and B alone.
C and D only mean "bad" because they're at the bottom. If you make B- at the bottom, it's not any better, just misleading.
C and D only mean "bad" because they're at the bottom. If you make B- at the bottom, it's not any better, just misleading.
Well, the whole point of changing the ranking system is for users who have no idea what GRS is. When someone randomly comes across a GitHub profile, their impression is different for B and C, since they have no idea what ranking system we use.
The same is true for the current ranking system. I have an A+, which might impress people more than if I had an S, since they have no idea what S means.
In which case we could give everyone an S++++? You see what I'm saying?
In which case we could give everyone an S++++? You see what I'm saying?
Yes. This is difficult 😕 @rickstaa thoughts?
In which case we could give everyone an S++++? You see what I'm saying?
Yes. This is difficult 😕 @rickstaa thoughts?
My vote is with the gaming rank system proposed by @ZjzMisaka (see https://github.com/anuraghazra/github-readme-stats/issues/2265#issuecomment-1320908160). I think that system togheter with a hover that explains the score solves our problems (see #2157). @anuraghazra what do you think?
In which case we could give everyone an S++++? You see what I'm saying?
Yes. This is difficult confused @rickstaa thoughts?
My vote is with the gaming rank system proposed by @ZjzMisaka (see #2265 (comment)). I think that system togheter with a hover that explains the score solves our problems (see #2157). @anuraghazra what do you think?
Sure, that works. Can you add hover text to SVGs though?
In which case we could give everyone an S++++? You see what I'm saying?
Yes. This is difficult confused @rickstaa thoughts?
My vote is with the gaming rank system proposed by @ZjzMisaka (see #2265 (comment)). I think that system togheter with a hover that explains the score solves our problems (see #2157). @anuraghazra what do you think?
Sure, that works. Can you add hover text to SVGs though?
It appears so (see https://stackoverflow.com/questions/41768657/display-text-over-svg-element-on-hover). I also was surprised; I didn't test it out yet. 😅
In which case we could give everyone an S++++? You see what I'm saying?
Yes. This is difficult confused @rickstaa thoughts?
My vote is with the gaming rank system proposed by @ZjzMisaka (see #2265 (comment)). I think that system togheter with a hover that explains the score solves our problems (see #2157). @anuraghazra what do you think?
Sure, that works. Can you add hover text to SVGs though?
It appears so (see https://stackoverflow.com/questions/41768657/display-text-over-svg-element-on-hover). I also was surprised; I didn't test it out yet. sweat_smile
That would be in HTML, yes? I doubt you can do that with GRS though, since the application returns an SVG image, and not an SVG image embedded in an HTML page. It's obviously great if you can do that, but even if it works in the browser, I doubt it will work in other places like GitHub READMEs.
So to summarize I think the following will improve the ranking of the stats card which is one of our most requested enhancements:
- Merging #1186 while setting the
STARS_WEIGHTSto0.75. - Creating a PR for @ZjzMisaka ranking suggestions (see https://github.com/anuraghazra/github-readme-stats/issues/2265#issuecomment-1320908160). Also document the new ranking in the readme.
- Create a PR for #2157.
However, since this affects all users I also want to have @anuraghazra's opinion.
In which case we could give everyone an S++++? You see what I'm saying?
Yes. This is difficult confused @rickstaa thoughts?
My vote is with the gaming rank system proposed by @ZjzMisaka (see #2265 (comment)). I think that system togheter with a hover that explains the score solves our problems (see #2157). @anuraghazra what do you think?
Sure, that works. Can you add hover text to SVGs though?
It appears so (see https://stackoverflow.com/questions/41768657/display-text-over-svg-element-on-hover). I also was surprised; I didn't test it out yet. sweat_smile
That would be in HTML, yes? I doubt you can do that with GRS though, since the application returns an SVG image, and not an SVG image embedded in an HTML page. It's obviously great if you can do that, but even if it works in the browser, I doubt it will work in other places like GitHub READMEs.
I support your conclusion. 🤔 I, however, did not test this out. Anyway, I would likely wait for #1633 to be implemented before trying to see if a hover works on the README. This proposal will improve our codebase a lot.
Hey there I joined some days ago in this cool project. Is this feature going to be implemented after all?
Hey there I joined some days ago in this cool project. Is this feature going to be implemented after all?
I am in favour of merging #1186 since it is more balanced (see https://github.com/anuraghazra/github-readme-stats/pull/1186#issuecomment-1382458487). I, however, would like to have @anuraghazra's opinion before making such a breaking change. After the rank calculation is fixed, we can then change the ranking system.
Here is some suggestions of Ranking System v2, copied from https://github.com/anuraghazra/github-readme-stats/pull/1186#issuecomment-1556622639
The new system is good, but I'd like to express my personal opinion. I believe that a grading system with only S, A, B tiers is not very good, because people might unconsciously believe that there exist tiers like C, D, F. I've previously stated that a "grading system that satisfies everyone" could ultimately lose its reference value, and the meaning represented by the rank "B" could eventually become the new F.
I trust that people's spirits are not so fragile that they cannot face their own grades, and even lower grades can serve as motivation for personal growth. We don't have to view this system as competitive ranking, instead, we can try to understand this system as a measure of a developer's "growth from the initial state". If we really don't want the grade F to appear, we could use a format like Lv1, Lv2, Lv3... and so forth.
or, if you're willing, you can also consider the content mentioned in the https://github.com/anuraghazra/github-readme-stats/issues/2265#issuecomment-1320902200
#2265 (comment)
@ZjzMisaka thanks for including your comment here. My preference is still with https://github.com/anuraghazra/github-readme-stats/issues/2265#issuecomment-1320902200 👍🏻.